Exemplo n.º 1
0
    def apply(self, transaction, state):
        payload = IdentityPayload()
        payload.ParseFromString(transaction.payload)

        id_type = payload.type
        data = payload.data

        if id_type == IdentityPayload.ROLE:
            _set_role(data, state)

        elif id_type == IdentityPayload.POLICY:
            _set_policy(data, state)

        else:
            raise InvalidTransaction("The IdentityType must be either a"
                                     " ROLE or a POLICY")
 def create_policy_transaction(self, name, rules):
     rules_list = rules.split("\n")
     entries = []
     for rule in rules_list:
         rule = rule.split(" ")
         if rule[0] == "PERMIT_KEY":
             entry = Policy.Entry(type=Policy.PERMIT_KEY, key=rule[1])
             entries.append(entry)
         elif rule[0] == "DENY_KEY":
             entry = Policy.Entry(type=Policy.DENY_KEY, key=rule[1])
             entries.append(entry)
     policy = Policy(name=name, entries=entries)
     payload = IdentityPayload(type=IdentityPayload.POLICY,
                               data=policy.SerializeToString())
     return self._create_tp_process_request(payload)
Exemplo n.º 3
0
 def create_role_transaction(self, name, policy_name):
     role = Role(name=name, policy_name=policy_name)
     payload = IdentityPayload(type=IdentityPayload.ROLE,
                               data=role.SerializeToString())
     return self._create_tp_process_request(payload)