Esempio n. 1
0
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
Esempio n. 3
0
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
Esempio n. 4
0
 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