summaryrefslogtreecommitdiff
path: root/src/api/endpoints/drive
diff options
context:
space:
mode:
authorotofune <otofune@gmail.com>2017-11-06 15:18:45 +0900
committerotofune <otofune@gmail.com>2017-11-06 15:18:45 +0900
commit18b1ef29adc6166c2b1a327b378c3e159a18b80c (patch)
tree7d8f0b8d09d687856e22c0d6d84dbd18b50b6e7a /src/api/endpoints/drive
parentsupport GridFS (diff)
downloadsharkey-18b1ef29adc6166c2b1a327b378c3e159a18b80c.tar.gz
sharkey-18b1ef29adc6166c2b1a327b378c3e159a18b80c.tar.bz2
sharkey-18b1ef29adc6166c2b1a327b378c3e159a18b80c.zip
migration to GridFS's DriveFile
Diffstat (limited to 'src/api/endpoints/drive')
-rw-r--r--src/api/endpoints/drive/files.ts9
-rw-r--r--src/api/endpoints/drive/files/find.ts10
-rw-r--r--src/api/endpoints/drive/files/show.ts6
-rw-r--r--src/api/endpoints/drive/files/update.ts31
4 files changed, 28 insertions, 28 deletions
diff --git a/src/api/endpoints/drive/files.ts b/src/api/endpoints/drive/files.ts
index a68ae34817..eb0bfe6ba5 100644
--- a/src/api/endpoints/drive/files.ts
+++ b/src/api/endpoints/drive/files.ts
@@ -40,8 +40,10 @@ module.exports = (params, user, app) => new Promise(async (res, rej) => {
_id: -1
};
const query = {
- user_id: user._id,
- folder_id: folderId
+ metadata: {
+ user_id: user._id,
+ folder_id: folderId
+ }
} as any;
if (sinceId) {
sort._id = 1;
@@ -57,9 +59,6 @@ module.exports = (params, user, app) => new Promise(async (res, rej) => {
// Issue query
const files = await DriveFile
.find(query, {
- fields: {
- data: false
- },
limit: limit,
sort: sort
});
diff --git a/src/api/endpoints/drive/files/find.ts b/src/api/endpoints/drive/files/find.ts
index cd0b33f2ca..255faf94ec 100644
--- a/src/api/endpoints/drive/files/find.ts
+++ b/src/api/endpoints/drive/files/find.ts
@@ -24,12 +24,10 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
// Issue query
const files = await DriveFile
.find({
- name: name,
- user_id: user._id,
- folder_id: folderId
- }, {
- fields: {
- data: false
+ metadata: {
+ name: name,
+ user_id: user._id,
+ folder_id: folderId
}
});
diff --git a/src/api/endpoints/drive/files/show.ts b/src/api/endpoints/drive/files/show.ts
index 8dbc297e4f..9135a04c57 100644
--- a/src/api/endpoints/drive/files/show.ts
+++ b/src/api/endpoints/drive/files/show.ts
@@ -21,10 +21,8 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
const file = await DriveFile
.findOne({
_id: fileId,
- user_id: user._id
- }, {
- fields: {
- data: false
+ metadata: {
+ user_id: user._id
}
});
diff --git a/src/api/endpoints/drive/files/update.ts b/src/api/endpoints/drive/files/update.ts
index 1cfbdd8f0b..c4d2673688 100644
--- a/src/api/endpoints/drive/files/update.ts
+++ b/src/api/endpoints/drive/files/update.ts
@@ -20,25 +20,29 @@ 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,
- user_id: user._id
- }, {
- fields: {
- data: false
+ metadata: {
+ user_id: user._id
}
});
+ console.dir(file)
+
if (file === null) {
return rej('file-not-found');
}
+ const updateQuery: any = {}
+
// Get 'name' parameter
const [name, nameErr] = $(params.name).optional.string().pipe(validateFileName).$;
if (nameErr) return rej('invalid name param');
- if (name) file.name = name;
+ if (name) updateQuery.name = name;
// Get 'folder_id' parameter
const [folderId, folderIdErr] = $(params.folder_id).optional.nullable.id().$;
@@ -46,7 +50,7 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
if (folderId !== undefined) {
if (folderId === null) {
- file.folder_id = null;
+ updateQuery.folder_id = null;
} else {
// Fetch folder
const folder = await DriveFolder
@@ -59,19 +63,20 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
return rej('folder-not-found');
}
- file.folder_id = folder._id;
+ updateQuery.folder_id = folder._id;
}
}
- DriveFile.update(file._id, {
- $set: {
- name: file.name,
- folder_id: file.folder_id
- }
+ const updated = await DriveFile.update(file._id, {
+ $set: { metadata: updateQuery }
});
+ console.dir(updated)
+
// Serialize
- const fileObj = await serialize(file);
+ const fileObj = await serialize(updated);
+
+ console.dir(fileObj)
// Response
res(fileObj);