001// --------------------------------------------------------------------------------
002// Copyright 2002-2024 Echo Three, LLC
003//
004// Licensed under the Apache License, Version 2.0 (the "License");
005// you may not use this file except in compliance with the License.
006// You may obtain a copy of the License at
007//
008//     http://www.apache.org/licenses/LICENSE-2.0
009//
010// Unless required by applicable law or agreed to in writing, software
011// distributed under the License is distributed on an "AS IS" BASIS,
012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013// See the License for the specific language governing permissions and
014// limitations under the License.
015// --------------------------------------------------------------------------------
016
017package com.echothree.control.user.document.common;
018
019import com.echothree.control.user.document.common.form.*;
020import com.echothree.model.data.user.common.pk.UserVisitPK;
021import com.echothree.util.common.command.CommandResult;
022
023public interface DocumentService
024        extends DocumentForms {
025    
026    // -------------------------------------------------------------------------
027    //   Testing
028    // -------------------------------------------------------------------------
029    
030    String ping();
031    
032    // --------------------------------------------------------------------------------
033    //   Document Types
034    // --------------------------------------------------------------------------------
035
036    CommandResult createDocumentType(UserVisitPK userVisitPK, CreateDocumentTypeForm form);
037
038    CommandResult getDocumentTypeChoices(UserVisitPK userVisitPK, GetDocumentTypeChoicesForm form);
039
040    CommandResult getDocumentType(UserVisitPK userVisitPK, GetDocumentTypeForm form);
041
042    CommandResult getDocumentTypes(UserVisitPK userVisitPK, GetDocumentTypesForm form);
043
044    CommandResult setDefaultDocumentType(UserVisitPK userVisitPK, SetDefaultDocumentTypeForm form);
045
046    CommandResult editDocumentType(UserVisitPK userVisitPK, EditDocumentTypeForm form);
047
048    CommandResult deleteDocumentType(UserVisitPK userVisitPK, DeleteDocumentTypeForm form);
049
050    // --------------------------------------------------------------------------------
051    //   Document Type Descriptions
052    // --------------------------------------------------------------------------------
053
054    CommandResult createDocumentTypeDescription(UserVisitPK userVisitPK, CreateDocumentTypeDescriptionForm form);
055
056    CommandResult getDocumentTypeDescription(UserVisitPK userVisitPK, GetDocumentTypeDescriptionForm form);
057
058    CommandResult getDocumentTypeDescriptions(UserVisitPK userVisitPK, GetDocumentTypeDescriptionsForm form);
059
060    CommandResult editDocumentTypeDescription(UserVisitPK userVisitPK, EditDocumentTypeDescriptionForm form);
061
062    CommandResult deleteDocumentTypeDescription(UserVisitPK userVisitPK, DeleteDocumentTypeDescriptionForm form);
063
064    // --------------------------------------------------------------------------------
065    //   Document Type Usage Types
066    // --------------------------------------------------------------------------------
067
068    CommandResult createDocumentTypeUsageType(UserVisitPK userVisitPK, CreateDocumentTypeUsageTypeForm form);
069
070    CommandResult getDocumentTypeUsageTypeChoices(UserVisitPK userVisitPK, GetDocumentTypeUsageTypeChoicesForm form);
071
072    CommandResult getDocumentTypeUsageType(UserVisitPK userVisitPK, GetDocumentTypeUsageTypeForm form);
073
074    CommandResult getDocumentTypeUsageTypes(UserVisitPK userVisitPK, GetDocumentTypeUsageTypesForm form);
075
076    CommandResult setDefaultDocumentTypeUsageType(UserVisitPK userVisitPK, SetDefaultDocumentTypeUsageTypeForm form);
077
078    CommandResult editDocumentTypeUsageType(UserVisitPK userVisitPK, EditDocumentTypeUsageTypeForm form);
079
080    CommandResult deleteDocumentTypeUsageType(UserVisitPK userVisitPK, DeleteDocumentTypeUsageTypeForm form);
081
082    // --------------------------------------------------------------------------------
083    //   Document Type Usage Type Descriptions
084    // --------------------------------------------------------------------------------
085
086    CommandResult createDocumentTypeUsageTypeDescription(UserVisitPK userVisitPK, CreateDocumentTypeUsageTypeDescriptionForm form);
087
088    CommandResult getDocumentTypeUsageTypeDescription(UserVisitPK userVisitPK, GetDocumentTypeUsageTypeDescriptionForm form);
089
090    CommandResult getDocumentTypeUsageTypeDescriptions(UserVisitPK userVisitPK, GetDocumentTypeUsageTypeDescriptionsForm form);
091
092    CommandResult editDocumentTypeUsageTypeDescription(UserVisitPK userVisitPK, EditDocumentTypeUsageTypeDescriptionForm form);
093
094    CommandResult deleteDocumentTypeUsageTypeDescription(UserVisitPK userVisitPK, DeleteDocumentTypeUsageTypeDescriptionForm form);
095
096    // --------------------------------------------------------------------------------
097    //   Document Type Usage Descriptions
098    // --------------------------------------------------------------------------------
099
100    CommandResult createDocumentTypeUsage(UserVisitPK userVisitPK, CreateDocumentTypeUsageForm form);
101
102    CommandResult getDocumentTypeUsage(UserVisitPK userVisitPK, GetDocumentTypeUsageForm form);
103
104    CommandResult getDocumentTypeUsages(UserVisitPK userVisitPK, GetDocumentTypeUsagesForm form);
105
106    CommandResult setDefaultDocumentTypeUsage(UserVisitPK userVisitPK, SetDefaultDocumentTypeUsageForm form);
107
108    CommandResult editDocumentTypeUsage(UserVisitPK userVisitPK, EditDocumentTypeUsageForm form);
109
110    CommandResult deleteDocumentTypeUsage(UserVisitPK userVisitPK, DeleteDocumentTypeUsageForm form);
111
112    // --------------------------------------------------------------------------------
113    //   Party Type Document Type Usage Types
114    // --------------------------------------------------------------------------------
115
116    CommandResult createPartyTypeDocumentTypeUsageType(UserVisitPK userVisitPK, CreatePartyTypeDocumentTypeUsageTypeForm form);
117
118    CommandResult getPartyTypeDocumentTypeUsageType(UserVisitPK userVisitPK, GetPartyTypeDocumentTypeUsageTypeForm form);
119
120    CommandResult getPartyTypeDocumentTypeUsageTypes(UserVisitPK userVisitPK, GetPartyTypeDocumentTypeUsageTypesForm form);
121
122    CommandResult setDefaultPartyTypeDocumentTypeUsageType(UserVisitPK userVisitPK, SetDefaultPartyTypeDocumentTypeUsageTypeForm form);
123
124    CommandResult editPartyTypeDocumentTypeUsageType(UserVisitPK userVisitPK, EditPartyTypeDocumentTypeUsageTypeForm form);
125
126    CommandResult deletePartyTypeDocumentTypeUsageType(UserVisitPK userVisitPK, DeletePartyTypeDocumentTypeUsageTypeForm form);
127
128    // --------------------------------------------------------------------------------
129    //   Party Documents
130    // --------------------------------------------------------------------------------
131
132    CommandResult createPartyDocument(UserVisitPK userVisitPK, CreatePartyDocumentForm form);
133
134    CommandResult getPartyDocument(UserVisitPK userVisitPK, GetPartyDocumentForm form);
135
136    CommandResult getPartyDocuments(UserVisitPK userVisitPK, GetPartyDocumentsForm form);
137
138    CommandResult setDefaultPartyDocument(UserVisitPK userVisitPK, SetDefaultPartyDocumentForm form);
139
140    CommandResult editPartyDocument(UserVisitPK userVisitPK, EditPartyDocumentForm form);
141
142    CommandResult deletePartyDocument(UserVisitPK userVisitPK, DeletePartyDocumentForm form);
143
144    // --------------------------------------------------------------------------------
145    //   Document Descriptions
146    // --------------------------------------------------------------------------------
147
148    CommandResult createDocumentDescription(UserVisitPK userVisitPK, CreateDocumentDescriptionForm form);
149
150    CommandResult getDocumentDescription(UserVisitPK userVisitPK, GetDocumentDescriptionForm form);
151
152    CommandResult getDocumentDescriptions(UserVisitPK userVisitPK, GetDocumentDescriptionsForm form);
153
154    CommandResult editDocumentDescription(UserVisitPK userVisitPK, EditDocumentDescriptionForm form);
155
156    CommandResult deleteDocumentDescription(UserVisitPK userVisitPK, DeleteDocumentDescriptionForm form);
157
158}