Beispiel #1
0
 def user_subscriptions(
     self, context, request: TracimRequest, hapic_data: HapicData
 ) -> typing.List[WorkspaceSubscription]:
     subscription_lib = SubscriptionLib(
         current_user=request.current_user, session=request.dbsession, config=request.app_config,
     )
     return subscription_lib.get_user_subscription(request.candidate_user.user_id)
Beispiel #2
0
 def submit_subscription(
     self, context, request: TracimRequest, hapic_data: HapicData
 ) -> typing.List[WorkspaceSubscription]:
     workspace = WorkspaceApi(
         current_user=None, session=request.dbsession, config=request.app_config
     ).get_one(hapic_data.body["workspace_id"])
     subscription_lib = SubscriptionLib(
         current_user=request.current_user, session=request.dbsession, config=request.app_config,
     )
     return subscription_lib.submit_subscription(workspace=workspace)
Beispiel #3
0
 def workspace_subscriptions(
         self,
         context,
         request: TracimRequest,
         hapic_data=None) -> typing.List[WorkspaceSubscription]:
     subscription_lib = SubscriptionLib(
         current_user=request.current_user,
         session=request.dbsession,
         config=request.app_config,
     )
     return subscription_lib.get_workspace_subscriptions(
         request.current_workspace.workspace_id)
Beispiel #4
0
 def reject_subscription(
         self,
         context,
         request: TracimRequest,
         hapic_data=None) -> typing.List[WorkspaceSubscription]:
     subscription_lib = SubscriptionLib(
         current_user=request.current_user,
         session=request.dbsession,
         config=request.app_config,
     )
     subscription = subscription_lib.get_one(
         author_id=hapic_data.path.user_id,
         workspace_id=hapic_data.path.workspace_id)
     subscription_lib.reject_subscription(subscription=subscription)
Beispiel #5
0
 def get(self,
         current_user: typing.Optional[User] = None) -> SubscriptionLib:
     return SubscriptionLib(
         session=self.session,
         config=self.app_config,
         current_user=current_user or self.admin_user,
     )