62 lines
4.4 KiB
Go
62 lines
4.4 KiB
Go
package mservice
|
|
|
|
import "github.com/tech/sendico/pkg/merrors"
|
|
|
|
type Type = string
|
|
|
|
const (
|
|
Accounts Type = "accounts" // Represents user accounts in the system
|
|
Confirmations Type = "confirmations" // Represents confirmation code flows
|
|
Amplitude Type = "amplitude" // Represents analytics integration with Amplitude
|
|
Site Type = "site" // Represents public site endpoints
|
|
Changes Type = "changes" // Tracks changes made to resources
|
|
Clients Type = "clients" // Represents client information
|
|
ChainGateway Type = "chain_gateway" // Represents chain gateway microservice
|
|
MntxGateway Type = "mntx_gateway" // Represents Monetix 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
|
|
PaymentMethods Type = "payment_methods" // Represents payment methods service
|
|
Permissions Type = "permissions" // Represents permissiosns service
|
|
Policies Type = "policies" // Represents access control policies
|
|
PolicyAssignements Type = "policy_assignments" // Represents policy assignments database
|
|
Recipients Type = "recipients" // Represents payment recipients
|
|
RefreshTokens Type = "refresh_tokens" // Represents refresh tokens for authentication
|
|
Roles Type = "roles" // Represents roles in access control
|
|
Storage Type = "storage" // Represents statuses of tasks or projects
|
|
Tenants Type = "tenants" // Represents tenants managed in the system
|
|
Wallets Type = "wallets" // Represents workflows for tasks or projects
|
|
Workflows Type = "workflows" // Represents workflows for tasks or projects
|
|
)
|
|
|
|
func StringToSType(s string) (Type, error) {
|
|
switch Type(s) {
|
|
case Accounts, Confirmations, Amplitude, Site, Changes, Clients, ChainGateway, ChainWallets, ChainWalletBalances,
|
|
ChainTransfers, ChainDeposits, MntxGateway, FXOracle, FeePlans, FilterProjects, Invitations, Invoices, Logo, Ledger,
|
|
LedgerAccounts, LedgerBalances, LedgerEntries, LedgerOutbox, LedgerParties, LedgerPlines, Notifications,
|
|
Organizations, Payments, PaymentOrchestrator, Permissions, Policies, PolicyAssignements,
|
|
RefreshTokens, Roles, Storage, Tenants, Workflows:
|
|
return Type(s), nil
|
|
default:
|
|
return "", merrors.InvalidArgument("invalid service type", s)
|
|
}
|
|
}
|