summaryrefslogtreecommitdiff
path: root/src/server/api/models/drive-folder.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-03-29 20:32:18 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-03-29 20:32:18 +0900
commitcf33e483f7e6f40e8cbbbc0118a7df70bdaf651f (patch)
tree318279530d3392ee40d91968477fc0e78d5cf0f7 /src/server/api/models/drive-folder.ts
parentUpdate .travis.yml (diff)
downloadsharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.tar.gz
sharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.tar.bz2
sharkey-cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f.zip
整理した
Diffstat (limited to 'src/server/api/models/drive-folder.ts')
-rw-r--r--src/server/api/models/drive-folder.ts77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/server/api/models/drive-folder.ts b/src/server/api/models/drive-folder.ts
deleted file mode 100644
index 4ecafaa154..0000000000
--- a/src/server/api/models/drive-folder.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import * as mongo from 'mongodb';
-import deepcopy = require('deepcopy');
-import db from '../../../db/mongodb';
-import DriveFile from './drive-file';
-
-const DriveFolder = db.get<IDriveFolder>('drive_folders');
-export default DriveFolder;
-
-export type IDriveFolder = {
- _id: mongo.ObjectID;
- createdAt: Date;
- name: string;
- userId: mongo.ObjectID;
- parentId: mongo.ObjectID;
-};
-
-export function isValidFolderName(name: string): boolean {
- return (
- (name.trim().length > 0) &&
- (name.length <= 200)
- );
-}
-
-/**
- * Pack a drive folder for API response
- *
- * @param {any} folder
- * @param {any} options?
- * @return {Promise<any>}
- */
-export const pack = (
- folder: any,
- options?: {
- detail: boolean
- }
-) => new Promise<any>(async (resolve, reject) => {
- const opts = Object.assign({
- detail: false
- }, options);
-
- let _folder: any;
-
- // Populate the folder if 'folder' is ID
- if (mongo.ObjectID.prototype.isPrototypeOf(folder)) {
- _folder = await DriveFolder.findOne({ _id: folder });
- } else if (typeof folder === 'string') {
- _folder = await DriveFolder.findOne({ _id: new mongo.ObjectID(folder) });
- } else {
- _folder = deepcopy(folder);
- }
-
- // Rename _id to id
- _folder.id = _folder._id;
- delete _folder._id;
-
- if (opts.detail) {
- const childFoldersCount = await DriveFolder.count({
- parentId: _folder.id
- });
-
- const childFilesCount = await DriveFile.count({
- 'metadata.folderId': _folder.id
- });
-
- _folder.foldersCount = childFoldersCount;
- _folder.filesCount = childFilesCount;
- }
-
- if (opts.detail && _folder.parentId) {
- // Populate parent folder
- _folder.parent = await pack(_folder.parentId, {
- detail: true
- });
- }
-
- resolve(_folder);
-});