def create(name: str, access_key: str, person_id: int) -> Key: person = PersonService.get(person_id) try: return Key.objects.create(name=name, access_key=access_key, person=person) except: raise exceptions.KeyManageFailed
def person_allow_place(person_id: int, place_id: int) -> PersonACLEntry: person = PersonService.get(person_id) place = PlaceService.get(place_id) if PersonACLEntry.objects.filter( person=person, place=place, type=AclType.ACL_ALLOW).count() > 0: raise exceptions.AclAlreadyAdded try: return PersonACLEntry.objects.create(person=person, place=place, type=AclType.ACL_ALLOW) except: raise exceptions.ACLManageFailed
def update(id: int, name: str = None, access_key: str = None, person_id: int = None) -> Key: key = get(id) if name is not None: key.name = name if access_key is not None: key.access_key = access_key if person_id is not None: person = PersonService.get(person_id) key.person = person try: key.save() return key except: raise exceptions.KeyManageFailed
def get(self, request: HttpRequest, id: str): id = self.parse_int_pk(id) person = PersonService.get(id) return ApiResponse.success(PersonOutDto.from_person(person))
def get_person_acls(person_id: int) -> List[PersonACLEntry]: person = PersonService.get(person_id) try: return list(person.personaclentry_set.all()) except: raise exceptions.SomethingWrong