def fetch_logs(self, request_user: UserModel, tenant: TenantModel): self.logger.info("START: fetch_logs") if not request_user.is_belong_to_tenant(tenant): raise PermissionDenied("request user can't fetch aws_environments. user_id:{} tenant_id: {}". format(request_user.id, tenant.id)) if request_user.can_control_other_user(): # 他のユーザーを管理できる権限ならばテナント内のログを取得 logs = OperationLogModel.objects.filter(tenant=tenant) else: # そうでなければ自身のログを取得 logs = OperationLogModel.objects.filter(tenant=tenant, executor=request_user) self.logger.info("END: fetch_logs") return logs
def fetch_users(self, request_user: UserModel, tenant: TenantModel): self.logger.info("START: fetch_users") if not request_user.is_belong_to_tenant(tenant): raise PermissionDenied( "request user can't fetch users. user_id:{} tenant_id: {}". format(request_user.id, tenant.id)) if not request_user.can_control_other_user(): raise PermissionDenied( "request user can't fetch users. id:{}".format( request_user.id)) # スケジューラーは一覧に表示しない response = [ user_model for user_model in UserModel.objects.filter( tenant=tenant).exclude(role_id=RoleModel.SCHEDULER_ID) ] self.logger.info("END: fetch_users") return response