summaryrefslogtreecommitdiff
path: root/src/api/endpoints/drive
diff options
context:
space:
mode:
authorotofune <otofune@gmail.com>2017-11-06 16:22:18 +0900
committerotofune <otofune@gmail.com>2017-11-06 16:22:18 +0900
commit64be0d6deddef4b8caced377dc22f94425cc4358 (patch)
tree8dcc86d746142647fa0cd282d025d65d204010da /src/api/endpoints/drive
parentfix (diff)
downloadsharkey-64be0d6deddef4b8caced377dc22f94425cc4358.tar.gz
sharkey-64be0d6deddef4b8caced377dc22f94425cc4358.tar.bz2
sharkey-64be0d6deddef4b8caced377dc22f94425cc4358.zip
MongoDBの階層構造検索に関する思い違いの修正
Diffstat (limited to 'src/api/endpoints/drive')
-rw-r--r--src/api/endpoints/drive/files.ts6
-rw-r--r--src/api/endpoints/drive/files/find.ts8
-rw-r--r--src/api/endpoints/drive/files/show.ts4
-rw-r--r--src/api/endpoints/drive/files/update.ts19
4 files changed, 11 insertions, 26 deletions
diff --git a/src/api/endpoints/drive/files.ts b/src/api/endpoints/drive/files.ts
index 41687c4993..035916b309 100644
--- a/src/api/endpoints/drive/files.ts
+++ b/src/api/endpoints/drive/files.ts
@@ -40,10 +40,8 @@ module.exports = async (params, user, app) => {
_id: -1
};
const query = {
- metadata: {
- user_id: user._id,
- folder_id: folderId
- }
+ 'metadata.user_id': user._id,
+ 'metadata.folder_id': folderId
} as any;
if (sinceId) {
sort._id = 1;
diff --git a/src/api/endpoints/drive/files/find.ts b/src/api/endpoints/drive/files/find.ts
index 255faf94ec..1c818131d7 100644
--- a/src/api/endpoints/drive/files/find.ts
+++ b/src/api/endpoints/drive/files/find.ts
@@ -24,11 +24,9 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
// Issue query
const files = await DriveFile
.find({
- metadata: {
- name: name,
- user_id: user._id,
- folder_id: folderId
- }
+ 'metadata.name': name,
+ 'metadata.user_id': user._id,
+ 'metadata.folder_id': folderId
});
// Serialize
diff --git a/src/api/endpoints/drive/files/show.ts b/src/api/endpoints/drive/files/show.ts
index 8830346008..0a19b19939 100644
--- a/src/api/endpoints/drive/files/show.ts
+++ b/src/api/endpoints/drive/files/show.ts
@@ -21,9 +21,7 @@ module.exports = async (params, user) => {
const file = await DriveFile
.findOne({
_id: fileId,
- metadata: {
- user_id: user._id
- }
+ 'metadata.user_id': user._id
});
if (file === null) {
diff --git a/src/api/endpoints/drive/files/update.ts b/src/api/endpoints/drive/files/update.ts
index c4d2673688..7a6d2562fb 100644
--- a/src/api/endpoints/drive/files/update.ts
+++ b/src/api/endpoints/drive/files/update.ts
@@ -20,19 +20,14 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
const [fileId, fileIdErr] = $(params.file_id).id().$;
if (fileIdErr) return rej('invalid file_id param');
- console.dir(user)
// Fetch file
const file = await DriveFile
.findOne({
_id: fileId,
- metadata: {
- user_id: user._id
- }
+ 'metadata.user_id': user._id
});
- console.dir(file)
-
if (file === null) {
return rej('file-not-found');
}
@@ -42,7 +37,7 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
// Get 'name' parameter
const [name, nameErr] = $(params.name).optional.string().pipe(validateFileName).$;
if (nameErr) return rej('invalid name param');
- if (name) updateQuery.name = name;
+ if (name) updateQuery['metadata.name'] = name;
// Get 'folder_id' parameter
const [folderId, folderIdErr] = $(params.folder_id).optional.nullable.id().$;
@@ -50,7 +45,7 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
if (folderId !== undefined) {
if (folderId === null) {
- updateQuery.folder_id = null;
+ updateQuery['metadata.folder_id'] = null;
} else {
// Fetch folder
const folder = await DriveFolder
@@ -63,21 +58,17 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
return rej('folder-not-found');
}
- updateQuery.folder_id = folder._id;
+ updateQuery['metadata.folder_id'] = folder._id;
}
}
const updated = await DriveFile.update(file._id, {
- $set: { metadata: updateQuery }
+ $set: { updateQuery }
});
- console.dir(updated)
-
// Serialize
const fileObj = await serialize(updated);
- console.dir(fileObj)
-
// Response
res(fileObj);