50 lines
1.2 KiB
TypeScript
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">;
|