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.subscription.server;
018
019import com.echothree.control.user.subscription.common.SubscriptionRemote;
020import com.echothree.control.user.subscription.common.form.*;
021import com.echothree.control.user.subscription.common.result.*;
022import com.echothree.control.user.subscription.server.command.*;
023import com.echothree.model.data.user.common.pk.UserVisitPK;
024import com.echothree.util.common.command.CommandResult;
025import com.echothree.util.common.command.VoidResult;
026import javax.ejb.Stateless;
027import javax.enterprise.inject.spi.CDI;
028
029@Stateless
030public class SubscriptionBean
031        extends SubscriptionFormsImpl
032        implements SubscriptionRemote, SubscriptionLocal {
033    
034    // -------------------------------------------------------------------------
035    //   Testing
036    // -------------------------------------------------------------------------
037    
038    @Override
039    public String ping() {
040        return "SubscriptionBean is alive!";
041    }
042    
043    // -------------------------------------------------------------------------
044    //   Subscription Kinds
045    // -------------------------------------------------------------------------
046
047    @Override
048    public CommandResult<VoidResult> createSubscriptionKind(UserVisitPK userVisitPK, CreateSubscriptionKindForm form) {
049        return CDI.current().select(CreateSubscriptionKindCommand.class).get().run(userVisitPK, form);
050    }
051
052    @Override
053    public CommandResult<GetSubscriptionKindsResult> getSubscriptionKinds(UserVisitPK userVisitPK, GetSubscriptionKindsForm form) {
054        return CDI.current().select(GetSubscriptionKindsCommand.class).get().run(userVisitPK, form);
055    }
056
057    @Override
058    public CommandResult<GetSubscriptionKindResult> getSubscriptionKind(UserVisitPK userVisitPK, GetSubscriptionKindForm form) {
059        return CDI.current().select(GetSubscriptionKindCommand.class).get().run(userVisitPK, form);
060    }
061
062    @Override
063    public CommandResult<GetSubscriptionKindChoicesResult> getSubscriptionKindChoices(UserVisitPK userVisitPK, GetSubscriptionKindChoicesForm form) {
064        return CDI.current().select(GetSubscriptionKindChoicesCommand.class).get().run(userVisitPK, form);
065    }
066
067    @Override
068    public CommandResult<VoidResult> setDefaultSubscriptionKind(UserVisitPK userVisitPK, SetDefaultSubscriptionKindForm form) {
069        return CDI.current().select(SetDefaultSubscriptionKindCommand.class).get().run(userVisitPK, form);
070    }
071
072    @Override
073    public CommandResult<EditSubscriptionKindResult> editSubscriptionKind(UserVisitPK userVisitPK, EditSubscriptionKindForm form) {
074        return CDI.current().select(EditSubscriptionKindCommand.class).get().run(userVisitPK, form);
075    }
076
077    @Override
078    public CommandResult<VoidResult> deleteSubscriptionKind(UserVisitPK userVisitPK, DeleteSubscriptionKindForm form) {
079        return CDI.current().select(DeleteSubscriptionKindCommand.class).get().run(userVisitPK, form);
080    }
081
082    // -------------------------------------------------------------------------
083    //   Subscription Kind Descriptions
084    // -------------------------------------------------------------------------
085
086    @Override
087    public CommandResult<VoidResult> createSubscriptionKindDescription(UserVisitPK userVisitPK, CreateSubscriptionKindDescriptionForm form) {
088        return CDI.current().select(CreateSubscriptionKindDescriptionCommand.class).get().run(userVisitPK, form);
089    }
090
091    @Override
092    public CommandResult<GetSubscriptionKindDescriptionsResult> getSubscriptionKindDescriptions(UserVisitPK userVisitPK, GetSubscriptionKindDescriptionsForm form) {
093        return CDI.current().select(GetSubscriptionKindDescriptionsCommand.class).get().run(userVisitPK, form);
094    }
095
096    @Override
097    public CommandResult<GetSubscriptionKindDescriptionResult> getSubscriptionKindDescription(UserVisitPK userVisitPK, GetSubscriptionKindDescriptionForm form) {
098        return CDI.current().select(GetSubscriptionKindDescriptionCommand.class).get().run(userVisitPK, form);
099    }
100
101    @Override
102    public CommandResult<EditSubscriptionKindDescriptionResult> editSubscriptionKindDescription(UserVisitPK userVisitPK, EditSubscriptionKindDescriptionForm form) {
103        return CDI.current().select(EditSubscriptionKindDescriptionCommand.class).get().run(userVisitPK, form);
104    }
105
106    @Override
107    public CommandResult<VoidResult> deleteSubscriptionKindDescription(UserVisitPK userVisitPK, DeleteSubscriptionKindDescriptionForm form) {
108        return CDI.current().select(DeleteSubscriptionKindDescriptionCommand.class).get().run(userVisitPK, form);
109    }
110
111    // --------------------------------------------------------------------------------
112    //   Subscription Types
113    // --------------------------------------------------------------------------------
114    
115    @Override
116    public CommandResult<VoidResult> createSubscriptionType(UserVisitPK userVisitPK, CreateSubscriptionTypeForm form) {
117        return CDI.current().select(CreateSubscriptionTypeCommand.class).get().run(userVisitPK, form);
118    }
119    
120    @Override
121    public CommandResult<GetSubscriptionTypesResult> getSubscriptionTypes(UserVisitPK userVisitPK, GetSubscriptionTypesForm form) {
122        return CDI.current().select(GetSubscriptionTypesCommand.class).get().run(userVisitPK, form);
123    }
124    
125    @Override
126    public CommandResult<GetSubscriptionTypeResult> getSubscriptionType(UserVisitPK userVisitPK, GetSubscriptionTypeForm form) {
127        return CDI.current().select(GetSubscriptionTypeCommand.class).get().run(userVisitPK, form);
128    }
129    
130    @Override
131    public CommandResult<GetSubscriptionTypeChoicesResult> getSubscriptionTypeChoices(UserVisitPK userVisitPK, GetSubscriptionTypeChoicesForm form) {
132        return CDI.current().select(GetSubscriptionTypeChoicesCommand.class).get().run(userVisitPK, form);
133    }
134    
135    @Override
136    public CommandResult<VoidResult> setDefaultSubscriptionType(UserVisitPK userVisitPK, SetDefaultSubscriptionTypeForm form) {
137        return CDI.current().select(SetDefaultSubscriptionTypeCommand.class).get().run(userVisitPK, form);
138    }
139    
140    @Override
141    public CommandResult<EditSubscriptionTypeResult> editSubscriptionType(UserVisitPK userVisitPK, EditSubscriptionTypeForm form) {
142        return CDI.current().select(EditSubscriptionTypeCommand.class).get().run(userVisitPK, form);
143    }
144    
145    @Override
146    public CommandResult<VoidResult> deleteSubscriptionType(UserVisitPK userVisitPK, DeleteSubscriptionTypeForm form) {
147        return CDI.current().select(DeleteSubscriptionTypeCommand.class).get().run(userVisitPK, form);
148    }
149    
150    // --------------------------------------------------------------------------------
151    //   Subscription Type Descriptions
152    // --------------------------------------------------------------------------------
153    
154    @Override
155    public CommandResult<VoidResult> createSubscriptionTypeDescription(UserVisitPK userVisitPK, CreateSubscriptionTypeDescriptionForm form) {
156        return CDI.current().select(CreateSubscriptionTypeDescriptionCommand.class).get().run(userVisitPK, form);
157    }
158    
159    @Override
160    public CommandResult<GetSubscriptionTypeDescriptionsResult> getSubscriptionTypeDescriptions(UserVisitPK userVisitPK, GetSubscriptionTypeDescriptionsForm form) {
161        return CDI.current().select(GetSubscriptionTypeDescriptionsCommand.class).get().run(userVisitPK, form);
162    }
163    
164    @Override
165    public CommandResult<EditSubscriptionTypeDescriptionResult> editSubscriptionTypeDescription(UserVisitPK userVisitPK, EditSubscriptionTypeDescriptionForm form) {
166        return CDI.current().select(EditSubscriptionTypeDescriptionCommand.class).get().run(userVisitPK, form);
167    }
168    
169    @Override
170    public CommandResult<VoidResult> deleteSubscriptionTypeDescription(UserVisitPK userVisitPK, DeleteSubscriptionTypeDescriptionForm form) {
171        return CDI.current().select(DeleteSubscriptionTypeDescriptionCommand.class).get().run(userVisitPK, form);
172    }
173    
174    // --------------------------------------------------------------------------------
175    //   Subscription Type Chains
176    // --------------------------------------------------------------------------------
177    
178    @Override
179    public CommandResult<VoidResult> createSubscriptionTypeChain(UserVisitPK userVisitPK, CreateSubscriptionTypeChainForm form) {
180        return CDI.current().select(CreateSubscriptionTypeChainCommand.class).get().run(userVisitPK, form);
181    }
182    
183    @Override
184    public CommandResult<GetSubscriptionTypeChainsResult> getSubscriptionTypeChains(UserVisitPK userVisitPK, GetSubscriptionTypeChainsForm form) {
185        return CDI.current().select(GetSubscriptionTypeChainsCommand.class).get().run(userVisitPK, form);
186    }
187    
188    @Override
189    public CommandResult<VoidResult> deleteSubscriptionTypeChain(UserVisitPK userVisitPK, DeleteSubscriptionTypeChainForm form) {
190        return CDI.current().select(DeleteSubscriptionTypeChainCommand.class).get().run(userVisitPK, form);
191    }
192    
193    // --------------------------------------------------------------------------------
194    //   Subscriptions
195    // --------------------------------------------------------------------------------
196    
197    @Override
198    public CommandResult<VoidResult> createSubscription(UserVisitPK userVisitPK, CreateSubscriptionForm form) {
199        return CDI.current().select(CreateSubscriptionCommand.class).get().run(userVisitPK, form);
200    }
201    
202    @Override
203    public CommandResult<GetSubscriptionsResult> getSubscriptions(UserVisitPK userVisitPK, GetSubscriptionsForm form) {
204        return CDI.current().select(GetSubscriptionsCommand.class).get().run(userVisitPK, form);
205    }
206    
207    @Override
208    public CommandResult<GetSubscriptionResult> getSubscription(UserVisitPK userVisitPK, GetSubscriptionForm form) {
209        return CDI.current().select(GetSubscriptionCommand.class).get().run(userVisitPK, form);
210    }
211    
212    @Override
213    public CommandResult<VoidResult> deleteSubscription(UserVisitPK userVisitPK, DeleteSubscriptionForm form) {
214        return CDI.current().select(DeleteSubscriptionCommand.class).get().run(userVisitPK, form);
215    }
216    
217}