# Copyright 2025 21X AG
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from enum import Enum


class FinancialInstrumentLinkedEntityTypeEnum(str, Enum):
    BROKER = "BROKER"
    DISTRIBUTOR = "DISTRIBUTOR"
    EXECUTION_AGENT = "EXECUTION_AGENT"
    FUND_ADMINISTRATOR = "FUND_ADMINISTRATOR"
    INVESTMENT_MANAGER = "INVESTMENT_MANAGER"
    LISTING_SPONSOR = "LISTING_SPONSOR"
    MANAGEMENT_COMPANY = "MANAGEMENT_COMPANY"
    MARKET_MAKER = "MARKET_MAKER"
    PORTFOLIO_MANAGER = "PORTFOLIO_MANAGER"
    REGISTRAR = "REGISTRAR"
    SUPERVISORY_AUTHORITY = "SUPERVISORY_AUTHORITY"
    TOKENIZER = "TOKENIZER"
    UNDERLYING_ISSUER = "UNDERLYING_ISSUER"

    def __str__(self) -> str:
        return str(self.value)
