// ./contracts/enums.ts

export enum DatasetTypes {
    analysisdata = 'analysisdata',
    measurementdata = 'measurementdata',
    monitoring = 'monitoring',
    remotesensing = 'remotesensing',
    gis = 'gis',
    models = 'models',
    mixedtype = 'mixedtype',
}

export enum ServerStates {
    deleted = 'deleted',
    inprogress = 'inprogress',
    published = 'published',
    released = 'released',
    editor_accepted = 'editor_accepted',
    approved = 'approved',
    rejected_reviewer = 'rejected_reviewer',
    rejected_editor = 'rejected_editor',
    reviewed = 'reviewed',
}

// for table dataset_titles
export enum TitleTypes {
    Main = 'Main',
    Sub = 'Sub',
    Alternative = 'Alternative',
    Translated = 'Translated',
    Other = 'Other',
}

// for table dataset_abstracts
export enum DescriptionTypes {
    abstract = 'Abstract',
    methods = 'Methods',
    series_information = 'Series_information',
    technical_info = 'Technical_info',
    translated = 'Translated',
    other = 'Other',
}

export enum PersonNameTypes {
    Organizational = 'Organizational',
    Personal = 'Personal',
}

export enum PersonRoles {
    author = 'author',
    contributor = 'contributor',
    other = 'other',
}

export enum ContributorTypes {
    contact_person = 'ContactPerson',
    data_collector = 'DataCollector',
    data_curator = 'DataCurator',
    data_manager = 'DataManager',
    Distributor = 'Distributor',
    editor = 'Editor',
    hosting_institution = 'HostingInstitution',
    producer = 'Producer',
    poroject_leader = 'ProjectLeader',
    project_manager = 'ProjectManager',
    project_member = 'ProjectMember',
    registration_agency = 'RegistrationAgency',
    registration_authority = 'RegistrationAuthority',
    related_person = 'RelatedPerson',
    researcher = 'Researcher',
    research_group = 'ResearchGroup',
    rights_holder = 'RightsHolder',
    sponsor = 'Sponsor',
    supervisor = 'Supervisor',
    work_package_leader = 'WorkPackageLeader',
    other = 'Other',
}

export enum SubjectTypes {
    uncontrolled = 'uncontrolled',
}
