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.letter.common; 018 019import com.echothree.control.user.letter.common.form.*; 020import com.echothree.model.data.user.common.pk.UserVisitPK; 021import com.echothree.util.common.command.CommandResult; 022 023public interface LetterService 024 extends LetterForms { 025 026 // ------------------------------------------------------------------------- 027 // Testing 028 // ------------------------------------------------------------------------- 029 030 String ping(); 031 032 // -------------------------------------------------------------------------------- 033 // Letter Sources 034 // -------------------------------------------------------------------------------- 035 036 CommandResult createLetterSource(UserVisitPK userVisitPK, CreateLetterSourceForm form); 037 038 CommandResult getLetterSourceChoices(UserVisitPK userVisitPK, GetLetterSourceChoicesForm form); 039 040 CommandResult getLetterSource(UserVisitPK userVisitPK, GetLetterSourceForm form); 041 042 CommandResult getLetterSources(UserVisitPK userVisitPK, GetLetterSourcesForm form); 043 044 CommandResult setDefaultLetterSource(UserVisitPK userVisitPK, SetDefaultLetterSourceForm form); 045 046 CommandResult editLetterSource(UserVisitPK userVisitPK, EditLetterSourceForm form); 047 048 CommandResult deleteLetterSource(UserVisitPK userVisitPK, DeleteLetterSourceForm form); 049 050 // -------------------------------------------------------------------------------- 051 // Letter Source Descriptions 052 // -------------------------------------------------------------------------------- 053 054 CommandResult createLetterSourceDescription(UserVisitPK userVisitPK, CreateLetterSourceDescriptionForm form); 055 056 CommandResult getLetterSourceDescriptions(UserVisitPK userVisitPK, GetLetterSourceDescriptionsForm form); 057 058 CommandResult editLetterSourceDescription(UserVisitPK userVisitPK, EditLetterSourceDescriptionForm form); 059 060 CommandResult deleteLetterSourceDescription(UserVisitPK userVisitPK, DeleteLetterSourceDescriptionForm form); 061 062 // -------------------------------------------------------------------------------- 063 // Letters 064 // -------------------------------------------------------------------------------- 065 066 CommandResult createLetter(UserVisitPK userVisitPK, CreateLetterForm form); 067 068 CommandResult getLetterChoices(UserVisitPK userVisitPK, GetLetterChoicesForm form); 069 070 CommandResult getLetter(UserVisitPK userVisitPK, GetLetterForm form); 071 072 CommandResult getLetters(UserVisitPK userVisitPK, GetLettersForm form); 073 074 CommandResult setDefaultLetter(UserVisitPK userVisitPK, SetDefaultLetterForm form); 075 076 CommandResult editLetter(UserVisitPK userVisitPK, EditLetterForm form); 077 078 CommandResult deleteLetter(UserVisitPK userVisitPK, DeleteLetterForm form); 079 080 // -------------------------------------------------------------------------------- 081 // Letter Descriptions 082 // -------------------------------------------------------------------------------- 083 084 CommandResult createLetterDescription(UserVisitPK userVisitPK, CreateLetterDescriptionForm form); 085 086 CommandResult getLetterDescriptions(UserVisitPK userVisitPK, GetLetterDescriptionsForm form); 087 088 CommandResult editLetterDescription(UserVisitPK userVisitPK, EditLetterDescriptionForm form); 089 090 CommandResult deleteLetterDescription(UserVisitPK userVisitPK, DeleteLetterDescriptionForm form); 091 092 // -------------------------------------------------------------------------------- 093 // Letter Contact Mechanism Purposes 094 // -------------------------------------------------------------------------------- 095 096 CommandResult createLetterContactMechanismPurpose(UserVisitPK userVisitPK, CreateLetterContactMechanismPurposeForm form); 097 098 CommandResult getLetterContactMechanismPurposes(UserVisitPK userVisitPK, GetLetterContactMechanismPurposesForm form); 099 100 CommandResult editLetterContactMechanismPurpose(UserVisitPK userVisitPK, EditLetterContactMechanismPurposeForm form); 101 102 CommandResult deleteLetterContactMechanismPurpose(UserVisitPK userVisitPK, DeleteLetterContactMechanismPurposeForm form); 103 104 // -------------------------------------------------------------------------------- 105 // Queued Letters 106 // -------------------------------------------------------------------------------- 107 108 CommandResult getQueuedLetter(UserVisitPK userVisitPK, GetQueuedLetterForm form); 109 110 CommandResult getQueuedLetters(UserVisitPK userVisitPK, GetQueuedLettersForm form); 111 112 CommandResult deleteQueuedLetter(UserVisitPK userVisitPK, DeleteQueuedLetterForm form); 113 114}