Files
HiveGrid-Wireframes/hivegrid-cloud/apps/web/app/modules/notifications/services/NotificationChannels.ts
T

87 lines
2.5 KiB
TypeScript

import { DefaultAdminRoles } from "~/application/dtos/shared/DefaultAdminRoles";
import { DefaultAppRoles } from "~/application/dtos/shared/DefaultAppRoles";
const NotificationChannelTypes = [
"admin-accounts",
"admin-users",
"admin-subscriptions",
"admin-api-keys",
"admin-emails",
"admin-groups",
"admin-linked-accounts",
"admin-account-members",
"admin-onboarding",
"admin-rows",
"roles",
"my-rows",
] as const;
export type NotificationChannel = typeof NotificationChannelTypes[number];
export interface NotificationChannelDto {
name: NotificationChannel;
descriptionKey: `notifications.admin.channelDescriptions.${NotificationChannel}`;
roles?: string[];
}
export const NotificationChannels: NotificationChannelDto[] = [
{
name: "admin-accounts",
descriptionKey: "notifications.admin.channelDescriptions.admin-accounts",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-users",
descriptionKey: "notifications.admin.channelDescriptions.admin-users",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-subscriptions",
descriptionKey: "notifications.admin.channelDescriptions.admin-subscriptions",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-api-keys",
descriptionKey: "notifications.admin.channelDescriptions.admin-api-keys",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-emails",
descriptionKey: "notifications.admin.channelDescriptions.admin-emails",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-groups",
descriptionKey: "notifications.admin.channelDescriptions.admin-groups",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-linked-accounts",
descriptionKey: "notifications.admin.channelDescriptions.admin-linked-accounts",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-account-members",
descriptionKey: "notifications.admin.channelDescriptions.admin-account-members",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-onboarding",
descriptionKey: "notifications.admin.channelDescriptions.admin-onboarding",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "admin-rows",
descriptionKey: "notifications.admin.channelDescriptions.admin-rows",
roles: [DefaultAdminRoles.SuperAdmin],
},
{
name: "roles",
descriptionKey: "notifications.admin.channelDescriptions.roles",
roles: [DefaultAppRoles.SuperUser],
},
{
name: "my-rows",
descriptionKey: "notifications.admin.channelDescriptions.my-rows",
},
];