1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/common/entities/DirectoryDTO.ts
2018-11-24 11:50:11 +01:00

42 lines
947 B
TypeScript

import {MediaDTO} from './MediaDTO';
import {PhotoDTO} from './PhotoDTO';
export interface DirectoryDTO {
id: number;
name: string;
path: string;
lastModified: number;
lastScanned: number;
isPartial?: boolean;
parent: DirectoryDTO;
directories: Array<DirectoryDTO>;
media: MediaDTO[];
}
export module DirectoryDTO {
export const addReferences = (dir: DirectoryDTO): void => {
dir.media.forEach((media: MediaDTO) => {
media.directory = dir;
});
dir.directories.forEach((directory: DirectoryDTO) => {
addReferences(directory);
directory.parent = dir;
});
};
export const removeReferences = (dir: DirectoryDTO): void => {
dir.media.forEach((media: MediaDTO) => {
media.directory = null;
});
if (dir.directories) {
dir.directories.forEach((directory: DirectoryDTO) => {
removeReferences(directory);
directory.parent = null;
});
}
};
}