package mservice import "github.com/tech/sendico/pkg/merrors" type Type = string const ( Accounts Type = "accounts" // Represents user accounts in the system Amplitude Type = "amplitude" // Represents analytics integration with Amplitude Site Type = "site" // Represents public site endpoints Automations Type = "automation" // Represents automation workflows Changes Type = "changes" // Tracks changes made to resources Clients Type = "clients" // Represents client information Comments Type = "comments" // Represents comments on tasks or other resources ChainGateway Type = "chain_gateway" // Represents chain gateway microservice FXOracle Type = "fx_oracle" // Represents FX oracle microservice FeePlans Type = "fee_plans" // Represents fee plans microservice FilterProjects Type = "filter_projects" // Represents comments on tasks or other resources Invitations Type = "invitations" // Represents invitations sent to users Invoices Type = "invoices" // Represents invoices Logo Type = "logo" // Represents logos for organizations or projects Ledger Type = "ledger" // Represents ledger microservice LedgerAccounts Type = "ledger_accounts" // Represents ledger accounts microservice LedgerBalances Type = "ledger_balances" // Represents ledger account balances microservice LedgerEntries Type = "ledger_journal_entries" // Represents ledger journal entries microservice LedgerOutbox Type = "ledger_outbox" // Represents ledger outbox microservice LedgerParties Type = "ledger_parties" // Represents ledger account owner parties microservice LedgerPlines Type = "ledger_posting_lines" // Represents ledger journal posting lines microservice PaymentOrchestrator Type = "payment_orchestrator" // Represents payment orchestration microservice ChainWallets Type = "chain_wallets" // Represents managed chain wallets ChainWalletBalances Type = "chain_wallet_balances" // Represents managed chain wallet balances ChainTransfers Type = "chain_transfers" // Represents chain transfers ChainDeposits Type = "chain_deposits" // Represents chain deposits Notifications Type = "notifications" // Represents notifications sent to users Organizations Type = "organizations" // Represents organizations in the system Payments Type = "payments" // Represents payments service Permissions Type = "permissions" // Represents permissiosns service Policies Type = "policies" // Represents access control policies PolicyAssignements Type = "policy_assignments" // Represents policy assignments database Priorities Type = "priorities" // Represents object properties PriorityGroups Type = "priority_groups" // Represents task or project priorities Projects Type = "projects" // Represents projects managed in the system PropertyBindings Type = "property_bindings" // Represents properties bindings of resources PropertySchemas Type = "property_schemas" // Represents properties or attributes of resources Properties Type = "properties" // Represents property values of the propertites of specific objects Reactions Type = "reactions" // Represents comment reactions RefreshTokens Type = "refresh_tokens" // Represents refresh tokens for authentication Roles Type = "roles" // Represents roles in access control Statuses Type = "statuses" // Represents statuses of tasks or projects StatusGroups Type = "status_groups" // Represents status groups Steps Type = "steps" // Represents steps in workflows or processes Storage Type = "storage" // Represents statuses of tasks or projects Tags Type = "tags" // Represents tags managed in the system Tasks Type = "tasks" // Represents tasks managed in the system Teams Type = "teams" // Represents teams managed in the system Tenants Type = "tenants" // Represents tenants managed in the system Workflows Type = "workflows" // Represents workflows for tasks or projects Workspaces Type = "workspaces" // Represents workspaces containing projects and teams ) func StringToSType(s string) (Type, error) { switch Type(s) { case Accounts, Amplitude, Site, Automations, Changes, Clients, Comments, ChainGateway, ChainWallets, ChainWalletBalances, ChainTransfers, ChainDeposits, FXOracle, FeePlans, FilterProjects, Invitations, Invoices, Logo, Ledger, LedgerAccounts, LedgerBalances, LedgerEntries, LedgerOutbox, LedgerParties, LedgerPlines, Notifications, Organizations, Payments, PaymentOrchestrator, Permissions, Policies, PolicyAssignements, Priorities, PriorityGroups, Projects, PropertyBindings, PropertySchemas, Properties, Reactions, RefreshTokens, Roles, Statuses, StatusGroups, Steps, Storage, Tags, Tasks, Teams, Tenants, Workflows, Workspaces: return Type(s), nil default: return "", merrors.DataConflict("invalid service type: " + s) } }