summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/drive/files/find.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-11-02 03:32:24 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-11-02 03:32:24 +0900
commit931bdc6aace5e7aa71ffdfb470e208ead78a2a53 (patch)
treeeee6d7bf5f5480b883bb601517b4d9db03f31e9f /src/server/api/endpoints/drive/files/find.ts
parentRefactoring (diff)
downloadmisskey-931bdc6aace5e7aa71ffdfb470e208ead78a2a53.tar.gz
misskey-931bdc6aace5e7aa71ffdfb470e208ead78a2a53.tar.bz2
misskey-931bdc6aace5e7aa71ffdfb470e208ead78a2a53.zip
Refactoring, Clean up and bug fixes
Diffstat (limited to 'src/server/api/endpoints/drive/files/find.ts')
-rw-r--r--src/server/api/endpoints/drive/files/find.ts36
1 files changed, 22 insertions, 14 deletions
diff --git a/src/server/api/endpoints/drive/files/find.ts b/src/server/api/endpoints/drive/files/find.ts
index aa44ee688e..0ac110c110 100644
--- a/src/server/api/endpoints/drive/files/find.ts
+++ b/src/server/api/endpoints/drive/files/find.ts
@@ -1,31 +1,39 @@
-import $ from 'cafy'; import ID from '../../../../../misc/cafy-id';
+import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import DriveFile, { pack } from '../../../../../models/drive-file';
import { ILocalUser } from '../../../../../models/user';
+import getParams from '../../../get-params';
export const meta = {
requireCredential: true,
- kind: 'drive-read'
+ kind: 'drive-read',
+
+ params: {
+ name: {
+ validator: $.str
+ },
+
+ folderId: {
+ validator: $.type(ID).optional.nullable,
+ transform: transform,
+ default: null as any,
+ desc: {
+ 'ja-JP': 'フォルダID'
+ }
+ },
+ }
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- // Get 'name' parameter
- const [name, nameErr] = $.str.get(params.name);
- if (nameErr) return rej('invalid name param');
-
- // Get 'folderId' parameter
- const [folderId = null, folderIdErr] = $.type(ID).optional.nullable.get(params.folderId);
- if (folderIdErr) return rej('invalid folderId param');
+ const [ps, psErr] = getParams(meta, params);
+ if (psErr) return rej(psErr);
- // Issue query
const files = await DriveFile
.find({
filename: name,
'metadata.userId': user._id,
- 'metadata.folderId': folderId
+ 'metadata.folderId': ps.folderId
});
- // Serialize
- res(await Promise.all(files.map(async file =>
- await pack(file))));
+ res(await Promise.all(files.map(file => pack(file))));
});