from enum import StrEnum


class Resource(StrEnum):
  # Keyword
  All = "all"

  # ----------------------------
  # Scoped Resources
  # ----------------------------

  # Auth
  Auth = "auth:all"
  AuthApts = "auth:apts"
  AuthGrants = "auth:grants"

  # Career
  Career = "career:all"
  CareerStocks = "career:stocks"
  CareerStores = "career:stores"
  CareerProducts = "career:products"
  CareerBranches = "career:branches"
  CareerServices = "career:services"
  CareerCustomers = "career:customers"
  CareerEmployees = "career:employees"
  CareerBusinesses = "career:businesses"

  # Content
  Content = "content:all"
  ContentNotes = "content:notes"
  ContentPosts = "content:posts"
  ContentTickets = "content:tickets"

  # Conjoint
  Conjoint = "conjoint:all"
  ConjointMembers = "conjoint:members"
  ConjointAccounts = "conjoint:accounts"
  ConjointChannels = "conjoint:channels"
  ConjointContacts = "conjoint:contacts"
  ConjointMessages = "conjoint:messages"

  # Context
  Context = "context:all"
  ContextConfigs = "context:configs"
  ContextSettings = "context:settings"

  # Domain
  Domain = "domain:all"
  DomainApps = "domain:apps"
  DomainClients = "domain:clients"

  # Essential
  Essential = "essential:all"
  EssentialSagas = "essential:sagas"
  EssentialSagaStages = "essential:saga-stages"

  # Financial
  Financial = "financial:all"
  FinancialWallets = "financial:wallets"
  FinancialAccounts = "financial:accounts"
  FinancialInvoices = "financial:invoices"
  FinancialCurrencies = "financial:currencies"
  FinancialTransactions = "financial:transactions"

  # General
  General = "general:all"
  GeneralEvents = "general:events"
  GeneralComments = "general:comments"
  GeneralArtifacts = "general:artifacts"
  GeneralWorkflows = "general:workflows"
  GeneralActivities = "general:activities"

  # Identity
  Identity = "identity:all"
  IdentityUsers = "identity:users"
  IdentityProfiles = "identity:profiles"
  IdentitySessions = "identity:sessions"

  # Logistic
  Logistic = "logistic:all"
  LogisticCargoes = "logistic:cargoes"
  LogisticDrivers = "logistic:drivers"
  LogisticTravels = "logistic:travels"
  LogisticVehicles = "logistic:vehicles"
  LogisticLocations = "logistic:locations"

  # Special
  Special = "special:all"
  SpecialFiles = "special:files"
  SpecialStats = "special:stats"

  # Touch
  Touch = "touch:all"
  TouchSmss = "touch:smss"
  TouchEmails = "touch:emails"
  TouchPushes = "touch:pushes"
  TouchNotices = "touch:notices"
  TouchPusHistories = "touch:push-histories"

  # Thing
  Thing = "thing:all"
  ThingDevices = "thing:devices"
  ThingSensors = "thing:sensors"
  ThingMetrics = "thing:metrics"
