diff options
| author | otofune <otofune@gmail.com> | 2017-11-06 15:18:45 +0900 |
|---|---|---|
| committer | otofune <otofune@gmail.com> | 2017-11-06 15:18:45 +0900 |
| commit | 18b1ef29adc6166c2b1a327b378c3e159a18b80c (patch) | |
| tree | 7d8f0b8d09d687856e22c0d6d84dbd18b50b6e7a /src/api/serializers | |
| parent | support GridFS (diff) | |
| download | sharkey-18b1ef29adc6166c2b1a327b378c3e159a18b80c.tar.gz sharkey-18b1ef29adc6166c2b1a327b378c3e159a18b80c.tar.bz2 sharkey-18b1ef29adc6166c2b1a327b378c3e159a18b80c.zip | |
migration to GridFS's DriveFile
Diffstat (limited to 'src/api/serializers')
| -rw-r--r-- | src/api/serializers/drive-file.ts | 33 | ||||
| -rw-r--r-- | src/api/serializers/drive-folder.ts | 4 |
2 files changed, 16 insertions, 21 deletions
diff --git a/src/api/serializers/drive-file.ts b/src/api/serializers/drive-file.ts index b4e2ab064a..4c750f4c6b 100644 --- a/src/api/serializers/drive-file.ts +++ b/src/api/serializers/drive-file.ts @@ -31,44 +31,37 @@ export default ( if (mongo.ObjectID.prototype.isPrototypeOf(file)) { _file = await DriveFile.findOne({ _id: file - }, { - fields: { - data: false - } - }); + }); } else if (typeof file === 'string') { _file = await DriveFile.findOne({ _id: new mongo.ObjectID(file) - }, { - fields: { - data: false - } - }); + }); } else { _file = deepcopy(file); } - // Rename _id to id - _file.id = _file._id; - delete _file._id; + // rendered target + let _target: any = {}; + + _target.id = _file._id; - delete _file.data; + _target = Object.assign(_target, _file.metadata); - _file.url = `${config.drive_url}/${_file.id}/${encodeURIComponent(_file.name)}`; + _target.url = `${config.drive_url}/${_target.id}/${encodeURIComponent(_target.name)}`; - if (opts.detail && _file.folder_id) { + if (opts.detail && _target.folder_id) { // Populate folder - _file.folder = await serializeDriveFolder(_file.folder_id, { + _target.folder = await serializeDriveFolder(_target.folder_id, { detail: true }); } - if (opts.detail && _file.tags) { + if (opts.detail && _target.tags) { // Populate tags - _file.tags = await _file.tags.map(async (tag: any) => + _target.tags = await _target.tags.map(async (tag: any) => await serializeDriveTag(tag) ); } - resolve(_file); + resolve(_target); }); diff --git a/src/api/serializers/drive-folder.ts b/src/api/serializers/drive-folder.ts index a428464108..3b5f61aeed 100644 --- a/src/api/serializers/drive-folder.ts +++ b/src/api/serializers/drive-folder.ts @@ -44,7 +44,9 @@ const self = ( }); const childFilesCount = await DriveFile.count({ - folder_id: _folder.id + metadata: { + folder_id: _folder.id + } }); _folder.folders_count = childFoldersCount; |