summaryrefslogtreecommitdiff
path: root/src
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
parentfix (diff)
downloadsharkey-64be0d6deddef4b8caced377dc22f94425cc4358.tar.gz
sharkey-64be0d6deddef4b8caced377dc22f94425cc4358.tar.bz2
sharkey-64be0d6deddef4b8caced377dc22f94425cc4358.zip
MongoDBの階層構造検索に関する思い違いの修正
Diffstat (limited to 'src')
-rw-r--r--src/api/endpoints/drive.ts2
-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
-rw-r--r--src/api/endpoints/messaging/messages/create.ts4
-rw-r--r--src/api/endpoints/posts/create.ts4
-rw-r--r--src/api/serializers/drive-folder.ts4
8 files changed, 15 insertions, 36 deletions
diff --git a/src/api/endpoints/drive.ts b/src/api/endpoints/drive.ts
index b9c4e3e506..d92473633a 100644
--- a/src/api/endpoints/drive.ts
+++ b/src/api/endpoints/drive.ts
@@ -14,7 +14,7 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
// Calculate drive usage
const usage = ((await DriveFile
.aggregate([
- { $match: { metadata: { user_id: user._id } } },
+ { $match: { 'metadata.user_id': user._id } },
{
$project: {
length: true
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);
diff --git a/src/api/endpoints/messaging/messages/create.ts b/src/api/endpoints/messaging/messages/create.ts
index 1d186268fb..149852c093 100644
--- a/src/api/endpoints/messaging/messages/create.ts
+++ b/src/api/endpoints/messaging/messages/create.ts
@@ -54,9 +54,7 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
if (fileId !== undefined) {
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/posts/create.ts b/src/api/endpoints/posts/create.ts
index 1507639776..4f4b7e2e83 100644
--- a/src/api/endpoints/posts/create.ts
+++ b/src/api/endpoints/posts/create.ts
@@ -44,9 +44,7 @@ module.exports = (params, user: IUser, app) => new Promise(async (res, rej) => {
// SELECT _id
const entity = await DriveFile.findOne({
_id: mediaId,
- metadata: {
- user_id: user._id
- }
+ 'metadata.user_id': user._id
});
if (entity === null) {
diff --git a/src/api/serializers/drive-folder.ts b/src/api/serializers/drive-folder.ts
index 3b5f61aeed..6ebf454a28 100644
--- a/src/api/serializers/drive-folder.ts
+++ b/src/api/serializers/drive-folder.ts
@@ -44,9 +44,7 @@ const self = (
});
const childFilesCount = await DriveFile.count({
- metadata: {
- folder_id: _folder.id
- }
+ 'metadata.folder_id': _folder.id
});
_folder.folders_count = childFoldersCount;