diff --git a/services/web/app/src/models/User.js b/services/web/app/src/models/User.js index d1be356197..bdf8a4c4ed 100644 --- a/services/web/app/src/models/User.js +++ b/services/web/app/src/models/User.js @@ -58,6 +58,7 @@ const UserSchema = new Schema( enrolledAt: { type: Date }, }, isAdmin: { type: Boolean, default: false }, + adminRoles: { type: Array }, staffAccess: { publisherMetrics: { type: Boolean, default: false }, publisherManagement: { type: Boolean, default: false }, diff --git a/services/web/config/settings.defaults.js b/services/web/config/settings.defaults.js index 66f29de333..bd0730d5d0 100644 --- a/services/web/config/settings.defaults.js +++ b/services/web/config/settings.defaults.js @@ -387,6 +387,7 @@ module.exports = { adminUrl: process.env.ADMIN_URL, adminOnlyLogin: process.env.ADMIN_ONLY_LOGIN === 'true', adminPrivilegeAvailable: process.env.ADMIN_PRIVILEGE_AVAILABLE === 'true', + adminRolesEnabled: false, blockCrossOriginRequests: process.env.BLOCK_CROSS_ORIGIN_REQUESTS === 'true', allowedOrigins: (process.env.ALLOWED_ORIGINS || siteUrl).split(','), diff --git a/services/web/frontend/js/utils/meta.ts b/services/web/frontend/js/utils/meta.ts index 26a116a494..5eec4e297b 100644 --- a/services/web/frontend/js/utils/meta.ts +++ b/services/web/frontend/js/utils/meta.ts @@ -58,6 +58,7 @@ import { FooterMetadata } from '@/features/ui/components/types/footer-metadata' import type { ScriptLogType } from '../../../modules/admin-panel/frontend/js/features/script-logs/script-log' import { ActiveExperiment } from './labs-utils' import { Subscription as AdminSubscription } from '../../../types/admin/subscription' +import { AdminCapability } from '../../../types/admin-capabilities' export interface Meta { 'ol-ExposedSettings': ExposedSettings @@ -65,6 +66,7 @@ export interface Meta { string, { annual: string; monthly: string; annualDividedByTwelve: string } > + 'ol-adminCapabilities': AdminCapability[] 'ol-adminSubscription': AdminSubscription 'ol-aiAssistViaWritefullSource': string 'ol-allInReconfirmNotificationPeriods': UserEmailData[] diff --git a/services/web/types/admin-capabilities.ts b/services/web/types/admin-capabilities.ts new file mode 100644 index 0000000000..7d87c77a15 --- /dev/null +++ b/services/web/types/admin-capabilities.ts @@ -0,0 +1,3 @@ +export type AdminCapability = 'modify-user-email' | 'view-project' + +export type AdminRole = 'engineering'