adminFront/src/model/privilege.ts

50 lines
1.2 KiB
TypeScript

export const SERVICE_LIST = [
{
serviceKey: "templategen",
displayName: "Шаблонизатор документов",
},
{
serviceKey: "squiz",
displayName: "Опросник",
},
{
serviceKey: "dwarfener",
displayName: "Аналитика сокращателя",
},
] as const;
export interface RealPrivilege {
createdAt: string;
description: string;
isDeleted: boolean;
name: string;
price: number;
privilegeId: string;
serviceKey: ServiceType;
type: "count" | "day" | "mb";
updatedAt: string;
value: string;
_id: string;
};
export interface mergedBackFrontPrivilege {
serviceKey: ServiceType;
privilegeId: string;
name: string;
description: string;
type: "count" | "day" | "mb";
amount?: number;
price: number;
isDeleted?: boolean;
value?: string
id?: string
}
export type ServiceType = (typeof SERVICE_LIST)[number]["serviceKey"];
// export type PrivilegeMap = Record<string, RealPrivilege[]>;
// export type PrivilegeValueType = "шаблон" | "день" | "МБ";
// export type PrivilegeWithAmount = Omit<RealPrivilege, "_id"> & { amount: number; };
// export type PrivilegeWithoutPrice = Omit<PrivilegeWithAmount, "price">;