denwa-react-shared
Version:
172 lines (171 loc) • 4.09 kB
TypeScript
import { GetProp, UploadProps } from 'antd';
export type OptionType = {
label: string;
value: string | number;
};
export interface IPaginate {
page: number | null;
pages: number | null;
previous?: number | null;
next?: number | null;
count: number | null;
limit: number | null;
}
export type FileType = Parameters<GetProp<UploadProps, 'beforeUpload'>>[0];
export interface Session {
id: string;
profileId: string;
phone?: string;
email?: string;
name?: string;
surname?: string;
roles: string[];
maxRolePriority: number | undefined;
isAllDomains?: boolean;
domains?: string[];
tokens?: {
accessToken: {
token: string;
exp: number;
};
refreshToken: {
token: string;
exp: number;
};
};
}
export interface IServerImage {
altRU?: string;
altEN?: string;
altAR?: string;
name: string;
originalFileExtension: string;
entityId: string;
fullPathExample: string;
prefixes?: string[];
fileExtensions?: string[];
folder?: string;
}
export interface IServerFile {
name: string;
fullName: string;
extension: string;
entityId: string;
fullPathExample: string;
folder?: string;
}
export interface IFormFile {
tempName: string;
uid: string;
}
export interface ITempFiles {
tempName: string;
}
export interface ITempImages extends ITempFiles {
altRU?: string;
altEN?: string;
altAR?: string;
}
export interface IAllFiles {
name: string | null;
tempName: string | null;
}
export interface IAllImages extends IAllFiles {
altRU?: string | null;
altEN?: string | null;
altAR?: string | null;
}
export interface IServerFileForm {
uid?: string;
url?: string;
}
export interface IServerImageForm extends IServerFileForm {
altRU?: string | null;
altEN?: string | null;
altAR?: string | null;
}
export interface IResultFile {
tempName?: string;
uid?: string;
url?: string;
}
export interface IResultImage extends IResultFile {
altRU?: string | null;
altEN?: string | null;
altAR?: string | null;
}
export interface IAllFiles {
name: string | null;
tempName: string | null;
}
export interface IAllImages extends IAllFiles {
altRU?: string | null;
altEN?: string | null;
altAR?: string | null;
}
export interface UploadFile {
uid: string;
name: string;
isError?: boolean;
}
export interface IUploadImage extends UploadFile {
altRU?: string;
altEN?: string;
altAR?: string;
}
export declare enum Languages {
'russian' = "ru",
'english' = "en",
'arabic' = "ar"
}
export type LanguagesTypes = 'ru' | 'en' | 'ar';
export declare enum MonthsNumber {
January = 1,
February = 2,
March = 3,
April = 4,
May = 5,
June = 6,
July = 7,
August = 8,
September = 9,
October = 10,
November = 11,
December = 12
}
export type NoUndefinedRangeValueType<DateType> = [start: DateType | null, end: DateType | null];
export type RangeValueType<DateType> = [
start: DateType | null | undefined,
end: DateType | null | undefined
];
export interface AdminDrawerFormProps<T> {
id?: string;
action?: T;
onClose?: () => void;
onRefetch?: () => void;
onChangeActionValue?: (value: T) => void;
}
export interface IUploadImagesStore {
images: IUploadImage[];
updatedImages: IUploadImage[];
onUpdateData: (data: IUploadImage) => void;
onSetData: (data: IUploadImage[]) => void;
onDeleteImage: (uid: string) => void;
onAllDelete: () => void;
}
export interface IImageFile {
imageName: string;
originalFileExtension: string;
entityId: string;
fullPathExample: string;
prefixes?: string[];
fileExtensions?: string[];
folder?: string;
}
export type GetErrorType = ({ error, message }: {
error?: unknown;
message?: string;
}) => void;
export type ToUnion<T extends Record<string, string | number>> = keyof {
[Prop in keyof T as `${T[Prop]}`]: Prop;
};