felicity-lims/webapp/models/storage.ts

92 lines
2 KiB
TypeScript
Raw Normal View History

2023-04-10 09:29:10 +08:00
import { ISample } from './analysis';
import { IUser } from './auth';
export interface IStoreRoom {
2023-03-19 23:21:32 +08:00
uid?: string;
name?: String;
description?: String;
createdAt?: Date;
2023-03-19 23:21:32 +08:00
createdByUid?: string;
createdBy?: IUser;
updatedAt?: Date;
2023-03-19 23:21:32 +08:00
updatedByUid?: string;
updatedBy?: IUser;
children?: IStorageLocation[];
tag?: string;
isOpen?: boolean;
isFolder?: boolean;
}
export interface IStorageLocation {
2023-03-19 23:21:32 +08:00
uid?: string;
name?: String;
description?: String;
2023-03-19 23:21:32 +08:00
storeRoomUid?: string;
storeRoom?: IStoreRoom;
createdAt?: Date;
2023-03-19 23:21:32 +08:00
createdByUid?: string;
createdBy?: IUser;
updatedAt?: Date;
2023-03-19 23:21:32 +08:00
updatedByUid?: string;
updatedBy?: IUser;
2023-04-10 09:29:10 +08:00
children?: IStorageSection[];
tag?: string;
isOpen?: boolean;
isFolder?: boolean;
}
export interface IStorageSection {
2023-03-19 23:21:32 +08:00
uid?: string;
name?: String;
description?: String;
2023-03-19 23:21:32 +08:00
storageLocationUid?: string;
storageLocation?: IStorageLocation;
createdAt?: Date;
2023-03-19 23:21:32 +08:00
createdByUid?: string;
createdBy?: IUser;
updatedAt?: Date;
2023-03-19 23:21:32 +08:00
updatedByUid?: string;
updatedBy?: IUser;
2023-04-10 09:29:10 +08:00
children?: IStorageContainer[];
tag?: string;
isOpen?: boolean;
isFolder?: boolean;
}
export interface IStorageContainer {
2023-03-19 23:21:32 +08:00
uid?: string;
name?: String;
description?: String;
2023-03-19 23:21:32 +08:00
storageSectionUid?: string;
storageSection?: IStorageSection;
grid?: boolean;
rowWise?: boolean;
cols?: number;
rows?: number;
slots?: number;
2023-01-15 14:04:29 +08:00
storedCount?: number;
samples?: ISample[];
createdAt?: Date;
2023-03-19 23:21:32 +08:00
createdByUid?: string;
createdBy?: IUser;
updatedAt?: Date;
2023-03-19 23:21:32 +08:00
updatedByUid?: string;
updatedBy?: IUser;
2023-04-10 09:29:10 +08:00
tag?: string;
isOpen?: boolean;
isFolder?: boolean;
}
interface IActivePath {
2023-04-10 09:29:10 +08:00
room?: number;
location?: number;
section?: number;
container?: number;
}
export interface ITreeData {
2023-04-10 09:29:10 +08:00
treeData: IStoreRoom[];
activePath: IActivePath;
activeTree: IStoreRoom | IStorageLocation | IStorageSection | IStorageContainer;
}