| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | 
							- import fs from 'fs';
 
- import FileStoreStrategy, {FileStoreStrategyFilesystem, FileStoreStrategyGridFs, FileStoreStrategyS3} from './fileStoreStrategy'
 
- const insertActivity = (fileObj, activityType) =>
 
-   Activities.insert({
 
-     userId: fileObj.userId,
 
-     type: 'card',
 
-     activityType,
 
-     attachmentId: fileObj._id,
 
-     attachmentName: fileObj.name,
 
-     boardId: fileObj.meta.boardId,
 
-     cardId: fileObj.meta.cardId,
 
-     listId: fileObj.meta.listId,
 
-     swimlaneId: fileObj.meta.swimlaneId,
 
-   });
 
- /** Strategy to store attachments at GridFS (MongoDB) */
 
- export class AttachmentStoreStrategyGridFs extends FileStoreStrategyGridFs {
 
-   /** constructor
 
-    * @param gridFsBucket use this GridFS Bucket
 
-    * @param fileObj the current file object
 
-    * @param versionName the current version
 
-    */
 
-   constructor(gridFsBucket, fileObj, versionName) {
 
-     super(gridFsBucket, fileObj, versionName);
 
-   }
 
-   /** after successfull upload */
 
-   onAfterUpload() {
 
-     super.onAfterUpload();
 
-     // If the attachment doesn't have a source field or its source is different than import
 
-     if (!this.fileObj.meta.source || this.fileObj.meta.source !== 'import') {
 
-       // Add activity about adding the attachment
 
-       insertActivity(this.fileObj, 'addAttachment');
 
-     }
 
-   }
 
-   /** after file remove */
 
-   onAfterRemove() {
 
-     super.onAfterRemove();
 
-     insertActivity(this.fileObj, 'deleteAttachment');
 
-   }
 
- }
 
- /** Strategy to store attachments at filesystem */
 
- export class AttachmentStoreStrategyFilesystem extends FileStoreStrategyFilesystem {
 
-   /** constructor
 
-    * @param fileObj the current file object
 
-    * @param versionName the current version
 
-    */
 
-   constructor(fileObj, versionName) {
 
-     super(fileObj, versionName);
 
-   }
 
-   /** after successfull upload */
 
-   onAfterUpload() {
 
-     super.onAfterUpload();
 
-     // If the attachment doesn't have a source field or its source is different than import
 
-     if (!this.fileObj.meta.source || this.fileObj.meta.source !== 'import') {
 
-       // Add activity about adding the attachment
 
-       insertActivity(this.fileObj, 'addAttachment');
 
-     }
 
-   }
 
-   /** after file remove */
 
-   onAfterRemove() {
 
-     super.onAfterRemove();
 
-     insertActivity(this.fileObj, 'deleteAttachment');
 
-   }
 
- }
 
- /** Strategy to store attachments at filesystem */
 
- export class AttachmentStoreStrategyS3 extends FileStoreStrategyS3 {
 
-   /** constructor
 
-    * @param s3Bucket use this S3 Bucket
 
-    * @param fileObj the current file object
 
-    * @param versionName the current version
 
-    */
 
-   constructor(s3Bucket, fileObj, versionName) {
 
-     super(s3Bucket, fileObj, versionName);
 
-   }
 
-   /** after successfull upload */
 
-   onAfterUpload() {
 
-     super.onAfterUpload();
 
-     // If the attachment doesn't have a source field or its source is different than import
 
-     if (!this.fileObj.meta.source || this.fileObj.meta.source !== 'import') {
 
-       // Add activity about adding the attachment
 
-       insertActivity(this.fileObj, 'addAttachment');
 
-     }
 
-   }
 
-   /** after file remove */
 
-   onAfterRemove() {
 
-     super.onAfterRemove();
 
-     insertActivity(this.fileObj, 'deleteAttachment');
 
-   }
 
- }
 
 
  |