summaryrefslogtreecommitdiffstats
path: root/models/attachments.js
diff options
context:
space:
mode:
authorRomulus Urakagi Tsai <urakagi@gmail.com>2020-02-13 08:47:41 +0000
committerRomulus Urakagi Tsai <urakagi@gmail.com>2020-02-13 08:47:41 +0000
commitb34ed58289a3dae5838d3b621260938a3ecf52d5 (patch)
tree89a9645f33ca5fdb7547c07c89c73612e203c8f8 /models/attachments.js
parent617fdaeb7418d4e6c2530e7a9d4a3feb62e5a00e (diff)
downloadwekan-b34ed58289a3dae5838d3b621260938a3ecf52d5.tar.gz
wekan-b34ed58289a3dae5838d3b621260938a3ecf52d5.tar.bz2
wekan-b34ed58289a3dae5838d3b621260938a3ecf52d5.zip
Start writing migration
Diffstat (limited to 'models/attachments.js')
-rw-r--r--models/attachments.js100
1 files changed, 3 insertions, 97 deletions
diff --git a/models/attachments.js b/models/attachments.js
index 903f6490..c35d3d4c 100644
--- a/models/attachments.js
+++ b/models/attachments.js
@@ -19,17 +19,17 @@ if (Meteor.isServer) {
// TODO: Add Activity update
// TODO: publish and subscribe
- Meteor.publish('attachments', function() {
+ Meteor.publish('attachments2', function() {
return Attachments.find().cursor;
});
} else {
- Meteor.subscribe('attachments');
+ Meteor.subscribe('attachments2');
}
// ---------- Deprecated fallback ---------- //
const localFSStore = process.env.ATTACHMENTS_STORE_PATH;
-const storeName = 'attachments';
+const storeName = 'attachments2';
const defaultStoreOptions = {
beforeWrite: fileObj => {
if (!fileObj.isImage()) {
@@ -201,102 +201,8 @@ if (localFSStore) {
...defaultStoreOptions,
});
}
-DeprecatedAttachs = new FS.Collection('attachments', {
- stores: [store],
-});
-
-if (Meteor.isServer) {
- Meteor.startup(() => {
- DeprecatedAttachs.files._ensureIndex({ cardId: 1 });
- });
-
- DeprecatedAttachs.allow({
- insert(userId, doc) {
- return allowIsBoardMember(userId, Boards.findOne(doc.boardId));
- },
- update(userId, doc) {
- return allowIsBoardMember(userId, Boards.findOne(doc.boardId));
- },
- remove(userId, doc) {
- return allowIsBoardMember(userId, Boards.findOne(doc.boardId));
- },
- // We authorize the attachment download either:
- // - if the board is public, everyone (even unconnected) can download it
- // - if the board is private, only board members can download it
- download(userId, doc) {
- const board = Boards.findOne(doc.boardId);
- if (board.isPublic()) {
- return true;
- } else {
- return board.hasMember(userId);
- }
- },
-
- fetch: ['boardId'],
- });
-}
-
-// XXX Enforce a schema for the DeprecatedAttachs CollectionFS
-
-if (Meteor.isServer) {
- DeprecatedAttachs.files.after.insert((userId, doc) => {
- // If the attachment doesn't have a source field
- // or its source is different than import
- if (!doc.source || doc.source !== 'import') {
- // Add activity about adding the attachment
- Activities.insert({
- userId,
- type: 'card',
- activityType: 'addAttachment',
- attachmentId: doc._id,
- boardId: doc.boardId,
- cardId: doc.cardId,
- listId: doc.listId,
- swimlaneId: doc.swimlaneId,
- });
- } else {
- // Don't add activity about adding the attachment as the activity
- // be imported and delete source field
- DeprecatedAttachs.update(
- {
- _id: doc._id,
- },
- {
- $unset: {
- source: '',
- },
- },
- );
- }
- });
-
- DeprecatedAttachs.files.before.remove((userId, doc) => {
- Activities.insert({
- userId,
- type: 'card',
- activityType: 'deleteAttachment',
- attachmentId: doc._id,
- boardId: doc.boardId,
- cardId: doc.cardId,
- listId: doc.listId,
- swimlaneId: doc.swimlaneId,
- });
- });
-
- DeprecatedAttachs.files.after.remove((userId, doc) => {
- Activities.remove({
- attachmentId: doc._id,
- });
- });
-}
function storagePath(defaultPath) {
-/*
- console.log('path', process.env.ATTACHMENTS_STORE_PATH);
- console.log('env', process.env);
- // FIXME
- return '/var/attachments';
-*/
const storePath = process.env.ATTACHMENTS_STORE_PATH;
return storePath ? storePath : defaultPath;
}