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.security.common;
018
019import com.echothree.control.user.security.common.form.*;
020import com.echothree.control.user.security.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 SecurityService
026        extends SecurityForms {
027    
028    // -------------------------------------------------------------------------
029    //   Testing
030    // -------------------------------------------------------------------------
031    
032    String ping();
033    
034    // --------------------------------------------------------------------------------
035    //   Security Role Groups
036    // --------------------------------------------------------------------------------
037    
038    CommandResult<CreateSecurityRoleGroupResult> createSecurityRoleGroup(UserVisitPK userVisitPK, CreateSecurityRoleGroupForm form);
039    
040    CommandResult<GetSecurityRoleGroupChoicesResult> getSecurityRoleGroupChoices(UserVisitPK userVisitPK, GetSecurityRoleGroupChoicesForm form);
041    
042    CommandResult<GetSecurityRoleGroupResult> getSecurityRoleGroup(UserVisitPK userVisitPK, GetSecurityRoleGroupForm form);
043    
044    CommandResult<GetSecurityRoleGroupsResult> getSecurityRoleGroups(UserVisitPK userVisitPK, GetSecurityRoleGroupsForm form);
045    
046    CommandResult<VoidResult> setDefaultSecurityRoleGroup(UserVisitPK userVisitPK, SetDefaultSecurityRoleGroupForm form);
047    
048    CommandResult<EditSecurityRoleGroupResult> editSecurityRoleGroup(UserVisitPK userVisitPK, EditSecurityRoleGroupForm form);
049    
050    CommandResult<VoidResult> deleteSecurityRoleGroup(UserVisitPK userVisitPK, DeleteSecurityRoleGroupForm form);
051    
052    // --------------------------------------------------------------------------------
053    //   Security Role Group Descriptions
054    // --------------------------------------------------------------------------------
055    
056    CommandResult<VoidResult> createSecurityRoleGroupDescription(UserVisitPK userVisitPK, CreateSecurityRoleGroupDescriptionForm form);
057    
058    CommandResult<GetSecurityRoleGroupDescriptionResult> getSecurityRoleGroupDescription(UserVisitPK userVisitPK, GetSecurityRoleGroupDescriptionForm form);
059    
060    CommandResult<GetSecurityRoleGroupDescriptionsResult> getSecurityRoleGroupDescriptions(UserVisitPK userVisitPK, GetSecurityRoleGroupDescriptionsForm form);
061    
062    CommandResult<EditSecurityRoleGroupDescriptionResult> editSecurityRoleGroupDescription(UserVisitPK userVisitPK, EditSecurityRoleGroupDescriptionForm form);
063    
064    CommandResult<VoidResult> deleteSecurityRoleGroupDescription(UserVisitPK userVisitPK, DeleteSecurityRoleGroupDescriptionForm form);
065    
066    // -------------------------------------------------------------------------
067    //   Security Roles
068    // -------------------------------------------------------------------------
069    
070    CommandResult<CheckSecurityRolesResult> checkSecurityRoles(UserVisitPK userVisitPK, CheckSecurityRolesForm form);
071    
072    CommandResult<CreateSecurityRoleResult> createSecurityRole(UserVisitPK userVisitPK, CreateSecurityRoleForm form);
073    
074    CommandResult<GetSecurityRolesResult> getSecurityRoles(UserVisitPK userVisitPK, GetSecurityRolesForm form);
075    
076    CommandResult<GetSecurityRoleResult> getSecurityRole(UserVisitPK userVisitPK, GetSecurityRoleForm form);
077    
078    CommandResult<GetSecurityRoleChoicesResult> getSecurityRoleChoices(UserVisitPK userVisitPK, GetSecurityRoleChoicesForm form);
079    
080    CommandResult<VoidResult> setDefaultSecurityRole(UserVisitPK userVisitPK, SetDefaultSecurityRoleForm form);
081    
082    CommandResult<EditSecurityRoleResult> editSecurityRole(UserVisitPK userVisitPK, EditSecurityRoleForm form);
083    
084    CommandResult<VoidResult> deleteSecurityRole(UserVisitPK userVisitPK, DeleteSecurityRoleForm form);
085    
086    // -------------------------------------------------------------------------
087    //   Security Role Descriptions
088    // -------------------------------------------------------------------------
089    
090    CommandResult<VoidResult> createSecurityRoleDescription(UserVisitPK userVisitPK, CreateSecurityRoleDescriptionForm form);
091    
092    CommandResult<GetSecurityRoleDescriptionResult> getSecurityRoleDescription(UserVisitPK userVisitPK, GetSecurityRoleDescriptionForm form);
093    
094    CommandResult<GetSecurityRoleDescriptionsResult> getSecurityRoleDescriptions(UserVisitPK userVisitPK, GetSecurityRoleDescriptionsForm form);
095    
096    CommandResult<EditSecurityRoleDescriptionResult> editSecurityRoleDescription(UserVisitPK userVisitPK, EditSecurityRoleDescriptionForm form);
097    
098    CommandResult<VoidResult> deleteSecurityRoleDescription(UserVisitPK userVisitPK, DeleteSecurityRoleDescriptionForm form);
099    
100    // -------------------------------------------------------------------------
101    //   Security Role Party Types
102    // -------------------------------------------------------------------------
103    
104    CommandResult<VoidResult> createSecurityRolePartyType(UserVisitPK userVisitPK, CreateSecurityRolePartyTypeForm form);
105    
106    CommandResult<GetSecurityRolePartyTypesResult> getSecurityRolePartyTypes(UserVisitPK userVisitPK, GetSecurityRolePartyTypesForm form);
107    
108    CommandResult<GetSecurityRolePartyTypeResult> getSecurityRolePartyType(UserVisitPK userVisitPK, GetSecurityRolePartyTypeForm form);
109    
110    CommandResult<EditSecurityRolePartyTypeResult> editSecurityRolePartyType(UserVisitPK userVisitPK, EditSecurityRolePartyTypeForm form);
111    
112    CommandResult<VoidResult> deleteSecurityRolePartyType(UserVisitPK userVisitPK, DeleteSecurityRolePartyTypeForm form);
113    
114    // -------------------------------------------------------------------------
115    //   Party Security Role Templates
116    // -------------------------------------------------------------------------
117    
118    CommandResult<VoidResult> createPartySecurityRoleTemplate(UserVisitPK userVisitPK, CreatePartySecurityRoleTemplateForm form);
119    
120    CommandResult<GetPartySecurityRoleTemplateResult> getPartySecurityRoleTemplate(UserVisitPK userVisitPK, GetPartySecurityRoleTemplateForm form);
121    
122    CommandResult<GetPartySecurityRoleTemplatesResult> getPartySecurityRoleTemplates(UserVisitPK userVisitPK, GetPartySecurityRoleTemplatesForm form);
123    
124    CommandResult<GetPartySecurityRoleTemplateChoicesResult> getPartySecurityRoleTemplateChoices(UserVisitPK userVisitPK, GetPartySecurityRoleTemplateChoicesForm form);
125    
126    CommandResult<VoidResult> setDefaultPartySecurityRoleTemplate(UserVisitPK userVisitPK, SetDefaultPartySecurityRoleTemplateForm form);
127    
128    CommandResult<EditPartySecurityRoleTemplateResult> editPartySecurityRoleTemplate(UserVisitPK userVisitPK, EditPartySecurityRoleTemplateForm form);
129    
130    CommandResult<VoidResult> deletePartySecurityRoleTemplate(UserVisitPK userVisitPK, DeletePartySecurityRoleTemplateForm form);
131    
132    // -------------------------------------------------------------------------
133    //   Party Security Role Template Descriptions
134    // -------------------------------------------------------------------------
135    
136    CommandResult<VoidResult> createPartySecurityRoleTemplateDescription(UserVisitPK userVisitPK, CreatePartySecurityRoleTemplateDescriptionForm form);
137    
138    CommandResult<GetPartySecurityRoleTemplateDescriptionResult> getPartySecurityRoleTemplateDescription(UserVisitPK userVisitPK, GetPartySecurityRoleTemplateDescriptionForm form);
139    
140    CommandResult<GetPartySecurityRoleTemplateDescriptionsResult> getPartySecurityRoleTemplateDescriptions(UserVisitPK userVisitPK, GetPartySecurityRoleTemplateDescriptionsForm form);
141    
142    CommandResult<EditPartySecurityRoleTemplateDescriptionResult> editPartySecurityRoleTemplateDescription(UserVisitPK userVisitPK, EditPartySecurityRoleTemplateDescriptionForm form);
143    
144    CommandResult<VoidResult> deletePartySecurityRoleTemplateDescription(UserVisitPK userVisitPK, DeletePartySecurityRoleTemplateDescriptionForm form);
145    
146    // -------------------------------------------------------------------------
147    //   Party Security Role Template Roles
148    // -------------------------------------------------------------------------
149    
150    CommandResult<VoidResult> createPartySecurityRoleTemplateRole(UserVisitPK userVisitPK, CreatePartySecurityRoleTemplateRoleForm form);
151    
152    CommandResult<GetPartySecurityRoleTemplateRoleResult> getPartySecurityRoleTemplateRole(UserVisitPK userVisitPK, GetPartySecurityRoleTemplateRoleForm form);
153    
154    CommandResult<GetPartySecurityRoleTemplateRolesResult> getPartySecurityRoleTemplateRoles(UserVisitPK userVisitPK, GetPartySecurityRoleTemplateRolesForm form);
155    
156    CommandResult<VoidResult> deletePartySecurityRoleTemplateRole(UserVisitPK userVisitPK, DeletePartySecurityRoleTemplateRoleForm form);
157    
158    // -------------------------------------------------------------------------
159    //   Party Security Role Template Training Classes
160    // -------------------------------------------------------------------------
161    
162    CommandResult<VoidResult> createPartySecurityRoleTemplateTrainingClass(UserVisitPK userVisitPK, CreatePartySecurityRoleTemplateTrainingClassForm form);
163    
164    CommandResult<GetPartySecurityRoleTemplateTrainingClassResult> getPartySecurityRoleTemplateTrainingClass(UserVisitPK userVisitPK, GetPartySecurityRoleTemplateTrainingClassForm form);
165    
166    CommandResult<GetPartySecurityRoleTemplateTrainingClassesResult> getPartySecurityRoleTemplateTrainingClasses(UserVisitPK userVisitPK, GetPartySecurityRoleTemplateTrainingClassesForm form);
167    
168    CommandResult<VoidResult> deletePartySecurityRoleTemplateTrainingClass(UserVisitPK userVisitPK, DeletePartySecurityRoleTemplateTrainingClassForm form);
169    
170}