Пример #1
0
    def execute(self):
        from pyclaim.domain.aggregates.token.model.token import Token
        from pyclaim.domain.aggregates.user.model.user import User
        from pyclaim.domain.aggregates.resource.model.resource import Resource

        token = Token.get_by_id(self.token_id)

        if not token:
            return "Not Authenticated"

        user = User.get_by_id(token.user_id)

        if not user:
            return "Not Authenticated"

        if user.is_sys_admin():
            return "Authorized"

        resource = Resource.get_by_name(self.resource_name)

        if not resource:
            return "Not Authorized"

        for user_claim in user.claims:
            for resource_claim in resource.claims:
                if (
                    resource_claim["claim_type"]["_id"] == user_claim["claim_type"]["_id"]
                    and resource_claim["value"] == user_claim["value"]
                ):
                    return "Authorized"

        return "Not Authorized"
Пример #2
0
 def execute(self):
     user = User.get_by_id(self._id)
     user_claim = Claim()
     user_claim._id = self.claim_id
     user_claim.claim_type_id = self.claim_type_id
     user_claim.value = self.claim_value
     user.claim_edit(user_claim)
     return "Done"
Пример #3
0
 def execute(self):
     user = User.get_by_id(self.user_id)
     user_detail = UserDetail.create_from_user(user)
     return user_detail
Пример #4
0
 def execute(self):
     user = User.get_by_id(self.user_id)
     user_full_detail = None
     if user:
         user_full_detail = UserFullDetail.create_from_user(user)
     return user_full_detail
Пример #5
0
 def execute(self):
     user = User.get_by_id(self._id)
     user.claim_remove(self.claim_id)
     return "Done"