diff --git a/packages/console/package.json b/packages/console/package.json index 2c0928375..870a20e0e 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -26,7 +26,7 @@ "@fontsource/roboto-mono": "^5.0.0", "@jest/types": "^29.5.0", "@logto/app-insights": "workspace:^1.3.1", - "@logto/cloud": "0.2.5-5a698db", + "@logto/cloud": "0.2.5-5deb133", "@logto/connector-kit": "workspace:^2.0.0", "@logto/core-kit": "workspace:^2.2.1", "@logto/language-kit": "workspace:^1.0.0", diff --git a/packages/console/src/consts/plan-quotas.ts b/packages/console/src/consts/plan-quotas.ts index aa4d237a2..7939f93e5 100644 --- a/packages/console/src/consts/plan-quotas.ts +++ b/packages/console/src/consts/plan-quotas.ts @@ -80,13 +80,6 @@ export const ticketSupportResponseTimeMap: Record = [ReservedPlanId.Pro]: 48, }; -// @Todo @xiaoyijun [Pricing] read token limit from backend when it's ready -export const tokenLimitMap: Record> = { - [ReservedPlanId.Free]: 500_000, - [ReservedPlanId.Hobby]: 1_000_000, - [ReservedPlanId.Pro]: 1_000_000, -}; - export const allowedUsersPerOrganizationMap: Record | undefined> = { [ReservedPlanId.Free]: 0, [ReservedPlanId.Hobby]: null, @@ -147,6 +140,7 @@ const enterprisePlanTable: SubscriptionPlanTable = { standardConnectorsLimit: undefined, userManagementEnabled: true, rolesLimit: undefined, + machineToMachineRolesLimit: undefined, scopesPerRoleLimit: undefined, auditLogsRetentionDays: undefined, hooksLimit: undefined, @@ -197,6 +191,8 @@ export const planTableGroupKeyMap: SubscriptionPlanTableGroupKeyMap = Object.fre [SubscriptionPlanTableGroupKey.roles]: [ 'userManagementEnabled', 'rolesLimit', + // Todo @xiaoyijun [Pricing] Remove feature flag + ...condArray(isDevelopmentFeaturesEnabled && 'machineToMachineRolesLimit'), 'scopesPerRoleLimit', ], [SubscriptionPlanTableGroupKey.organizations]: [ diff --git a/packages/console/src/consts/quota-item-phrases.ts b/packages/console/src/consts/quota-item-phrases.ts index 715548286..b81d04635 100644 --- a/packages/console/src/consts/quota-item-phrases.ts +++ b/packages/console/src/consts/quota-item-phrases.ts @@ -7,6 +7,7 @@ export const quotaItemPhrasesMap: Record< TFuncKey<'translation', 'admin_console.subscription.quota_item'> > = { mauLimit: 'mau_limit.name', + tokenLimit: 'token_limit.name', applicationsLimit: 'applications_limit.name', machineToMachineLimit: 'machine_to_machine_limit.name', resourcesLimit: 'resources_limit.name', @@ -16,6 +17,7 @@ export const quotaItemPhrasesMap: Record< socialConnectorsLimit: 'social_connectors_limit.name', standardConnectorsLimit: 'standard_connectors_limit.name', rolesLimit: 'roles_limit.name', + machineToMachineRolesLimit: 'machine_to_machine_roles_limit.name', scopesPerRoleLimit: 'scopes_per_role_limit.name', hooksLimit: 'hooks_limit.name', auditLogsRetentionDays: 'audit_logs_retention_days.name', @@ -31,6 +33,7 @@ export const quotaItemUnlimitedPhrasesMap: Record< TFuncKey<'translation', 'admin_console.subscription.quota_item'> > = { mauLimit: 'mau_limit.unlimited', + tokenLimit: 'token_limit.unlimited', applicationsLimit: 'applications_limit.unlimited', machineToMachineLimit: 'machine_to_machine_limit.unlimited', resourcesLimit: 'resources_limit.unlimited', @@ -40,6 +43,7 @@ export const quotaItemUnlimitedPhrasesMap: Record< socialConnectorsLimit: 'social_connectors_limit.unlimited', standardConnectorsLimit: 'standard_connectors_limit.unlimited', rolesLimit: 'roles_limit.unlimited', + machineToMachineRolesLimit: 'machine_to_machine_roles_limit.unlimited', scopesPerRoleLimit: 'scopes_per_role_limit.unlimited', hooksLimit: 'hooks_limit.unlimited', auditLogsRetentionDays: 'audit_logs_retention_days.unlimited', @@ -55,6 +59,7 @@ export const quotaItemLimitedPhrasesMap: Record< TFuncKey<'translation', 'admin_console.subscription.quota_item'> > = { mauLimit: 'mau_limit.limited', + tokenLimit: 'token_limit.limited', applicationsLimit: 'applications_limit.limited', machineToMachineLimit: 'machine_to_machine_limit.limited', resourcesLimit: 'resources_limit.limited', @@ -64,6 +69,7 @@ export const quotaItemLimitedPhrasesMap: Record< socialConnectorsLimit: 'social_connectors_limit.limited', standardConnectorsLimit: 'standard_connectors_limit.limited', rolesLimit: 'roles_limit.limited', + machineToMachineRolesLimit: 'machine_to_machine_roles_limit.limited', scopesPerRoleLimit: 'scopes_per_role_limit.limited', hooksLimit: 'hooks_limit.limited', auditLogsRetentionDays: 'audit_logs_retention_days.limited', @@ -79,6 +85,7 @@ export const quotaItemNotEligiblePhrasesMap: Record< TFuncKey<'translation', 'admin_console.subscription.quota_item'> > = { mauLimit: 'mau_limit.not_eligible', + tokenLimit: 'token_limit.not_eligible', applicationsLimit: 'applications_limit.not_eligible', machineToMachineLimit: 'machine_to_machine_limit.not_eligible', resourcesLimit: 'resources_limit.not_eligible', @@ -88,6 +95,7 @@ export const quotaItemNotEligiblePhrasesMap: Record< socialConnectorsLimit: 'social_connectors_limit.not_eligible', standardConnectorsLimit: 'standard_connectors_limit.not_eligible', rolesLimit: 'roles_limit.not_eligible', + machineToMachineRolesLimit: 'machine_to_machine_roles_limit.not_eligible', scopesPerRoleLimit: 'scopes_per_role_limit.not_eligible', hooksLimit: 'hooks_limit.not_eligible', auditLogsRetentionDays: 'audit_logs_retention_days.not_eligible', diff --git a/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/PlanQuotaKeyLabel/index.tsx b/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/PlanQuotaKeyLabel/index.tsx index 13b9f5bbd..11f87a271 100644 --- a/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/PlanQuotaKeyLabel/index.tsx +++ b/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/PlanQuotaKeyLabel/index.tsx @@ -37,6 +37,7 @@ const planQuotaKeyPhraseMap: { ssoEnabled: 'user_authn.sso', userManagementEnabled: 'user_management.user_management', rolesLimit: 'user_management.roles', + machineToMachineRolesLimit: 'user_management.machine_to_machine_roles', scopesPerRoleLimit: 'user_management.scopes_per_role', hooksLimit: 'hooks.hooks', auditLogsRetentionDays: 'audit_logs.retention', diff --git a/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/renderers/index.tsx b/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/renderers/index.tsx index 78c11f237..a6d1cdae3 100644 --- a/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/renderers/index.tsx +++ b/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/renderers/index.tsx @@ -118,6 +118,9 @@ export const quotaValueRenderer: Record< ), rolesLimit: ({ table: { rolesLimit } }) => , + machineToMachineRolesLimit: ({ table: { machineToMachineRolesLimit } }) => ( + + ), scopesPerRoleLimit: ({ table: { scopesPerRoleLimit } }) => ( ), diff --git a/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/utils.ts b/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/utils.ts index 251292728..64ca779ac 100644 --- a/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/utils.ts +++ b/packages/console/src/pages/TenantSettings/Subscription/PlanComparisonTable/utils.ts @@ -14,7 +14,6 @@ import { passwordSignInEnabledMap, passwordlessSignInEnabledMap, smsConnectorsEnabledMap, - tokenLimitMap, userManagementEnabledMap, } from '@/consts/plan-quotas'; import { type SubscriptionPlanTableData, type SubscriptionPlan } from '@/types/subscriptions'; @@ -52,7 +51,6 @@ export const constructPlanTableDataArray = ( emailConnectorsEnabled: emailConnectorsEnabledMap[id], smsConnectorsEnabled: smsConnectorsEnabledMap[id], userManagementEnabled: userManagementEnabledMap[id], - tokenLimit: tokenLimitMap[id], allowedUsersPerOrganization: allowedUsersPerOrganizationMap[id], invitationEnabled: invitationEnabledMap[id], orgRolesLimit: orgRolesLimitMap[id], diff --git a/packages/console/src/types/subscriptions.ts b/packages/console/src/types/subscriptions.ts index 429de060b..468f956e9 100644 --- a/packages/console/src/types/subscriptions.ts +++ b/packages/console/src/types/subscriptions.ts @@ -31,11 +31,6 @@ export type SubscriptionPlanTable = Partial< SubscriptionPlanQuota & { // Base quota basePrice: string; - /** - * Token limit - * Todo @xiaoyijun [Pricing] retrieve the token limit from the backend - */ - tokenLimit: Nullable; mauUnitPrice: string[]; // UI and branding customCssEnabled: boolean; diff --git a/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-item.ts index 70a8ee6ef..a9ba1851c 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'Unbegrenzte MAU', not_eligible: 'Entferne alle Benutzer', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Anwendungen', limited: '{{count, number}} Anwendung', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Unbegrenzte Rollen', not_eligible: 'Entferne deine Rollen', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Berechtigungen pro Rolle', limited: '{{count, number}} Berechtigung pro Rolle', diff --git a/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-table.ts index f0d71ce10..8a217ac25 100644 --- a/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/de/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Benutzerverwaltung', user_management: 'Benutzerverwaltung', roles: 'Rollen', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Berechtigungen pro Rolle', }, audit_logs: { diff --git a/packages/phrases/src/locales/en/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/en/translation/admin-console/subscription/quota-item.ts index 0a8d892e0..c12a95ea4 100644 --- a/packages/phrases/src/locales/en/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/en/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'Unlimited MAU', not_eligible: 'Remove your all users', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Applications', limited: '{{count, number}} application', @@ -79,6 +91,13 @@ const quota_item = { unlimited: 'Unlimited roles', not_eligible: 'Remove your roles', }, + machine_to_machine_roles_limit: { + name: 'Machine to machine roles', + limited: '{{count, number}} machine to machine role', + limited_other: '{{count, number}} machine to machine roles', + unlimited: 'Unlimited machine to machine roles', + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Role permissions', limited: '{{count, number}} permission per role', diff --git a/packages/phrases/src/locales/en/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/en/translation/admin-console/subscription/quota-table.ts index 3d56e0625..23ffb31f9 100644 --- a/packages/phrases/src/locales/en/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/en/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,7 @@ const quota_table = { title: 'User management', user_management: 'User management', roles: 'Roles', + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Permissions per role', }, audit_logs: { diff --git a/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-item.ts index d0198586c..2a36a37b1 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'UAM ilimitados', not_eligible: 'Elimine a todos sus usuarios', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Aplicaciones', limited: '{{count, number}} aplicación', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Roles ilimitados', not_eligible: 'Elimine sus roles', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Permisos de roles', limited: '{{count, number}} permiso por rol', diff --git a/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-table.ts index 6174d6b75..62fef22d6 100644 --- a/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/es/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Gestión de usuarios', user_management: 'Gestión de usuarios', roles: 'Roles', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Permisos por rol', }, audit_logs: { diff --git a/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-item.ts index b76345d3d..dd7288f21 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'Illimité MAU', not_eligible: 'Supprimez tous vos utilisateurs', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Applications', limited: '{{count, number}} application', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Illimité rôles', not_eligible: 'Supprimez vos rôles', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Permissions de rôle', limited: '{{count, number}} permission par rôle', diff --git a/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-table.ts index 3cbfb9dd2..979024579 100644 --- a/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/fr/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Gestion des utilisateurs', user_management: 'Gestion des utilisateurs', roles: 'Rôles', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Autorisations par rôle', }, audit_logs: { diff --git a/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-item.ts index 3030b8417..4623047c3 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'Utenti attivi mensili illimitati', not_eligible: 'Rimuovi tutti i tuoi utenti', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Applicazioni', limited: '{{count, number}} applicazione', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Ruoli illimitati', not_eligible: 'Rimuovi i tuoi ruoli', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Permessi ruolo', limited: '{{count, number}} permesso per ruolo', diff --git a/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-table.ts index f061c18f6..a3fb203e6 100644 --- a/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/it/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Gestione utenti', user_management: 'Gestione utenti', roles: 'Ruoli', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Permessi per ruolo', }, audit_logs: { diff --git a/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-item.ts index 0475f12f9..31223b476 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: '無制限のMAU', not_eligible: '全てのユーザーを削除してください', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'アプリケーション', limited: '{{count, number}} アプリケーション', @@ -79,6 +91,18 @@ const quota_item = { unlimited: '無制限のロール', not_eligible: 'ロールを削除してください', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'ロールの権限', limited: '{{count, number}} ロールごとの権限', diff --git a/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-table.ts index 6f70e96dc..342b039aa 100644 --- a/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/ja/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'ユーザー管理', user_management: 'ユーザー管理', roles: 'ロール', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'ロールごとの権限', }, audit_logs: { diff --git a/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-item.ts index fde5548c8..63dfef4a8 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: '제한 없는 월간 활성 사용자', not_eligible: '모든 사용자를 제거하십시오', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: '애플리케이션', limited: '{{count, number}} 애플리케이션', @@ -79,6 +91,18 @@ const quota_item = { unlimited: '제한 없는 역할', not_eligible: '역할을 제거하십시오', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: '역할 권한', limited: '{{count, number}} 역할당 권한', diff --git a/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-table.ts index 474e33e21..0857b4027 100644 --- a/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/ko/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: '사용자 관리', user_management: '사용자 관리', roles: '역할', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: '역할 당 권한', }, audit_logs: { diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-item.ts index 499a38081..bb9b2198e 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'Nieograniczona liczba MAU', not_eligible: 'Usuń wszystkich użytkowników', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Liczba aplikacji', limited: '{{count, number}} aplikacja', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Nieograniczona liczba ról', not_eligible: 'Usuń swoje role', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Uprawnienia roli', limited: '{{count, number}} uprawnienie na rolę', diff --git a/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-table.ts index a708b853b..760bdc38e 100644 --- a/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/pl-pl/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Zarządzanie użytkownikami', user_management: 'Zarządzanie użytkownikami', roles: 'Role', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Uprawnienia na rolę', }, audit_logs: { diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-item.ts index 8a68d6757..ddc73cfcb 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'UAM ilimitados', not_eligible: 'Remova todos seus usuários', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Aplicações', limited: '{{count, number}} aplicação', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Funções ilimitadas', not_eligible: 'Remova suas funções', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Permissões de funções', limited: '{{count, number}} permissão por função', diff --git a/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-table.ts index 45a18054c..206f89633 100644 --- a/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/pt-br/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Gerenciamento de usuários', user_management: 'Gerenciamento de usuários', roles: 'Funções', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Permissões por função', }, audit_logs: { diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-item.ts index 0429dd4a2..8bf42be7b 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'Utilizadores ativos mensais ilimitados', not_eligible: 'Remover todos os utilizadores', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Aplicações', limited: '{{count, number}} aplicação', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Funções ilimitadas', not_eligible: 'Remover as tuas funções', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Permissões de função', limited: '{{count, number}} permissão por função', diff --git a/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-table.ts index 30a451d78..339a79cfc 100644 --- a/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/pt-pt/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Gestão de utilizadores', user_management: 'Gestão de utilizadores', roles: 'Funções', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Permissões por função', }, audit_logs: { diff --git a/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-item.ts index 0f33eee44..712b17af0 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'Неограниченное количество пользователей в месяц', not_eligible: 'Удалите всех своих пользователей', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Приложения', limited: '{{count, number}} приложение', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Неограниченное количество ролей', not_eligible: 'Удалите свои роли', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Разрешения роли', limited: '{{count, number}} разрешение на роль', diff --git a/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-table.ts index 0a11c046a..db834f899 100644 --- a/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/ru/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Управление пользователями', user_management: 'Управление пользователями', roles: 'Роли', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Разрешения на роль', }, audit_logs: { diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-item.ts index 52cafe28b..8068df523 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: 'Sınırsız MAU', not_eligible: 'Tüm kullanıcılarınızı kaldırın', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: 'Uygulamalar', limited: '{{count, number}} uygulama', @@ -79,6 +91,18 @@ const quota_item = { unlimited: 'Sınırsız roller', not_eligible: 'Rollerinizi kaldırın', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: 'Rol izinleri', limited: '{{count, number}} izin rol başına', diff --git a/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-table.ts index 0842e466e..b4dd525e0 100644 --- a/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/tr-tr/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: 'Kullanıcı Yönetimi', user_management: 'Kullanıcı Yönetimi', roles: 'Roller', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: 'Rol başına izinler', }, audit_logs: { diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-item.ts index f95e2c7ca..2913b577a 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: '无限制 MAU', not_eligible: '移除你的所有用户', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: '应用', limited: '{{count, number}} 个应用', @@ -79,6 +91,18 @@ const quota_item = { unlimited: '无限制角色', not_eligible: '移除你的角色', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: '角色权限', limited: '{{count, number}} 个权限每个角色', diff --git a/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-table.ts index c2d89defc..d3f295ddb 100644 --- a/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/zh-cn/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: '用户管理', user_management: '用户管理', roles: '角色', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: '每角色权限', }, audit_logs: { diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-item.ts index 5b7d753e9..43f48b7dd 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: '無限月活躍用戶', not_eligible: '刪除您的所有用戶', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: '應用程式', limited: '{{count, number}} 個應用程式', @@ -79,6 +91,18 @@ const quota_item = { unlimited: '無限角色', not_eligible: '刪除您的角色', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: '角色權限', limited: '{{count, number}} 個角色權限', diff --git a/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-table.ts index 63eae250a..0bfb67dda 100644 --- a/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/zh-hk/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: '用戶管理', user_management: '用戶管理', roles: '角色', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: '每角色權限', }, audit_logs: { diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-item.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-item.ts index 711a3debf..471973351 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-item.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-item.ts @@ -12,6 +12,18 @@ const quota_item = { unlimited: '不限月活用戶數', not_eligible: '移除您的所有用戶', }, + token_limit: { + /** UNTRANSLATED */ + name: 'Tokens', + /** UNTRANSLATED */ + limited: '{{count, number}} token', + /** UNTRANSLATED */ + limited_other: '{{count, number}} tokens', + /** UNTRANSLATED */ + unlimited: 'Unlimited tokens', + /** UNTRANSLATED */ + not_eligible: 'Remove your all users to prevent new tokens', + }, applications_limit: { name: '應用程式', limited: '{{count, number}} 應用程式', @@ -79,6 +91,18 @@ const quota_item = { unlimited: '不限角色數', not_eligible: '移除您的角色', }, + machine_to_machine_roles_limit: { + /** UNTRANSLATED */ + name: 'Machine to machine roles', + /** UNTRANSLATED */ + limited: '{{count, number}} machine to machine role', + /** UNTRANSLATED */ + limited_other: '{{count, number}} machine to machine roles', + /** UNTRANSLATED */ + unlimited: 'Unlimited machine to machine roles', + /** UNTRANSLATED */ + not_eligible: 'Remove your machine to machine roles', + }, scopes_per_role_limit: { name: '角色權限', limited: '{{count, number}} 權限每角色', diff --git a/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-table.ts b/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-table.ts index c44f0b3c8..642513f69 100644 --- a/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-table.ts +++ b/packages/phrases/src/locales/zh-tw/translation/admin-console/subscription/quota-table.ts @@ -41,6 +41,8 @@ const quota_table = { title: '使用者管理', user_management: '使用者管理', roles: '角色', + /** UNTRANSLATED */ + machine_to_machine_roles: 'Machine-to-machine roles', scopes_per_role: '每角色權限', }, audit_logs: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ef80be4a..2e4ceefd9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2840,8 +2840,8 @@ importers: specifier: workspace:^1.3.1 version: link:../app-insights '@logto/cloud': - specifier: 0.2.5-5a698db - version: 0.2.5-5a698db(zod@3.22.4) + specifier: 0.2.5-5deb133 + version: 0.2.5-5deb133(zod@3.22.4) '@logto/connector-kit': specifier: workspace:^2.0.0 version: link:../toolkit/connector-kit @@ -7512,16 +7512,6 @@ packages: jose: 5.0.1 dev: true - /@logto/cloud@0.2.5-5a698db(zod@3.22.4): - resolution: {integrity: sha512-khGNmCJgUBQCpIxsewsoeaPHDtR5FgX03SSAYfaPJATxvMS8j+B0BeGP6J2OTsH5iB86K6dJ4BJwKlB2cweY4g==} - engines: {node: ^18.12.0} - dependencies: - '@silverhand/essentials': 2.8.5 - '@withtyped/server': 0.12.9(zod@3.22.4) - transitivePeerDependencies: - - zod - dev: true - /@logto/cloud@0.2.5-5deb133(zod@3.22.4): resolution: {integrity: sha512-3itFraudBBc3bcS6qiBFHXQKoDYPFihxRu+L4HqDVEwTCBJfVVgGgD4F0fMpSpC+ouJY+VVdZGh7Yn9772B5fg==} engines: {node: ^18.12.0}