package p.packer;

import p.packer.messages.*;

public interface PackerWorkspaceService {
    InitWorkspaceResult initWorkspace(InitWorkspaceRequest request);

    ListAssetsResult listAssets(ListAssetsRequest request);

    GetAssetDetailsResult getAssetDetails(GetAssetDetailsRequest request);

    GetAssetActionsResult getAssetActions(GetAssetActionsRequest request);

    PackWorkspaceSummaryResult getPackWorkspaceSummary(PackWorkspaceSummaryRequest request);

    ValidatePackWorkspaceResult validatePackWorkspace(ValidatePackWorkspaceRequest request);

    PackWorkspaceResult packWorkspace(PackWorkspaceRequest request);

    CreateAssetResult createAsset(CreateAssetRequest request);

    RegisterAssetResult registerAsset(RegisterAssetRequest request);

    MoveAssetResult moveAsset(MoveAssetRequest request);

    DeleteAssetResult deleteAsset(DeleteAssetRequest request);

    UpdateAssetBuildParticipationResult updateAssetBuildParticipation(UpdateAssetBuildParticipationRequest request);

    UpdateAssetContractResponse updateAssetContract(UpdateAssetContractRequest request);

    ApplyBankCompositionResponse applyBankComposition(ApplyBankCompositionRequest request);

    ApplyPaletteOverhaulingResponse applyPaletteOverhauling(ApplyPaletteOverhaulingRequest request);
}
