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.license.common; 018 019import com.echothree.control.user.license.common.form.*; 020import com.echothree.control.user.license.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 LicenseService 026 extends LicenseForms { 027 028 // ------------------------------------------------------------------------- 029 // Testing 030 // ------------------------------------------------------------------------- 031 032 String ping(); 033 034 // -------------------------------------------------------------------------------- 035 // License Types 036 // -------------------------------------------------------------------------------- 037 038 CommandResult<VoidResult> createLicenseType(UserVisitPK userVisitPK, CreateLicenseTypeForm form); 039 040 CommandResult<GetLicenseTypeChoicesResult> getLicenseTypeChoices(UserVisitPK userVisitPK, GetLicenseTypeChoicesForm form); 041 042 CommandResult<GetLicenseTypeResult> getLicenseType(UserVisitPK userVisitPK, GetLicenseTypeForm form); 043 044 CommandResult<GetLicenseTypesResult> getLicenseTypes(UserVisitPK userVisitPK, GetLicenseTypesForm form); 045 046 CommandResult<VoidResult> setDefaultLicenseType(UserVisitPK userVisitPK, SetDefaultLicenseTypeForm form); 047 048 CommandResult<EditLicenseTypeResult> editLicenseType(UserVisitPK userVisitPK, EditLicenseTypeForm form); 049 050 CommandResult<VoidResult> deleteLicenseType(UserVisitPK userVisitPK, DeleteLicenseTypeForm form); 051 052 // -------------------------------------------------------------------------------- 053 // License Type Descriptions 054 // -------------------------------------------------------------------------------- 055 056 CommandResult<VoidResult> createLicenseTypeDescription(UserVisitPK userVisitPK, CreateLicenseTypeDescriptionForm form); 057 058 CommandResult<GetLicenseTypeDescriptionResult> getLicenseTypeDescription(UserVisitPK userVisitPK, GetLicenseTypeDescriptionForm form); 059 060 CommandResult<GetLicenseTypeDescriptionsResult> getLicenseTypeDescriptions(UserVisitPK userVisitPK, GetLicenseTypeDescriptionsForm form); 061 062 CommandResult<EditLicenseTypeDescriptionResult> editLicenseTypeDescription(UserVisitPK userVisitPK, EditLicenseTypeDescriptionForm form); 063 064 CommandResult<VoidResult> deleteLicenseTypeDescription(UserVisitPK userVisitPK, DeleteLicenseTypeDescriptionForm form); 065 066 // -------------------------------------------------------------------------------- 067 // License Utilities 068 // -------------------------------------------------------------------------------- 069 070 CommandResult<VoidResult> updateLicense(UserVisitPK userVisitPK); 071 072}