Hotfix 2 crashy boogaloo

This commit is contained in:
Stefan Zermatten
2022-11-24 14:10:22 +02:00
parent 23d44e54e3
commit 420663c149
5 changed files with 45 additions and 19 deletions

View File

@@ -1,8 +1,14 @@
import { createS3FilesCollection } from '/imports/api/files/s3FileStorage.js';
import SimpleSchema from 'simpl-schema';
import { incrementFileStorageUsed } from '/imports/api/users/methods/updateFileStorageUsed.js';
import { CreaturePropertySchema } from '/imports/api/creature/creatureProperties/CreatureProperties.js';
import { CreatureSchema } from '/imports/api/creature/creatures/Creatures.js';
let createS3FilesCollection;
if (Meteor.isServer) {
createS3FilesCollection = require('/imports/api/files/server/s3FileStorage.js').createS3FilesCollection
} else {
createS3FilesCollection = require('/imports/api/files/client/s3FileStorage.js').createS3FilesCollection
}
const ArchiveCreatureFiles = createS3FilesCollection({
collectionName: 'archiveCreatureFiles',

View File

@@ -1,4 +1,9 @@
import { createS3FilesCollection } from '/imports/api/files/s3FileStorage.js';
let createS3FilesCollection;
if (Meteor.isServer) {
createS3FilesCollection = require('/imports/api/files/server/s3FileStorage.js').createS3FilesCollection
} else {
createS3FilesCollection = require('/imports/api/files/client/s3FileStorage.js').createS3FilesCollection
}
const UserImages = createS3FilesCollection({
collectionName: 'userImages',

View File

@@ -0,0 +1,24 @@
// https://github.com/VeliovGroup/Meteor-Files/blob/master/docs/aws-s3-integration.md
import { FilesCollection } from 'meteor/ostrio:files';
const createS3FilesCollection = function ({
collectionName,
storagePath,
onBeforeUpload,
onAfterUpload,
debug,// = !Meteor.isProduction,
allowClientCode = false,
}) {
const collection = new FilesCollection({
collectionName,
storagePath,
onBeforeUpload,
onAfterUpload,
debug,
allowClientCode,
});
return collection;
}
export { createS3FilesCollection };

View File

@@ -1,5 +0,0 @@
import S3 from 'aws-sdk/clients/s3';
export default function () {
return new S3(...arguments);
}

View File

@@ -4,9 +4,7 @@ import { each, clone } from 'lodash';
import { Random } from 'meteor/random';
import { FilesCollection } from 'meteor/ostrio:files';
import stream from 'stream';
if (Meteor.isServer) {
import S3 from '/imports/api/files/server/s3.js';
}
import S3 from 'aws-sdk/clients/s3';
/* See fs-extra and graceful-fs NPM packages */
/* For better i/o performance */
@@ -31,9 +29,9 @@ let createS3FilesCollection;
/* Check settings existence in `Meteor.settings` */
/* This is the best practice for app security */
if (Meteor.isServer && Meteor.settings.useS3) {
if (Meteor.settings.useS3) {
// Create a new S3 object
const s3 = S3({
const s3 = new S3({
accessKeyId: s3Conf.key,
secretAccessKey: s3Conf.secret,
endpoint: s3Conf.endpoint,
@@ -236,13 +234,11 @@ if (Meteor.isServer && Meteor.settings.useS3) {
allowClientCode,
});
if (Meteor.isServer) {
// Use the normal file system to read files
collection.readJSONFile = async function (file) {
const fileString = await fsp.readFile(file.path, 'utf8');
return JSON.parse(fileString);
};
}
// Use the normal file system to read files
collection.readJSONFile = async function (file) {
const fileString = await fsp.readFile(file.path, 'utf8');
return JSON.parse(fileString);
};
return collection;
}