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.workrequirement.common; 018 019import com.echothree.control.user.workrequirement.common.form.*; 020import com.echothree.control.user.workrequirement.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 WorkRequirementService 026 extends WorkRequirementForms { 027 028 // ------------------------------------------------------------------------- 029 // Work Requirement Types 030 // ------------------------------------------------------------------------- 031 032 CommandResult<VoidResult> createWorkRequirementType(UserVisitPK userVisitPK, CreateWorkRequirementTypeForm form); 033 034 CommandResult<GetWorkRequirementTypesResult> getWorkRequirementTypes(UserVisitPK userVisitPK, GetWorkRequirementTypesForm form); 035 036 CommandResult<GetWorkRequirementTypeResult> getWorkRequirementType(UserVisitPK userVisitPK, GetWorkRequirementTypeForm form); 037 038 CommandResult<VoidResult> deleteWorkRequirementType(UserVisitPK userVisitPK, DeleteWorkRequirementTypeForm form); 039 040 // ------------------------------------------------------------------------- 041 // Work Requirement Type Descriptions 042 // ------------------------------------------------------------------------- 043 044 CommandResult<VoidResult> createWorkRequirementTypeDescription(UserVisitPK userVisitPK, CreateWorkRequirementTypeDescriptionForm form); 045 046 CommandResult<GetWorkRequirementTypeDescriptionsResult> getWorkRequirementTypeDescriptions(UserVisitPK userVisitPK, GetWorkRequirementTypeDescriptionsForm form); 047 048 CommandResult<EditWorkRequirementTypeDescriptionResult> editWorkRequirementTypeDescription(UserVisitPK userVisitPK, EditWorkRequirementTypeDescriptionForm form); 049 050 CommandResult<VoidResult> deleteWorkRequirementTypeDescription(UserVisitPK userVisitPK, DeleteWorkRequirementTypeDescriptionForm form); 051 052 // ------------------------------------------------------------------------- 053 // Work Requirement Scopes 054 // ------------------------------------------------------------------------- 055 056 CommandResult<GetWorkRequirementScopesResult> getWorkRequirementScopes(UserVisitPK userVisitPK, GetWorkRequirementScopesForm form); 057 058 CommandResult<GetWorkRequirementScopeResult> getWorkRequirementScope(UserVisitPK userVisitPK, GetWorkRequirementScopeForm form); 059 060 // ------------------------------------------------------------------------- 061 // Work Requirements 062 // ------------------------------------------------------------------------- 063 064 CommandResult<GetWorkRequirementResult> getWorkRequirement(UserVisitPK userVisitPK, GetWorkRequirementForm form); 065 066 // ------------------------------------------------------------------------- 067 // Work Assignments 068 // ------------------------------------------------------------------------- 069 070 public CommandResult<GetWorkAssignmentsResult> getWorkAssignments(UserVisitPK userVisitPK, GetWorkAssignmentsForm form); 071 072 // ------------------------------------------------------------------------- 073 // Testing 074 // ------------------------------------------------------------------------- 075 076 String ping(); 077 078}