# coding: utf-8 """ Immich Immich API The version of the OpenAPI document: 1.131.3 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. """ # noqa: E501 from __future__ import annotations import json from enum import Enum from typing_extensions import Self class Permission(str, Enum): """ Permission """ """ allowed enum values """ ALL = 'all' ACTIVITY_DOT_CREATE = 'activity.create' ACTIVITY_DOT_READ = 'activity.read' ACTIVITY_DOT_UPDATE = 'activity.update' ACTIVITY_DOT_DELETE = 'activity.delete' ACTIVITY_DOT_STATISTICS = 'activity.statistics' API_KEY_DOT_CREATE = 'apiKey.create' API_KEY_DOT_READ = 'apiKey.read' API_KEY_DOT_UPDATE = 'apiKey.update' API_KEY_DOT_DELETE = 'apiKey.delete' ASSET_DOT_READ = 'asset.read' ASSET_DOT_UPDATE = 'asset.update' ASSET_DOT_DELETE = 'asset.delete' ASSET_DOT_SHARE = 'asset.share' ASSET_DOT_VIEW = 'asset.view' ASSET_DOT_DOWNLOAD = 'asset.download' ASSET_DOT_UPLOAD = 'asset.upload' ALBUM_DOT_CREATE = 'album.create' ALBUM_DOT_READ = 'album.read' ALBUM_DOT_UPDATE = 'album.update' ALBUM_DOT_DELETE = 'album.delete' ALBUM_DOT_STATISTICS = 'album.statistics' ALBUM_DOT_ADD_ASSET = 'album.addAsset' ALBUM_DOT_REMOVE_ASSET = 'album.removeAsset' ALBUM_DOT_SHARE = 'album.share' ALBUM_DOT_DOWNLOAD = 'album.download' AUTH_DEVICE_DOT_DELETE = 'authDevice.delete' ARCHIVE_DOT_READ = 'archive.read' FACE_DOT_CREATE = 'face.create' FACE_DOT_READ = 'face.read' FACE_DOT_UPDATE = 'face.update' FACE_DOT_DELETE = 'face.delete' LIBRARY_DOT_CREATE = 'library.create' LIBRARY_DOT_READ = 'library.read' LIBRARY_DOT_UPDATE = 'library.update' LIBRARY_DOT_DELETE = 'library.delete' LIBRARY_DOT_STATISTICS = 'library.statistics' TIMELINE_DOT_READ = 'timeline.read' TIMELINE_DOT_DOWNLOAD = 'timeline.download' MEMORY_DOT_CREATE = 'memory.create' MEMORY_DOT_READ = 'memory.read' MEMORY_DOT_UPDATE = 'memory.update' MEMORY_DOT_DELETE = 'memory.delete' PARTNER_DOT_CREATE = 'partner.create' PARTNER_DOT_READ = 'partner.read' PARTNER_DOT_UPDATE = 'partner.update' PARTNER_DOT_DELETE = 'partner.delete' PERSON_DOT_CREATE = 'person.create' PERSON_DOT_READ = 'person.read' PERSON_DOT_UPDATE = 'person.update' PERSON_DOT_DELETE = 'person.delete' PERSON_DOT_STATISTICS = 'person.statistics' PERSON_DOT_MERGE = 'person.merge' PERSON_DOT_REASSIGN = 'person.reassign' SESSION_DOT_READ = 'session.read' SESSION_DOT_UPDATE = 'session.update' SESSION_DOT_DELETE = 'session.delete' SHARED_LINK_DOT_CREATE = 'sharedLink.create' SHARED_LINK_DOT_READ = 'sharedLink.read' SHARED_LINK_DOT_UPDATE = 'sharedLink.update' SHARED_LINK_DOT_DELETE = 'sharedLink.delete' STACK_DOT_CREATE = 'stack.create' STACK_DOT_READ = 'stack.read' STACK_DOT_UPDATE = 'stack.update' STACK_DOT_DELETE = 'stack.delete' SYSTEM_CONFIG_DOT_READ = 'systemConfig.read' SYSTEM_CONFIG_DOT_UPDATE = 'systemConfig.update' SYSTEM_METADATA_DOT_READ = 'systemMetadata.read' SYSTEM_METADATA_DOT_UPDATE = 'systemMetadata.update' TAG_DOT_CREATE = 'tag.create' TAG_DOT_READ = 'tag.read' TAG_DOT_UPDATE = 'tag.update' TAG_DOT_DELETE = 'tag.delete' TAG_DOT_ASSET = 'tag.asset' ADMIN_DOT_USER_DOT_CREATE = 'admin.user.create' ADMIN_DOT_USER_DOT_READ = 'admin.user.read' ADMIN_DOT_USER_DOT_UPDATE = 'admin.user.update' ADMIN_DOT_USER_DOT_DELETE = 'admin.user.delete' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of Permission from a JSON string""" return cls(json.loads(json_str))