// Code generated by ogen, DO NOT EDIT. package api import ( "context" "net/http" "github.com/go-faster/errors" ) // SecuritySource is provider of security values (tokens, passwords, etc.). type SecuritySource interface { // Authorization provides Authorization security value. // JWT obtained login. Authorization(ctx context.Context, operationName OperationName) (Authorization, error) } // operationRolesAuthorization is a private map storing roles per operation. var operationRolesAuthorization = map[string][]string{ ApiTokensCreateOperation: []string{}, ApiTokensDeleteOperation: []string{}, ApiTokensFindAllOperation: []string{}, BandwidthStatsNodesGetNodeUserUsageOperation: []string{}, BandwidthStatsNodesGetStatsNodeUsersUsageOperation: []string{}, BandwidthStatsUsersGetStatsNodesUsageOperation: []string{}, BandwidthStatsUsersGetUserUsageByRangeOperation: []string{}, ConfigProfileCreateConfigProfileOperation: []string{}, ConfigProfileDeleteConfigProfileByUuidOperation: []string{}, ConfigProfileGetAllInboundsOperation: []string{}, ConfigProfileGetComputedConfigProfileByUuidOperation: []string{}, ConfigProfileGetConfigProfileByUuidOperation: []string{}, ConfigProfileGetConfigProfilesOperation: []string{}, ConfigProfileGetInboundsByProfileUuidOperation: []string{}, ConfigProfileReorderConfigProfilesOperation: []string{}, ConfigProfileUpdateConfigProfileOperation: []string{}, ExternalSquadAddUsersToExternalSquadOperation: []string{}, ExternalSquadCreateExternalSquadOperation: []string{}, ExternalSquadDeleteExternalSquadOperation: []string{}, ExternalSquadGetExternalSquadByUuidOperation: []string{}, ExternalSquadGetExternalSquadsOperation: []string{}, ExternalSquadRemoveUsersFromExternalSquadOperation: []string{}, ExternalSquadReorderExternalSquadsOperation: []string{}, ExternalSquadUpdateExternalSquadOperation: []string{}, HostsBulkActionsDeleteHostsOperation: []string{}, HostsBulkActionsDisableHostsOperation: []string{}, HostsBulkActionsEnableHostsOperation: []string{}, HostsBulkActionsSetInboundToHostsOperation: []string{}, HostsBulkActionsSetPortToHostsOperation: []string{}, HostsCreateHostOperation: []string{}, HostsDeleteHostOperation: []string{}, HostsGetAllHostTagsOperation: []string{}, HostsGetAllHostsOperation: []string{}, HostsGetOneHostOperation: []string{}, HostsReorderHostsOperation: []string{}, HostsUpdateHostOperation: []string{}, HwidUserDevicesCreateUserHwidDeviceOperation: []string{}, HwidUserDevicesDeleteAllUserHwidDevicesOperation: []string{}, HwidUserDevicesDeleteUserHwidDeviceOperation: []string{}, HwidUserDevicesGetAllUsersOperation: []string{}, HwidUserDevicesGetHwidDevicesStatsOperation: []string{}, HwidUserDevicesGetTopUsersByHwidDevicesOperation: []string{}, HwidUserDevicesGetUserHwidDevicesOperation: []string{}, InfraBillingCreateInfraBillingHistoryRecordOperation: []string{}, InfraBillingCreateInfraBillingNodeOperation: []string{}, InfraBillingCreateInfraProviderOperation: []string{}, InfraBillingDeleteInfraBillingHistoryRecordByUuidOperation: []string{}, InfraBillingDeleteInfraBillingNodeByUuidOperation: []string{}, InfraBillingDeleteInfraProviderByUuidOperation: []string{}, InfraBillingGetBillingNodesOperation: []string{}, InfraBillingGetInfraBillingHistoryRecordsOperation: []string{}, InfraBillingGetInfraProviderByUuidOperation: []string{}, InfraBillingGetInfraProvidersOperation: []string{}, InfraBillingUpdateInfraBillingNodeOperation: []string{}, InfraBillingUpdateInfraProviderOperation: []string{}, InternalSquadAddUsersToInternalSquadOperation: []string{}, InternalSquadCreateInternalSquadOperation: []string{}, InternalSquadDeleteInternalSquadOperation: []string{}, InternalSquadGetInternalSquadAccessibleNodesOperation: []string{}, InternalSquadGetInternalSquadByUuidOperation: []string{}, InternalSquadGetInternalSquadsOperation: []string{}, InternalSquadRemoveUsersFromInternalSquadOperation: []string{}, InternalSquadReorderInternalSquadsOperation: []string{}, InternalSquadUpdateInternalSquadOperation: []string{}, IpControlDropConnectionsOperation: []string{}, IpControlFetchUserIpsOperation: []string{}, IpControlFetchUsersIpsOperation: []string{}, IpControlGetFetchIpsResultOperation: []string{}, IpControlGetFetchUsersIpsResultOperation: []string{}, KeygenGenerateKeyOperation: []string{}, MetadataGetNodeMetadataOperation: []string{}, MetadataGetUserMetadataOperation: []string{}, MetadataUpsertNodeMetadataOperation: []string{}, MetadataUpsertUserMetadataOperation: []string{}, NodePluginCloneNodePluginOperation: []string{}, NodePluginCreateConfigOperation: []string{}, NodePluginDeleteConfigOperation: []string{}, NodePluginGetAllConfigsOperation: []string{}, NodePluginGetConfigByUuidOperation: []string{}, NodePluginPluginExecutorOperation: []string{}, NodePluginReorderNodePluginsOperation: []string{}, NodePluginUpdateConfigOperation: []string{}, NodesBulkNodesActionsOperation: []string{}, NodesBulkNodesUpdateOperation: []string{}, NodesCreateNodeOperation: []string{}, NodesDeleteNodeOperation: []string{}, NodesDisableNodeOperation: []string{}, NodesEnableNodeOperation: []string{}, NodesGetAllNodesOperation: []string{}, NodesGetAllNodesTagsOperation: []string{}, NodesGetOneNodeOperation: []string{}, NodesProfileModificationOperation: []string{}, NodesReorderNodesOperation: []string{}, NodesResetNodeTrafficOperation: []string{}, NodesRestartAllNodesOperation: []string{}, NodesRestartNodeOperation: []string{}, NodesUpdateNodeOperation: []string{}, NodesUsageHistoryGetStatsNodesUsageOperation: []string{}, PasskeyDeletePasskeyOperation: []string{}, PasskeyGetActivePasskeysOperation: []string{}, PasskeyPasskeyRegistrationOptionsOperation: []string{}, PasskeyPasskeyRegistrationVerifyOperation: []string{}, PasskeyUpdatePasskeyOperation: []string{}, RemnawaveSettingsGetSettingsOperation: []string{}, RemnawaveSettingsUpdateSettingsOperation: []string{}, SnippetsCreateSnippetOperation: []string{}, SnippetsDeleteSnippetByNameOperation: []string{}, SnippetsGetSnippetsOperation: []string{}, SnippetsUpdateSnippetOperation: []string{}, SubscriptionPageConfigCloneSubscriptionPageConfigOperation: []string{}, SubscriptionPageConfigCreateConfigOperation: []string{}, SubscriptionPageConfigDeleteConfigOperation: []string{}, SubscriptionPageConfigGetAllConfigsOperation: []string{}, SubscriptionPageConfigGetConfigByUuidOperation: []string{}, SubscriptionPageConfigReorderSubscriptionPageConfigsOperation: []string{}, SubscriptionPageConfigUpdateConfigOperation: []string{}, SubscriptionSettingsGetSettingsOperation: []string{}, SubscriptionSettingsUpdateSettingsOperation: []string{}, SubscriptionTemplateCreateTemplateOperation: []string{}, SubscriptionTemplateDeleteTemplateOperation: []string{}, SubscriptionTemplateGetAllTemplatesOperation: []string{}, SubscriptionTemplateGetTemplateByUuidOperation: []string{}, SubscriptionTemplateReorderSubscriptionTemplatesOperation: []string{}, SubscriptionTemplateUpdateTemplateOperation: []string{}, SubscriptionsGetAllSubscriptionsOperation: []string{}, SubscriptionsGetConnectionKeysByUuidOperation: []string{}, SubscriptionsGetRawSubscriptionByShortUuidOperation: []string{}, SubscriptionsGetSubpageConfigByShortUuidOperation: []string{}, SubscriptionsGetSubscriptionByShortUuidProtectedOperation: []string{}, SubscriptionsGetSubscriptionByUsernameOperation: []string{}, SubscriptionsGetSubscriptionByUuidOperation: []string{}, SystemDebugSrrMatcherOperation: []string{}, SystemEncryptHappCryptoLinkOperation: []string{}, SystemGetBandwidthStatsOperation: []string{}, SystemGetMetadataOperation: []string{}, SystemGetNodesMetricsOperation: []string{}, SystemGetNodesStatisticsOperation: []string{}, SystemGetRecapOperation: []string{}, SystemGetRemnawaveHealthOperation: []string{}, SystemGetStatsOperation: []string{}, SystemGetX25519KeypairsOperation: []string{}, TorrentBlockerReportsGetTorrentBlockerReportsOperation: []string{}, TorrentBlockerReportsGetTorrentBlockerReportsStatsOperation: []string{}, TorrentBlockerReportsTruncateTorrentBlockerReportsOperation: []string{}, UserSubscriptionRequestHistoryGetSubscriptionRequestHistoryOperation: []string{}, UserSubscriptionRequestHistoryGetSubscriptionRequestHistoryStatsOperation: []string{}, UsersBulkActionsBulkAllExtendExpirationDateOperation: []string{}, UsersBulkActionsBulkAllResetUserTrafficOperation: []string{}, UsersBulkActionsBulkDeleteUsersOperation: []string{}, UsersBulkActionsBulkDeleteUsersByStatusOperation: []string{}, UsersBulkActionsBulkExtendExpirationDateOperation: []string{}, UsersBulkActionsBulkResetUserTrafficOperation: []string{}, UsersBulkActionsBulkRevokeUsersSubscriptionOperation: []string{}, UsersBulkActionsBulkUpdateAllUsersOperation: []string{}, UsersBulkActionsBulkUpdateUsersOperation: []string{}, UsersBulkActionsBulkUpdateUsersInternalSquadsOperation: []string{}, UsersCreateUserOperation: []string{}, UsersDeleteUserOperation: []string{}, UsersDisableUserOperation: []string{}, UsersEnableUserOperation: []string{}, UsersGetAllTagsOperation: []string{}, UsersGetAllUsersOperation: []string{}, UsersGetUserAccessibleNodesOperation: []string{}, UsersGetUserByIdOperation: []string{}, UsersGetUserByShortUuidOperation: []string{}, UsersGetUserByTelegramIdOperation: []string{}, UsersGetUserByUsernameOperation: []string{}, UsersGetUserByUuidOperation: []string{}, UsersGetUserSubscriptionRequestHistoryOperation: []string{}, UsersGetUsersByEmailOperation: []string{}, UsersGetUsersByTagOperation: []string{}, UsersResetUserTrafficOperation: []string{}, UsersResolveUserOperation: []string{}, UsersRevokeUserSubscriptionOperation: []string{}, UsersUpdateUserOperation: []string{}, } // GetRolesForAuthorization returns the required roles for the given operation. // // This is useful for authorization scenarios where you need to know which roles // are required for an operation. // // Example: // // requiredRoles := GetRolesForAuthorization(AddPetOperation) // // Returns nil if the operation has no role requirements or if the operation is unknown. func GetRolesForAuthorization(operation string) []string { roles, ok := operationRolesAuthorization[operation] if !ok { return nil } // Return a copy to prevent external modification result := make([]string, len(roles)) copy(result, roles) return result } func (s *Client) securityAuthorization(ctx context.Context, operationName OperationName, req *http.Request) error { t, err := s.sec.Authorization(ctx, operationName) if err != nil { return errors.Wrap(err, "security source \"Authorization\"") } req.Header.Set("Authorization", "Bearer "+t.Token) return nil }