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.index.common; 018 019import com.echothree.control.user.index.common.form.*; 020import com.echothree.control.user.index.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 IndexService 026 extends IndexForms { 027 028 // ------------------------------------------------------------------------- 029 // Testing 030 // ------------------------------------------------------------------------- 031 032 String ping(); 033 034 // -------------------------------------------------------------------------------- 035 // Index Types 036 // -------------------------------------------------------------------------------- 037 038 CommandResult<VoidResult> createIndexType(UserVisitPK userVisitPK, CreateIndexTypeForm form); 039 040 CommandResult<GetIndexTypeChoicesResult> getIndexTypeChoices(UserVisitPK userVisitPK, GetIndexTypeChoicesForm form); 041 042 CommandResult<GetIndexTypeResult> getIndexType(UserVisitPK userVisitPK, GetIndexTypeForm form); 043 044 CommandResult<GetIndexTypesResult> getIndexTypes(UserVisitPK userVisitPK, GetIndexTypesForm form); 045 046 CommandResult<VoidResult> setDefaultIndexType(UserVisitPK userVisitPK, SetDefaultIndexTypeForm form); 047 048 CommandResult<EditIndexTypeResult> editIndexType(UserVisitPK userVisitPK, EditIndexTypeForm form); 049 050 CommandResult<VoidResult> deleteIndexType(UserVisitPK userVisitPK, DeleteIndexTypeForm form); 051 052 // -------------------------------------------------------------------------------- 053 // Index Type Descriptions 054 // -------------------------------------------------------------------------------- 055 056 CommandResult<VoidResult> createIndexTypeDescription(UserVisitPK userVisitPK, CreateIndexTypeDescriptionForm form); 057 058 CommandResult<GetIndexTypeDescriptionResult> getIndexTypeDescription(UserVisitPK userVisitPK, GetIndexTypeDescriptionForm form); 059 060 CommandResult<GetIndexTypeDescriptionsResult> getIndexTypeDescriptions(UserVisitPK userVisitPK, GetIndexTypeDescriptionsForm form); 061 062 CommandResult<EditIndexTypeDescriptionResult> editIndexTypeDescription(UserVisitPK userVisitPK, EditIndexTypeDescriptionForm form); 063 064 CommandResult<VoidResult> deleteIndexTypeDescription(UserVisitPK userVisitPK, DeleteIndexTypeDescriptionForm form); 065 066 // -------------------------------------------------------------------------------- 067 // Index Fields 068 // -------------------------------------------------------------------------------- 069 070 CommandResult<VoidResult> createIndexField(UserVisitPK userVisitPK, CreateIndexFieldForm form); 071 072 CommandResult<GetIndexFieldChoicesResult> getIndexFieldChoices(UserVisitPK userVisitPK, GetIndexFieldChoicesForm form); 073 074 CommandResult<GetIndexFieldResult> getIndexField(UserVisitPK userVisitPK, GetIndexFieldForm form); 075 076 CommandResult<GetIndexFieldsResult> getIndexFields(UserVisitPK userVisitPK, GetIndexFieldsForm form); 077 078 CommandResult<VoidResult> setDefaultIndexField(UserVisitPK userVisitPK, SetDefaultIndexFieldForm form); 079 080 CommandResult<EditIndexFieldResult> editIndexField(UserVisitPK userVisitPK, EditIndexFieldForm form); 081 082 CommandResult<VoidResult> deleteIndexField(UserVisitPK userVisitPK, DeleteIndexFieldForm form); 083 084 // -------------------------------------------------------------------------------- 085 // Index Field Descriptions 086 // -------------------------------------------------------------------------------- 087 088 CommandResult<VoidResult> createIndexFieldDescription(UserVisitPK userVisitPK, CreateIndexFieldDescriptionForm form); 089 090 CommandResult<GetIndexFieldDescriptionResult> getIndexFieldDescription(UserVisitPK userVisitPK, GetIndexFieldDescriptionForm form); 091 092 CommandResult<GetIndexFieldDescriptionsResult> getIndexFieldDescriptions(UserVisitPK userVisitPK, GetIndexFieldDescriptionsForm form); 093 094 CommandResult<EditIndexFieldDescriptionResult> editIndexFieldDescription(UserVisitPK userVisitPK, EditIndexFieldDescriptionForm form); 095 096 CommandResult<VoidResult> deleteIndexFieldDescription(UserVisitPK userVisitPK, DeleteIndexFieldDescriptionForm form); 097 098 // -------------------------------------------------------------------------------- 099 // Indexes 100 // -------------------------------------------------------------------------------- 101 102 CommandResult<VoidResult> createIndex(UserVisitPK userVisitPK, CreateIndexForm form); 103 104 CommandResult<GetIndexChoicesResult> getIndexChoices(UserVisitPK userVisitPK, GetIndexChoicesForm form); 105 106 CommandResult<GetIndexResult> getIndex(UserVisitPK userVisitPK, GetIndexForm form); 107 108 CommandResult<GetIndexesResult> getIndexes(UserVisitPK userVisitPK, GetIndexesForm form); 109 110 CommandResult<VoidResult> setDefaultIndex(UserVisitPK userVisitPK, SetDefaultIndexForm form); 111 112 CommandResult<EditIndexResult> editIndex(UserVisitPK userVisitPK, EditIndexForm form); 113 114 CommandResult<VoidResult> deleteIndex(UserVisitPK userVisitPK, DeleteIndexForm form); 115 116 // -------------------------------------------------------------------------------- 117 // Index Descriptions 118 // -------------------------------------------------------------------------------- 119 120 CommandResult<VoidResult> createIndexDescription(UserVisitPK userVisitPK, CreateIndexDescriptionForm form); 121 122 CommandResult<GetIndexDescriptionResult> getIndexDescription(UserVisitPK userVisitPK, GetIndexDescriptionForm form); 123 124 CommandResult<GetIndexDescriptionsResult> getIndexDescriptions(UserVisitPK userVisitPK, GetIndexDescriptionsForm form); 125 126 CommandResult<EditIndexDescriptionResult> editIndexDescription(UserVisitPK userVisitPK, EditIndexDescriptionForm form); 127 128 CommandResult<VoidResult> deleteIndexDescription(UserVisitPK userVisitPK, DeleteIndexDescriptionForm form); 129 130 // ------------------------------------------------------------------------- 131 // Utilities 132 // ------------------------------------------------------------------------- 133 134 CommandResult<UpdateIndexesResult> updateIndexes(UserVisitPK userVisitPK, UpdateIndexesForm form); 135 136 CommandResult<VoidResult> forceReindex(UserVisitPK userVisitPK, ForceReindexForm form); 137 138}