001// --------------------------------------------------------------------------------
002// Copyright 2002-2026 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.warehouse.common;
018
019import com.echothree.control.user.warehouse.common.form.*;
020import com.echothree.control.user.warehouse.common.result.*;
021import com.echothree.model.data.user.common.pk.UserVisitPK;
022import com.echothree.util.common.command.CommandResult;
023import com.echothree.util.common.command.VoidResult;
024
025public interface WarehouseService
026        extends WarehouseForms {
027    
028    // -------------------------------------------------------------------------
029    //   Testing
030    // -------------------------------------------------------------------------
031    
032    String ping();
033    
034    // -------------------------------------------------------------------------
035    //   Location Use Types
036    // -------------------------------------------------------------------------
037    
038    CommandResult<VoidResult> createLocationUseType(UserVisitPK userVisitPK, CreateLocationUseTypeForm form);
039
040    CommandResult<GetLocationUseTypesResult> getLocationUseTypes(UserVisitPK userVisitPK, GetLocationUseTypesForm form);
041
042    CommandResult<GetLocationUseTypeResult> getLocationUseType(UserVisitPK userVisitPK, GetLocationUseTypeForm form);
043
044    CommandResult<GetLocationUseTypeChoicesResult> getLocationUseTypeChoices(UserVisitPK userVisitPK, GetLocationUseTypeChoicesForm form);
045    
046    // -------------------------------------------------------------------------
047    //   Location Use Type Descriptions
048    // -------------------------------------------------------------------------
049    
050    CommandResult<VoidResult> createLocationUseTypeDescription(UserVisitPK userVisitPK, CreateLocationUseTypeDescriptionForm form);
051
052    // -------------------------------------------------------------------------
053    //   WarehouseT ypes
054    // -------------------------------------------------------------------------
055
056    CommandResult<CreateWarehouseTypeResult> createWarehouseType(UserVisitPK userVisitPK, CreateWarehouseTypeForm form);
057
058    CommandResult<GetWarehouseTypesResult> getWarehouseTypes(UserVisitPK userVisitPK, GetWarehouseTypesForm form);
059
060    CommandResult<GetWarehouseTypeResult> getWarehouseType(UserVisitPK userVisitPK, GetWarehouseTypeForm form);
061
062    CommandResult<GetWarehouseTypeChoicesResult> getWarehouseTypeChoices(UserVisitPK userVisitPK, GetWarehouseTypeChoicesForm form);
063
064    CommandResult<VoidResult> setDefaultWarehouseType(UserVisitPK userVisitPK, SetDefaultWarehouseTypeForm form);
065
066    CommandResult<EditWarehouseTypeResult> editWarehouseType(UserVisitPK userVisitPK, EditWarehouseTypeForm form);
067
068    CommandResult<VoidResult> deleteWarehouseType(UserVisitPK userVisitPK, DeleteWarehouseTypeForm form);
069
070    // -------------------------------------------------------------------------
071    //   Warehouse Type Descriptions
072    // -------------------------------------------------------------------------
073
074    CommandResult<VoidResult> createWarehouseTypeDescription(UserVisitPK userVisitPK, CreateWarehouseTypeDescriptionForm form);
075
076    CommandResult<GetWarehouseTypeDescriptionsResult> getWarehouseTypeDescriptions(UserVisitPK userVisitPK, GetWarehouseTypeDescriptionsForm form);
077
078    CommandResult<GetWarehouseTypeDescriptionResult> getWarehouseTypeDescription(UserVisitPK userVisitPK, GetWarehouseTypeDescriptionForm form);
079
080    CommandResult<EditWarehouseTypeDescriptionResult> editWarehouseTypeDescription(UserVisitPK userVisitPK, EditWarehouseTypeDescriptionForm form);
081
082    CommandResult<VoidResult> deleteWarehouseTypeDescription(UserVisitPK userVisitPK, DeleteWarehouseTypeDescriptionForm form);
083
084    // -------------------------------------------------------------------------
085    //   Warehouses
086    // -------------------------------------------------------------------------
087    
088    CommandResult<CreateWarehouseResult> createWarehouse(UserVisitPK userVisitPK, CreateWarehouseForm form);
089    
090    CommandResult<GetWarehousesResult> getWarehouses(UserVisitPK userVisitPK, GetWarehousesForm form);
091    
092    CommandResult<GetWarehouseResult> getWarehouse(UserVisitPK userVisitPK, GetWarehouseForm form);
093    
094    CommandResult<GetWarehouseChoicesResult> getWarehouseChoices(UserVisitPK userVisitPK, GetWarehouseChoicesForm form);
095    
096    CommandResult<VoidResult> setDefaultWarehouse(UserVisitPK userVisitPK, SetDefaultWarehouseForm form);
097    
098    CommandResult<EditWarehouseResult> editWarehouse(UserVisitPK userVisitPK, EditWarehouseForm form);
099    
100    CommandResult<VoidResult> deleteWarehouse(UserVisitPK userVisitPK, DeleteWarehouseForm form);
101    
102    // -------------------------------------------------------------------------
103    //   Location Types
104    // -------------------------------------------------------------------------
105    
106    CommandResult<CreateLocationTypeResult> createLocationType(UserVisitPK userVisitPK, CreateLocationTypeForm form);
107    
108    CommandResult<GetLocationTypesResult> getLocationTypes(UserVisitPK userVisitPK, GetLocationTypesForm form);
109    
110    CommandResult<GetLocationTypeResult> getLocationType(UserVisitPK userVisitPK, GetLocationTypeForm form);
111    
112    CommandResult<GetLocationTypeChoicesResult> getLocationTypeChoices(UserVisitPK userVisitPK, GetLocationTypeChoicesForm form);
113    
114    CommandResult<VoidResult> setDefaultLocationType(UserVisitPK userVisitPK, SetDefaultLocationTypeForm form);
115    
116    CommandResult<EditLocationTypeResult> editLocationType(UserVisitPK userVisitPK, EditLocationTypeForm form);
117    
118    CommandResult<VoidResult> deleteLocationType(UserVisitPK userVisitPK, DeleteLocationTypeForm form);
119    
120    // -------------------------------------------------------------------------
121    //   Location Type Descriptions
122    // -------------------------------------------------------------------------
123    
124    CommandResult<VoidResult> createLocationTypeDescription(UserVisitPK userVisitPK, CreateLocationTypeDescriptionForm form);
125    
126    CommandResult<GetLocationTypeDescriptionsResult> getLocationTypeDescriptions(UserVisitPK userVisitPK, GetLocationTypeDescriptionsForm form);
127    
128    CommandResult<EditLocationTypeDescriptionResult> editLocationTypeDescription(UserVisitPK userVisitPK, EditLocationTypeDescriptionForm form);
129    
130    CommandResult<VoidResult> deleteLocationTypeDescription(UserVisitPK userVisitPK, DeleteLocationTypeDescriptionForm form);
131    
132    // -------------------------------------------------------------------------
133    //   Location Name Elements
134    // -------------------------------------------------------------------------
135    
136    CommandResult<CreateLocationNameElementResult> createLocationNameElement(UserVisitPK userVisitPK, CreateLocationNameElementForm form);
137    
138    CommandResult<GetLocationNameElementsResult> getLocationNameElements(UserVisitPK userVisitPK, GetLocationNameElementsForm form);
139
140    CommandResult<GetLocationNameElementResult> getLocationNameElement(UserVisitPK userVisitPK, GetLocationNameElementForm form);
141
142    CommandResult<EditLocationNameElementResult> editLocationNameElement(UserVisitPK userVisitPK, EditLocationNameElementForm form);
143    
144    CommandResult<VoidResult> deleteLocationNameElement(UserVisitPK userVisitPK, DeleteLocationNameElementForm form);
145    
146    // -------------------------------------------------------------------------
147    //   Location Name Element Descriptions
148    // -------------------------------------------------------------------------
149    
150    CommandResult<VoidResult> createLocationNameElementDescription(UserVisitPK userVisitPK, CreateLocationNameElementDescriptionForm form);
151    
152    CommandResult<GetLocationNameElementDescriptionsResult> getLocationNameElementDescriptions(UserVisitPK userVisitPK, GetLocationNameElementDescriptionsForm form);
153    
154    CommandResult<EditLocationNameElementDescriptionResult> editLocationNameElementDescription(UserVisitPK userVisitPK, EditLocationNameElementDescriptionForm form);
155    
156    CommandResult<VoidResult> deleteLocationNameElementDescription(UserVisitPK userVisitPK, DeleteLocationNameElementDescriptionForm form);
157    
158    // -------------------------------------------------------------------------
159    //   Locations
160    // -------------------------------------------------------------------------
161    
162    CommandResult<CreateLocationResult> createLocation(UserVisitPK userVisitPK, CreateLocationForm form);
163    
164    CommandResult<GetLocationsResult> getLocations(UserVisitPK userVisitPK, GetLocationsForm form);
165    
166    CommandResult<GetLocationResult> getLocation(UserVisitPK userVisitPK, GetLocationForm form);
167    
168    CommandResult<GetLocationChoicesResult> getLocationChoices(UserVisitPK userVisitPK, GetLocationChoicesForm form);
169    
170    CommandResult<GetLocationStatusChoicesResult> getLocationStatusChoices(UserVisitPK userVisitPK, GetLocationStatusChoicesForm form);
171    
172    CommandResult<VoidResult> setLocationStatus(UserVisitPK userVisitPK, SetLocationStatusForm form);
173    
174    CommandResult<EditLocationResult> editLocation(UserVisitPK userVisitPK, EditLocationForm form);
175    
176    CommandResult<VoidResult> deleteLocation(UserVisitPK userVisitPK, DeleteLocationForm form);
177    
178    // -------------------------------------------------------------------------
179    //   Location Descriptions
180    // -------------------------------------------------------------------------
181    
182    CommandResult<VoidResult> createLocationDescription(UserVisitPK userVisitPK, CreateLocationDescriptionForm form);
183    
184    CommandResult<GetLocationDescriptionsResult> getLocationDescriptions(UserVisitPK userVisitPK, GetLocationDescriptionsForm form);
185    
186    CommandResult<EditLocationDescriptionResult> editLocationDescription(UserVisitPK userVisitPK, EditLocationDescriptionForm form);
187    
188    CommandResult<VoidResult> deleteLocationDescription(UserVisitPK userVisitPK, DeleteLocationDescriptionForm form);
189    
190    // --------------------------------------------------------------------------------
191    //   Location Capacities
192    // --------------------------------------------------------------------------------
193    
194    CommandResult<VoidResult> createLocationCapacity(UserVisitPK userVisitPK, CreateLocationCapacityForm form);
195    
196    CommandResult<GetLocationCapacitiesResult> getLocationCapacities(UserVisitPK userVisitPK, GetLocationCapacitiesForm form);
197    
198    CommandResult<EditLocationCapacityResult> editLocationCapacity(UserVisitPK userVisitPK, EditLocationCapacityForm form);
199    
200    CommandResult<VoidResult> deleteLocationCapacity(UserVisitPK userVisitPK, DeleteLocationCapacityForm form);
201    
202    // --------------------------------------------------------------------------------
203    //   Location Volumes
204    // --------------------------------------------------------------------------------
205    
206    CommandResult<VoidResult> createLocationVolume(UserVisitPK userVisitPK, CreateLocationVolumeForm form);
207    
208    CommandResult<EditLocationVolumeResult> editLocationVolume(UserVisitPK userVisitPK, EditLocationVolumeForm form);
209    
210    CommandResult<VoidResult> deleteLocationVolume(UserVisitPK userVisitPK, DeleteLocationVolumeForm form);
211    
212}