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