# do not import all endpoints into this module because that uses a lot of memory and stack frames
# if you need the ability to import all endpoints from this module, import them with
# from data_repo_client.apis.path_to_api import path_to_api

import enum


class PathValues(str, enum.Enum):
    STATUS = "/status"
    CONFIGURATION = "/configuration"
    SHUTDOWN = "/shutdown"
    API_RESOURCES_V1_PROFILES = "/api/resources/v1/profiles"
    API_RESOURCES_V1_PROFILES_ID = "/api/resources/v1/profiles/{id}"
    API_RESOURCES_V1_PROFILES_ID_POLICIES = "/api/resources/v1/profiles/{id}/policies"
    API_RESOURCES_V1_PROFILES_ID_POLICIES_POLICY_NAME_MEMBERS = "/api/resources/v1/profiles/{id}/policies/{policyName}/members"
    API_RESOURCES_V1_PROFILES_ID_POLICIES_POLICY_NAME_MEMBERS_MEMBER_EMAIL = "/api/resources/v1/profiles/{id}/policies/{policyName}/members/{memberEmail}"
    API_REPOSITORY_V1_SNAPSHOTS = "/api/repository/v1/snapshots"
    API_REPOSITORY_V1_SNAPSHOTS_ROLE_MAP = "/api/repository/v1/snapshots/roleMap"
    API_REPOSITORY_V1_SNAPSHOTS_ID = "/api/repository/v1/snapshots/{id}"
    API_REPOSITORY_V1_SNAPSHOTS_ID_SUMMARY = "/api/repository/v1/snapshots/{id}/summary"
    API_REPOSITORY_V1_SNAPSHOTS_ID_DATA_TABLE = "/api/repository/v1/snapshots/{id}/data/{table}"
    API_REPOSITORY_V1_SNAPSHOTS_ID_EXPORT = "/api/repository/v1/snapshots/{id}/export"
    API_REPOSITORY_V1_SNAPSHOTS_ID_FILES_FILEID = "/api/repository/v1/snapshots/{id}/files/{fileid}"
    API_REPOSITORY_V1_SNAPSHOTS_ID_FILESYSTEM_OBJECTS = "/api/repository/v1/snapshots/{id}/filesystem/objects"
    API_REPOSITORY_V1_SNAPSHOTS_ID_POLICIES = "/api/repository/v1/snapshots/{id}/policies"
    API_REPOSITORY_V1_SNAPSHOTS_ID_POLICIES_POLICY_NAME_MEMBERS = "/api/repository/v1/snapshots/{id}/policies/{policyName}/members"
    API_REPOSITORY_V1_SNAPSHOTS_ID_POLICIES_POLICY_NAME_MEMBERS_MEMBER_EMAIL = "/api/repository/v1/snapshots/{id}/policies/{policyName}/members/{memberEmail}"
    API_REPOSITORY_V1_SNAPSHOTS_ID_ROLES = "/api/repository/v1/snapshots/{id}/roles"
    API_REPOSITORY_V1_SNAPSHOTS_ID_LINK_DUOS_DATASET_DUOS_ID = "/api/repository/v1/snapshots/{id}/linkDuosDataset/{duosId}"
    API_REPOSITORY_V1_SNAPSHOTS_ID_UNLINK_DUOS_DATASET = "/api/repository/v1/snapshots/{id}/unlinkDuosDataset"
    API_REPOSITORY_V1_DUOS = "/api/repository/v1/duos"
    API_REPOSITORY_V1_DUOS_DUOS_ID = "/api/repository/v1/duos/{duosId}"
    API_REPOSITORY_V1_DUOS_DUOS_ID_SYNC_AUTHORIZED_USERS = "/api/repository/v1/duos/{duosId}/syncAuthorizedUsers"
    API_REPOSITORY_V1_DATASETS = "/api/repository/v1/datasets"
    API_REPOSITORY_V1_DATASETS_ID = "/api/repository/v1/datasets/{id}"
    API_REPOSITORY_V1_DATASETS_ID_SUMMARY = "/api/repository/v1/datasets/{id}/summary"
    API_REPOSITORY_V1_DATASETS_ID_POLICIES = "/api/repository/v1/datasets/{id}/policies"
    API_REPOSITORY_V1_DATASETS_ID_POLICIES_POLICY_NAME_MEMBERS = "/api/repository/v1/datasets/{id}/policies/{policyName}/members"
    API_REPOSITORY_V1_DATASETS_ID_POLICIES_POLICY_NAME_MEMBERS_MEMBER_EMAIL = "/api/repository/v1/datasets/{id}/policies/{policyName}/members/{memberEmail}"
    API_REPOSITORY_V1_DATASETS_ID_ROLES = "/api/repository/v1/datasets/{id}/roles"
    API_REPOSITORY_V1_DATASETS_ID_INGEST = "/api/repository/v1/datasets/{id}/ingest"
    API_REPOSITORY_V1_DATASETS_ID_UPDATE_SCHEMA = "/api/repository/v1/datasets/{id}/updateSchema"
    API_REPOSITORY_V1_DATASETS_ID_TRANSACTIONS = "/api/repository/v1/datasets/{id}/transactions"
    API_REPOSITORY_V1_DATASETS_ID_TRANSACTIONS_TRANSACTION_ID = "/api/repository/v1/datasets/{id}/transactions/{transactionId}"
    API_REPOSITORY_V1_DATASETS_ID_ASSETS = "/api/repository/v1/datasets/{id}/assets"
    API_REPOSITORY_V1_DATASETS_ID_ASSETS_ASSETID = "/api/repository/v1/datasets/{id}/assets/{assetid}"
    API_REPOSITORY_V1_DATASETS_ID_DELETES = "/api/repository/v1/datasets/{id}/deletes"
    API_REPOSITORY_V1_REGISTER_USER = "/api/repository/v1/register/user"
    API_REPOSITORY_V1_DATASETS_ID_FILES = "/api/repository/v1/datasets/{id}/files"
    API_REPOSITORY_V1_DATASETS_ID_FILES_BULK = "/api/repository/v1/datasets/{id}/files/bulk"
    API_REPOSITORY_V1_DATASETS_ID_FILES_BULK_LOAD_TAG = "/api/repository/v1/datasets/{id}/files/bulk/{loadTag}"
    API_REPOSITORY_V1_DATASETS_ID_FILES_BULK_ARRAY = "/api/repository/v1/datasets/{id}/files/bulk/array"
    API_REPOSITORY_V1_DATASETS_ID_FILES_FILEID = "/api/repository/v1/datasets/{id}/files/{fileid}"
    API_REPOSITORY_V1_DATASETS_ID_FILESYSTEM_OBJECTS = "/api/repository/v1/datasets/{id}/filesystem/objects"
    API_REPOSITORY_V1_JOBS = "/api/repository/v1/jobs"
    API_REPOSITORY_V1_JOBS_ID = "/api/repository/v1/jobs/{id}"
    API_REPOSITORY_V1_JOBS_ID_RESULT = "/api/repository/v1/jobs/{id}/result"
    API_REPOSITORY_V1_CONFIGS_NAME = "/api/repository/v1/configs/{name}"
    API_REPOSITORY_V1_CONFIGS = "/api/repository/v1/configs"
    API_REPOSITORY_V1_CONFIGS_RESET = "/api/repository/v1/configs/reset"
    API_REPOSITORY_V1_UPGRADE = "/api/repository/v1/upgrade"
    API_REPOSITORY_V1_SEARCH_ID_INDEX = "/api/repository/v1/search/{id}/index"
    API_REPOSITORY_V1_SEARCH_QUERY = "/api/repository/v1/search/query"
    GA4GH_DRS_V1_SERVICEINFO = "/ga4gh/drs/v1/service-info"
    GA4GH_DRS_V1_OBJECTS_OBJECT_ID = "/ga4gh/drs/v1/objects/{object_id}"
    GA4GH_DRS_V1_OBJECTS_OBJECT_ID_ACCESS_ACCESS_ID = "/ga4gh/drs/v1/objects/{object_id}/access/{access_id}"
    API_REPOSITORY_V1_JOURNAL_RESOURCE_KEY = "/api/repository/v1/journal/{resourceKey}"
