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.campaign.common;
018
019import com.echothree.control.user.campaign.common.form.*;
020import com.echothree.control.user.campaign.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 CampaignService
026        extends CampaignForms {
027    
028    // -------------------------------------------------------------------------
029    //   Testing
030    // -------------------------------------------------------------------------
031    
032    String ping();
033    
034    // --------------------------------------------------------------------------------
035    //   Campaigns
036    // --------------------------------------------------------------------------------
037    
038    CommandResult<CreateCampaignResult> createCampaign(UserVisitPK userVisitPK, CreateCampaignForm form);
039    
040    CommandResult<GetCampaignChoicesResult> getCampaignChoices(UserVisitPK userVisitPK, GetCampaignChoicesForm form);
041    
042    CommandResult<GetCampaignResult> getCampaign(UserVisitPK userVisitPK, GetCampaignForm form);
043    
044    CommandResult<GetCampaignsResult> getCampaigns(UserVisitPK userVisitPK, GetCampaignsForm form);
045    
046    CommandResult<VoidResult> setDefaultCampaign(UserVisitPK userVisitPK, SetDefaultCampaignForm form);
047    
048    CommandResult<GetCampaignStatusChoicesResult> getCampaignStatusChoices(UserVisitPK userVisitPK, GetCampaignStatusChoicesForm form);
049    
050    CommandResult<VoidResult> setCampaignStatus(UserVisitPK userVisitPK, SetCampaignStatusForm form);
051    
052    CommandResult<EditCampaignResult> editCampaign(UserVisitPK userVisitPK, EditCampaignForm form);
053    
054    CommandResult<VoidResult> deleteCampaign(UserVisitPK userVisitPK, DeleteCampaignForm form);
055    
056    // --------------------------------------------------------------------------------
057    //   Campaign Descriptions
058    // --------------------------------------------------------------------------------
059    
060    CommandResult<VoidResult> createCampaignDescription(UserVisitPK userVisitPK, CreateCampaignDescriptionForm form);
061    
062    CommandResult<GetCampaignDescriptionResult> getCampaignDescription(UserVisitPK userVisitPK, GetCampaignDescriptionForm form);
063    
064    CommandResult<GetCampaignDescriptionsResult> getCampaignDescriptions(UserVisitPK userVisitPK, GetCampaignDescriptionsForm form);
065    
066    CommandResult<EditCampaignDescriptionResult> editCampaignDescription(UserVisitPK userVisitPK, EditCampaignDescriptionForm form);
067    
068    CommandResult<VoidResult> deleteCampaignDescription(UserVisitPK userVisitPK, DeleteCampaignDescriptionForm form);
069    
070    // --------------------------------------------------------------------------------
071    //   Campaign Sources
072    // --------------------------------------------------------------------------------
073    
074    CommandResult<CreateCampaignSourceResult> createCampaignSource(UserVisitPK userVisitPK, CreateCampaignSourceForm form);
075    
076    CommandResult<GetCampaignSourceChoicesResult> getCampaignSourceChoices(UserVisitPK userVisitPK, GetCampaignSourceChoicesForm form);
077    
078    CommandResult<GetCampaignSourceResult> getCampaignSource(UserVisitPK userVisitPK, GetCampaignSourceForm form);
079    
080    CommandResult<GetCampaignSourcesResult> getCampaignSources(UserVisitPK userVisitPK, GetCampaignSourcesForm form);
081    
082    CommandResult<VoidResult> setDefaultCampaignSource(UserVisitPK userVisitPK, SetDefaultCampaignSourceForm form);
083    
084    CommandResult<GetCampaignSourceStatusChoicesResult> getCampaignSourceStatusChoices(UserVisitPK userVisitPK, GetCampaignSourceStatusChoicesForm form);
085    
086    CommandResult<VoidResult> setCampaignSourceStatus(UserVisitPK userVisitPK, SetCampaignSourceStatusForm form);
087    
088    CommandResult<EditCampaignSourceResult> editCampaignSource(UserVisitPK userVisitPK, EditCampaignSourceForm form);
089    
090    CommandResult<VoidResult> deleteCampaignSource(UserVisitPK userVisitPK, DeleteCampaignSourceForm form);
091    
092    // --------------------------------------------------------------------------------
093    //   Campaign Source Descriptions
094    // --------------------------------------------------------------------------------
095    
096    CommandResult<VoidResult> createCampaignSourceDescription(UserVisitPK userVisitPK, CreateCampaignSourceDescriptionForm form);
097    
098    CommandResult<GetCampaignSourceDescriptionResult> getCampaignSourceDescription(UserVisitPK userVisitPK, GetCampaignSourceDescriptionForm form);
099    
100    CommandResult<GetCampaignSourceDescriptionsResult> getCampaignSourceDescriptions(UserVisitPK userVisitPK, GetCampaignSourceDescriptionsForm form);
101    
102    CommandResult<EditCampaignSourceDescriptionResult> editCampaignSourceDescription(UserVisitPK userVisitPK, EditCampaignSourceDescriptionForm form);
103    
104    CommandResult<VoidResult> deleteCampaignSourceDescription(UserVisitPK userVisitPK, DeleteCampaignSourceDescriptionForm form);
105    
106    // --------------------------------------------------------------------------------
107    //   Campaign Mediums
108    // --------------------------------------------------------------------------------
109    
110    CommandResult<CreateCampaignMediumResult> createCampaignMedium(UserVisitPK userVisitPK, CreateCampaignMediumForm form);
111    
112    CommandResult<GetCampaignMediumChoicesResult> getCampaignMediumChoices(UserVisitPK userVisitPK, GetCampaignMediumChoicesForm form);
113    
114    CommandResult<GetCampaignMediumResult> getCampaignMedium(UserVisitPK userVisitPK, GetCampaignMediumForm form);
115    
116    CommandResult<GetCampaignMediumsResult> getCampaignMediums(UserVisitPK userVisitPK, GetCampaignMediumsForm form);
117    
118    CommandResult<VoidResult> setDefaultCampaignMedium(UserVisitPK userVisitPK, SetDefaultCampaignMediumForm form);
119    
120    CommandResult<GetCampaignMediumStatusChoicesResult> getCampaignMediumStatusChoices(UserVisitPK userVisitPK, GetCampaignMediumStatusChoicesForm form);
121    
122    CommandResult<VoidResult> setCampaignMediumStatus(UserVisitPK userVisitPK, SetCampaignMediumStatusForm form);
123    
124    CommandResult<EditCampaignMediumResult> editCampaignMedium(UserVisitPK userVisitPK, EditCampaignMediumForm form);
125    
126    CommandResult<VoidResult> deleteCampaignMedium(UserVisitPK userVisitPK, DeleteCampaignMediumForm form);
127    
128    // --------------------------------------------------------------------------------
129    //   Campaign Medium Descriptions
130    // --------------------------------------------------------------------------------
131    
132    CommandResult<VoidResult> createCampaignMediumDescription(UserVisitPK userVisitPK, CreateCampaignMediumDescriptionForm form);
133    
134    CommandResult<GetCampaignMediumDescriptionResult> getCampaignMediumDescription(UserVisitPK userVisitPK, GetCampaignMediumDescriptionForm form);
135    
136    CommandResult<GetCampaignMediumDescriptionsResult> getCampaignMediumDescriptions(UserVisitPK userVisitPK, GetCampaignMediumDescriptionsForm form);
137    
138    CommandResult<EditCampaignMediumDescriptionResult> editCampaignMediumDescription(UserVisitPK userVisitPK, EditCampaignMediumDescriptionForm form);
139    
140    CommandResult<VoidResult> deleteCampaignMediumDescription(UserVisitPK userVisitPK, DeleteCampaignMediumDescriptionForm form);
141    
142    // --------------------------------------------------------------------------------
143    //   Campaign Terms
144    // --------------------------------------------------------------------------------
145    
146    CommandResult<CreateCampaignTermResult> createCampaignTerm(UserVisitPK userVisitPK, CreateCampaignTermForm form);
147    
148    CommandResult<GetCampaignTermChoicesResult> getCampaignTermChoices(UserVisitPK userVisitPK, GetCampaignTermChoicesForm form);
149    
150    CommandResult<GetCampaignTermResult> getCampaignTerm(UserVisitPK userVisitPK, GetCampaignTermForm form);
151    
152    CommandResult<GetCampaignTermsResult> getCampaignTerms(UserVisitPK userVisitPK, GetCampaignTermsForm form);
153    
154    CommandResult<VoidResult> setDefaultCampaignTerm(UserVisitPK userVisitPK, SetDefaultCampaignTermForm form);
155    
156    CommandResult<GetCampaignTermStatusChoicesResult> getCampaignTermStatusChoices(UserVisitPK userVisitPK, GetCampaignTermStatusChoicesForm form);
157    
158    CommandResult<VoidResult> setCampaignTermStatus(UserVisitPK userVisitPK, SetCampaignTermStatusForm form);
159    
160    CommandResult<EditCampaignTermResult> editCampaignTerm(UserVisitPK userVisitPK, EditCampaignTermForm form);
161    
162    CommandResult<VoidResult> deleteCampaignTerm(UserVisitPK userVisitPK, DeleteCampaignTermForm form);
163    
164    // --------------------------------------------------------------------------------
165    //   Campaign Term Descriptions
166    // --------------------------------------------------------------------------------
167    
168    CommandResult<VoidResult> createCampaignTermDescription(UserVisitPK userVisitPK, CreateCampaignTermDescriptionForm form);
169    
170    CommandResult<GetCampaignTermDescriptionResult> getCampaignTermDescription(UserVisitPK userVisitPK, GetCampaignTermDescriptionForm form);
171    
172    CommandResult<GetCampaignTermDescriptionsResult> getCampaignTermDescriptions(UserVisitPK userVisitPK, GetCampaignTermDescriptionsForm form);
173    
174    CommandResult<EditCampaignTermDescriptionResult> editCampaignTermDescription(UserVisitPK userVisitPK, EditCampaignTermDescriptionForm form);
175    
176    CommandResult<VoidResult> deleteCampaignTermDescription(UserVisitPK userVisitPK, DeleteCampaignTermDescriptionForm form);
177    
178    // --------------------------------------------------------------------------------
179    //   Campaign Contents
180    // --------------------------------------------------------------------------------
181    
182    CommandResult<CreateCampaignContentResult> createCampaignContent(UserVisitPK userVisitPK, CreateCampaignContentForm form);
183    
184    CommandResult<GetCampaignContentChoicesResult> getCampaignContentChoices(UserVisitPK userVisitPK, GetCampaignContentChoicesForm form);
185    
186    CommandResult<GetCampaignContentResult> getCampaignContent(UserVisitPK userVisitPK, GetCampaignContentForm form);
187    
188    CommandResult<GetCampaignContentsResult> getCampaignContents(UserVisitPK userVisitPK, GetCampaignContentsForm form);
189    
190    CommandResult<VoidResult> setDefaultCampaignContent(UserVisitPK userVisitPK, SetDefaultCampaignContentForm form);
191    
192    CommandResult<GetCampaignContentStatusChoicesResult> getCampaignContentStatusChoices(UserVisitPK userVisitPK, GetCampaignContentStatusChoicesForm form);
193    
194    CommandResult<VoidResult> setCampaignContentStatus(UserVisitPK userVisitPK, SetCampaignContentStatusForm form);
195    
196    CommandResult<EditCampaignContentResult> editCampaignContent(UserVisitPK userVisitPK, EditCampaignContentForm form);
197    
198    CommandResult<VoidResult> deleteCampaignContent(UserVisitPK userVisitPK, DeleteCampaignContentForm form);
199    
200    // --------------------------------------------------------------------------------
201    //   Campaign Content Descriptions
202    // --------------------------------------------------------------------------------
203    
204    CommandResult<VoidResult> createCampaignContentDescription(UserVisitPK userVisitPK, CreateCampaignContentDescriptionForm form);
205    
206    CommandResult<GetCampaignContentDescriptionResult> getCampaignContentDescription(UserVisitPK userVisitPK, GetCampaignContentDescriptionForm form);
207    
208    CommandResult<GetCampaignContentDescriptionsResult> getCampaignContentDescriptions(UserVisitPK userVisitPK, GetCampaignContentDescriptionsForm form);
209    
210    CommandResult<EditCampaignContentDescriptionResult> editCampaignContentDescription(UserVisitPK userVisitPK, EditCampaignContentDescriptionForm form);
211    
212    CommandResult<VoidResult> deleteCampaignContentDescription(UserVisitPK userVisitPK, DeleteCampaignContentDescriptionForm form);
213    
214    // --------------------------------------------------------------------------------
215    //   User Visit Tracks
216    // --------------------------------------------------------------------------------
217    
218    CommandResult<VoidResult> createUserVisitCampaign(UserVisitPK userVisitPK, CreateUserVisitCampaignForm form);
219    
220}