44 lines
964 B
TypeScript
44 lines
964 B
TypeScript
import { create } from "zustand";
|
|
import { persist } from "zustand/middleware";
|
|
|
|
type mergedPrivilege = {
|
|
createdAt?: string;
|
|
description: string;
|
|
isDeleted?: boolean;
|
|
name: string;
|
|
price: number;
|
|
privilegeId: string;
|
|
serviceKey: string;
|
|
type: "count" | "day" | "mb";
|
|
updatedAt?: string;
|
|
value?: string;
|
|
_id?: string;
|
|
};
|
|
|
|
type MergedPrivilegeType = {
|
|
mergedPrivileges: mergedPrivilege[];
|
|
isError: boolean;
|
|
errorMessage: string;
|
|
};
|
|
|
|
export const mergedPrivilegeStore = create<MergedPrivilegeType>()(
|
|
persist(
|
|
(set, get) => ({
|
|
mergedPrivileges: [],
|
|
isError: false,
|
|
errorMessage: "",
|
|
}),
|
|
{
|
|
name: "MergedPrivileg store",
|
|
}
|
|
)
|
|
);
|
|
|
|
export const addMergedPrivileges = (newPrivileges: mergedPrivilege[], isError: boolean, errorMessage: string) => {
|
|
mergedPrivilegeStore.setState((state) => ({
|
|
mergedPrivileges: [...newPrivileges],
|
|
isError: isError,
|
|
errorMessage: errorMessage,
|
|
}));
|
|
};
|