Improved archive storage calculations and errors

This commit is contained in:
Stefan Zermatten
2022-06-07 23:21:48 +02:00
parent 28934baac9
commit e7e8f938ed
3 changed files with 22 additions and 16 deletions

View File

@@ -1,6 +1,8 @@
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';
const ArchiveCreatureFiles = createS3FilesCollection({
collectionName: 'archiveCreatureFiles',
@@ -16,7 +18,7 @@ const ArchiveCreatureFiles = createS3FilesCollection({
return true;
},
onAfterUpload(file) {
incrementFileStorageUsed(file.userId, file.size);
if (Meteor.isServer) incrementFileStorageUsed(file.userId, file.size);
}
});
@@ -25,17 +27,11 @@ let archiveSchema = new SimpleSchema({
type: Object,
blackbox: true,
},
creature: {
type: Object,
blackbox: true,
},
creature: CreatureSchema,
properties: {
type: Array,
},
'properties.$': {
type: Object,
blackbox: true,
},
'properties.$': CreaturePropertySchema,
experiences: {
type: Array,
},

View File

@@ -9,7 +9,6 @@ import CreatureLogs from '/imports/api/creature/log/CreatureLogs.js';
import Experiences from '/imports/api/creature/experience/Experiences.js';
import { removeCreatureWork } from '/imports/api/creature/creatures/methods/removeCreature.js';
import ArchiveCreatureFiles from '/imports/api/creature/archive/ArchiveCreatureFiles.js';
import { incrementFileStorageUsed } from '/imports/api/users/methods/updateFileStorageUsed.js';
export function getArchiveObj(creatureId){
// Build the archive document
@@ -32,7 +31,7 @@ export function getArchiveObj(creatureId){
return archiveCreature;
}
export function archiveCreature(creatureId, userId){
export function archiveCreature(creatureId){
const archive = getArchiveObj(creatureId);
const buffer = Buffer.from(JSON.stringify(archive, null, 2));
ArchiveCreatureFiles.write(buffer, {
@@ -44,12 +43,11 @@ export function archiveCreature(creatureId, userId){
creatureId: archive.creature._id,
creatureName: archive.creature.name,
},
}, (error, file) => {
}, (error) => {
if (error){
throw error;
} else {
removeCreatureWork(creatureId);
incrementFileStorageUsed(userId, file.size);
}
}, true);
}