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.forum.common;
018
019import com.echothree.control.user.forum.common.form.*;
020import com.echothree.model.data.user.common.pk.UserVisitPK;
021import com.echothree.util.common.command.CommandResult;
022
023public interface ForumService
024        extends ForumForms {
025    
026    // -------------------------------------------------------------------------
027    //   Testing
028    // -------------------------------------------------------------------------
029    
030    String ping();
031    
032    // --------------------------------------------------------------------------------
033    //   Forum Groups
034    // --------------------------------------------------------------------------------
035    
036    CommandResult createForumGroup(UserVisitPK userVisitPK, CreateForumGroupForm form);
037    
038    CommandResult getForumGroup(UserVisitPK userVisitPK, GetForumGroupForm form);
039    
040    CommandResult getForumGroups(UserVisitPK userVisitPK, GetForumGroupsForm form);
041    
042    CommandResult getForumGroupChoices(UserVisitPK userVisitPK, GetForumGroupChoicesForm form);
043    
044    CommandResult editForumGroup(UserVisitPK userVisitPK, EditForumGroupForm form);
045    
046    CommandResult deleteForumGroup(UserVisitPK userVisitPK, DeleteForumGroupForm form);
047    
048    // --------------------------------------------------------------------------------
049    //   Forum Group Descriptions
050    // --------------------------------------------------------------------------------
051    
052    CommandResult createForumGroupDescription(UserVisitPK userVisitPK, CreateForumGroupDescriptionForm form);
053    
054    CommandResult getForumGroupDescriptions(UserVisitPK userVisitPK, GetForumGroupDescriptionsForm form);
055    
056    CommandResult editForumGroupDescription(UserVisitPK userVisitPK, EditForumGroupDescriptionForm form);
057    
058    CommandResult deleteForumGroupDescription(UserVisitPK userVisitPK, DeleteForumGroupDescriptionForm form);
059    
060    // --------------------------------------------------------------------------------
061    //   Forums
062    // --------------------------------------------------------------------------------
063    
064    CommandResult createForum(UserVisitPK userVisitPK, CreateForumForm form);
065    
066    CommandResult getForum(UserVisitPK userVisitPK, GetForumForm form);
067    
068    CommandResult getForums(UserVisitPK userVisitPK, GetForumsForm form);
069    
070    CommandResult getForumChoices(UserVisitPK userVisitPK, GetForumChoicesForm form);
071    
072    CommandResult editForum(UserVisitPK userVisitPK, EditForumForm form);
073    
074    CommandResult deleteForum(UserVisitPK userVisitPK, DeleteForumForm form);
075    
076    // --------------------------------------------------------------------------------
077    //   Forum Descriptions
078    // --------------------------------------------------------------------------------
079    
080    CommandResult createForumDescription(UserVisitPK userVisitPK, CreateForumDescriptionForm form);
081    
082    CommandResult getForumDescriptions(UserVisitPK userVisitPK, GetForumDescriptionsForm form);
083    
084    CommandResult editForumDescription(UserVisitPK userVisitPK, EditForumDescriptionForm form);
085    
086    CommandResult deleteForumDescription(UserVisitPK userVisitPK, DeleteForumDescriptionForm form);
087    
088    // -------------------------------------------------------------------------
089    //   Forum Group Forums
090    // -------------------------------------------------------------------------
091    
092    CommandResult createForumGroupForum(UserVisitPK userVisitPK, CreateForumGroupForumForm form);
093    
094    CommandResult getForumGroupForums(UserVisitPK userVisitPK, GetForumGroupForumsForm form);
095    
096    CommandResult setDefaultForumGroupForum(UserVisitPK userVisitPK, SetDefaultForumGroupForumForm form);
097    
098    CommandResult editForumGroupForum(UserVisitPK userVisitPK, EditForumGroupForumForm form);
099    
100    CommandResult deleteForumGroupForum(UserVisitPK userVisitPK, DeleteForumGroupForumForm form);
101    
102    // --------------------------------------------------------------------------------
103    //   Forum Role Types
104    // --------------------------------------------------------------------------------
105    
106    CommandResult createForumRoleType(UserVisitPK userVisitPK, CreateForumRoleTypeForm form);
107    
108    CommandResult getForumRoleTypeChoices(UserVisitPK userVisitPK, GetForumRoleTypeChoicesForm form);
109    
110    // --------------------------------------------------------------------------------
111    //   Forum Role Type Descriptions
112    // --------------------------------------------------------------------------------
113    
114    CommandResult createForumRoleTypeDescription(UserVisitPK userVisitPK, CreateForumRoleTypeDescriptionForm form);
115    
116    // --------------------------------------------------------------------------------
117    //   Forum Types
118    // --------------------------------------------------------------------------------
119    
120    CommandResult createForumType(UserVisitPK userVisitPK, CreateForumTypeForm form);
121    
122    CommandResult getForumTypeChoices(UserVisitPK userVisitPK, GetForumTypeChoicesForm form);
123    
124    // --------------------------------------------------------------------------------
125    //   Forum Type Descriptions
126    // --------------------------------------------------------------------------------
127    
128    CommandResult createForumTypeDescription(UserVisitPK userVisitPK, CreateForumTypeDescriptionForm form);
129    
130    // --------------------------------------------------------------------------------
131    //   Forum Mime Types
132    // --------------------------------------------------------------------------------
133    
134    CommandResult createForumMimeType(UserVisitPK userVisitPK, CreateForumMimeTypeForm form);
135    
136    CommandResult getForumMimeTypes(UserVisitPK userVisitPK, GetForumMimeTypesForm form);
137    
138    CommandResult setDefaultForumMimeType(UserVisitPK userVisitPK, SetDefaultForumMimeTypeForm form);
139    
140    CommandResult editForumMimeType(UserVisitPK userVisitPK, EditForumMimeTypeForm form);
141    
142    CommandResult deleteForumMimeType(UserVisitPK userVisitPK, DeleteForumMimeTypeForm form);
143    
144    // --------------------------------------------------------------------------------
145    //   Forum Party Roles
146    // --------------------------------------------------------------------------------
147    
148    CommandResult createForumPartyRole(UserVisitPK userVisitPK, CreateForumPartyRoleForm form);
149    
150    CommandResult getForumPartyRoles(UserVisitPK userVisitPK, GetForumPartyRolesForm form);
151    
152    CommandResult deleteForumPartyRole(UserVisitPK userVisitPK, DeleteForumPartyRoleForm form);
153    
154    // --------------------------------------------------------------------------------
155    //   Forum Party Type Roles
156    // --------------------------------------------------------------------------------
157    
158    CommandResult createForumPartyTypeRole(UserVisitPK userVisitPK, CreateForumPartyTypeRoleForm form);
159    
160    CommandResult getForumPartyTypeRoles(UserVisitPK userVisitPK, GetForumPartyTypeRolesForm form);
161    
162    CommandResult deleteForumPartyTypeRole(UserVisitPK userVisitPK, DeleteForumPartyTypeRoleForm form);
163    
164    // --------------------------------------------------------------------------------
165    //   Forum Type Message Types
166    // --------------------------------------------------------------------------------
167
168    CommandResult createForumTypeMessageType(UserVisitPK userVisitPK, CreateForumTypeMessageTypeForm form);
169    
170    // -------------------------------------------------------------------------
171    //   Forum Forum Threads
172    // -------------------------------------------------------------------------
173    
174    CommandResult createForumForumThread(UserVisitPK userVisitPK, CreateForumForumThreadForm form);
175    
176    CommandResult getForumForumThreads(UserVisitPK userVisitPK, GetForumForumThreadsForm form);
177    
178    CommandResult setDefaultForumForumThread(UserVisitPK userVisitPK, SetDefaultForumForumThreadForm form);
179    
180    CommandResult editForumForumThread(UserVisitPK userVisitPK, EditForumForumThreadForm form);
181    
182    CommandResult deleteForumForumThread(UserVisitPK userVisitPK, DeleteForumForumThreadForm form);
183    
184    // --------------------------------------------------------------------------------
185    //   Forum Threads
186    // --------------------------------------------------------------------------------
187    
188    CommandResult getForumThread(UserVisitPK userVisitPK, GetForumThreadForm form);
189    
190    CommandResult getForumThreads(UserVisitPK userVisitPK, GetForumThreadsForm form);
191    
192    CommandResult deleteForumThread(UserVisitPK userVisitPK, DeleteForumThreadForm form);
193    
194    // --------------------------------------------------------------------------------
195    //   Forum Messages
196    // --------------------------------------------------------------------------------
197    
198    CommandResult getForumMessage(UserVisitPK userVisitPK, GetForumMessageForm form);
199    
200    CommandResult getForumMessages(UserVisitPK userVisitPK, GetForumMessagesForm form);
201    
202    CommandResult deleteForumMessage(UserVisitPK userVisitPK, DeleteForumMessageForm form);
203    
204    // --------------------------------------------------------------------------------
205    //   Forum Message Attachments
206    // --------------------------------------------------------------------------------
207
208    CommandResult createForumMessageAttachment(UserVisitPK userVisitPK, CreateForumMessageAttachmentForm form);
209
210    CommandResult getForumMessageAttachment(UserVisitPK userVisitPK, GetForumMessageAttachmentForm form);
211
212    CommandResult getForumMessageAttachments(UserVisitPK userVisitPK, GetForumMessageAttachmentsForm form);
213
214    CommandResult editForumMessageAttachment(UserVisitPK userVisitPK, EditForumMessageAttachmentForm form);
215
216    CommandResult deleteForumMessageAttachment(UserVisitPK userVisitPK, DeleteForumMessageAttachmentForm form);
217
218    // --------------------------------------------------------------------------------
219    //   Forum Message Attachment Descriptions
220    // --------------------------------------------------------------------------------
221
222    CommandResult createForumMessageAttachmentDescription(UserVisitPK userVisitPK, CreateForumMessageAttachmentDescriptionForm form);
223
224    CommandResult getForumMessageAttachmentDescription(UserVisitPK userVisitPK, GetForumMessageAttachmentDescriptionForm form);
225
226    CommandResult getForumMessageAttachmentDescriptions(UserVisitPK userVisitPK, GetForumMessageAttachmentDescriptionsForm form);
227
228    CommandResult editForumMessageAttachmentDescription(UserVisitPK userVisitPK, EditForumMessageAttachmentDescriptionForm form);
229
230    CommandResult deleteForumMessageAttachmentDescription(UserVisitPK userVisitPK, DeleteForumMessageAttachmentDescriptionForm form);
231
232    // --------------------------------------------------------------------------------
233    //   Forum Message Part Types
234    // --------------------------------------------------------------------------------
235    
236    CommandResult createForumMessagePartType(UserVisitPK userVisitPK, CreateForumMessagePartTypeForm form);
237    
238    // --------------------------------------------------------------------------------
239    //   Forum Message Part Type Descriptions
240    // --------------------------------------------------------------------------------
241    
242    CommandResult createForumMessagePartTypeDescription(UserVisitPK userVisitPK, CreateForumMessagePartTypeDescriptionForm form);
243    
244    // --------------------------------------------------------------------------------
245    //   Forum Message Types
246    // --------------------------------------------------------------------------------
247    
248    CommandResult createForumMessageType(UserVisitPK userVisitPK, CreateForumMessageTypeForm form);
249    
250    CommandResult getForumMessageTypeChoices(UserVisitPK userVisitPK, GetForumMessageTypeChoicesForm form);
251    
252    // --------------------------------------------------------------------------------
253    //   Forum Message Type Descriptions
254    // --------------------------------------------------------------------------------
255    
256    CommandResult createForumMessageTypeDescription(UserVisitPK userVisitPK, CreateForumMessageTypeDescriptionForm form);
257    
258    // --------------------------------------------------------------------------------
259    //   Forum Message Type Part Types
260    // --------------------------------------------------------------------------------
261    
262    CommandResult createForumMessageTypePartType(UserVisitPK userVisitPK, CreateForumMessageTypePartTypeForm form);
263    
264    // --------------------------------------------------------------------------------
265    //   Blog Entries
266    // --------------------------------------------------------------------------------
267    
268    CommandResult createBlogEntry(UserVisitPK userVisitPK, CreateBlogEntryForm form);
269    
270    CommandResult editBlogEntry(UserVisitPK userVisitPK, EditBlogEntryForm form);
271    
272    // --------------------------------------------------------------------------------
273    //   Blog Comments
274    // --------------------------------------------------------------------------------
275    
276    CommandResult createBlogComment(UserVisitPK userVisitPK, CreateBlogCommentForm form);
277    
278    CommandResult editBlogComment(UserVisitPK userVisitPK, EditBlogCommentForm form);
279    
280}