def update_provider(provider_uuid: UUID, provider_update: ProviderDTO) -> ProviderDTO: provider = Provider.find_or_fail(provider_uuid) provider.name = provider_update.name provider.save() provider.session.commit() return to_model(provider, ProviderDTO)
def create_acl(user: InternalUserDTO, acl: ACLDTO) -> ACLDTO: if acl.collection_uuid: collection = Collection.find_writeable_or_fail(user, acl.collection_uuid) if collection.provider_uuid != user.provider_uuid: raise PermissionError if acl.item_uuid: item = Item.find_writeable_or_fail(user, acl.item_uuid) if item.collection.provider_uuid != user.provider_uuid: raise PermissionError if acl.granted_provider_uuid: Provider.find_or_fail(acl.granted_provider_uuid) if acl.granted_user_uuid: User.find_or_fail(acl.granted_user_uuid) acl.provider_uuid = user.provider_uuid acl = ACL(**acl.to_dict()) acl.save() acl.session.commit() return to_model(acl, ACLDTO)
def get_provider(provider_uuid: UUID) -> ProviderDTO: provider = Provider.find_or_fail(provider_uuid) return to_model(provider, ProviderDTO)