Portal/rsconcept/frontend/src/features/library/models/library.ts

53 lines
984 B
TypeScript
Raw Normal View History

2024-06-07 20:17:03 +03:00
/**
* Module: Models for LibraryItem.
*/
2025-02-18 19:39:54 +03:00
import { ILibraryItemData, IVersionInfo, LibraryItemType } from '../backend/types';
2024-06-07 20:17:03 +03:00
/**
* Represents valid location headers.
*/
export enum LocationHead {
USER = '/U',
COMMON = '/S',
2024-06-19 22:09:31 +03:00
PROJECTS = '/P',
LIBRARY = '/L'
2024-06-07 20:17:03 +03:00
}
2024-09-12 13:27:06 +03:00
export const BASIC_SCHEMAS = '/L/Базовые';
2024-06-07 20:17:03 +03:00
/**
2024-08-01 00:35:49 +03:00
* Represents {@link ILibraryItem} minimal reference data.
*/
export interface ILibraryItemReference {
id: number;
alias: string;
}
2024-08-01 00:35:49 +03:00
/**
* Represents {@link ILibraryItem} extended data with versions.
2024-06-07 20:17:03 +03:00
*/
export interface ILibraryItemVersioned extends ILibraryItemData {
version?: number;
2024-06-07 20:17:03 +03:00
versions: IVersionInfo[];
}
/**
* Represents Library filter parameters.
*/
export interface ILibraryFilter {
type?: LibraryItemType;
query?: string;
folderMode?: boolean;
subfolders?: boolean;
path?: string;
head?: LocationHead;
location?: string;
isVisible?: boolean;
isOwned?: boolean;
isEditor?: boolean;
2025-02-12 13:07:26 +03:00
filterUser?: number;
}