mirror of
https://github.com/hotomoe/hotomoe
synced 2024-12-02 00:38:14 +09:00
[Server] Add some debug messages
This commit is contained in:
parent
7363e3d36b
commit
36ed2c7912
@ -1,6 +1,7 @@
|
||||
import * as mongodb from 'mongodb';
|
||||
import * as crypto from 'crypto';
|
||||
import * as gm from 'gm';
|
||||
import * as debug from 'debug';
|
||||
import fileType = require('file-type');
|
||||
import prominence = require('prominence');
|
||||
import DriveFile from '../models/drive-file';
|
||||
@ -9,6 +10,8 @@ import serialize from '../serializers/drive-file';
|
||||
import event from '../event';
|
||||
import config from '../../conf';
|
||||
|
||||
const log = debug('misskey:register-drive-file');
|
||||
|
||||
/**
|
||||
* Add file to drive
|
||||
*
|
||||
@ -29,9 +32,13 @@ export default (
|
||||
folderId: mongodb.ObjectID = null,
|
||||
force: boolean = false
|
||||
) => new Promise<any>(async (resolve, reject) => {
|
||||
log(`registering ${name} (user: ${user.username})`);
|
||||
|
||||
// File size
|
||||
const size = data.byteLength;
|
||||
|
||||
log(`size is ${size}`);
|
||||
|
||||
// File type
|
||||
let mime = 'application/octet-stream';
|
||||
const type = fileType(data);
|
||||
@ -47,12 +54,16 @@ export default (
|
||||
}
|
||||
}
|
||||
|
||||
log(`type is ${mime}`);
|
||||
|
||||
// Generate hash
|
||||
const hash = crypto
|
||||
.createHash('sha256')
|
||||
.update(data)
|
||||
.digest('hex') as string;
|
||||
|
||||
log(`hash is ${hash}`);
|
||||
|
||||
if (!force) {
|
||||
// Check if there is a file with the same hash
|
||||
const much = await DriveFile.findOne({
|
||||
@ -61,8 +72,10 @@ export default (
|
||||
});
|
||||
|
||||
if (much !== null) {
|
||||
resolve(much);
|
||||
return;
|
||||
log('file with same hash is found');
|
||||
return resolve(much);
|
||||
} else {
|
||||
log('file with same hash is not found');
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,6 +91,8 @@ export default (
|
||||
// Calculate drive usage (in byte)
|
||||
const usage = files.map(file => file.datasize).reduce((x, y) => x + y, 0);
|
||||
|
||||
log(`drive usage is ${usage}`);
|
||||
|
||||
// If usage limit exceeded
|
||||
if (usage + size > user.drive_capacity) {
|
||||
return reject('no-free-space');
|
||||
@ -108,6 +123,8 @@ export default (
|
||||
width: size.width,
|
||||
height: size.height
|
||||
};
|
||||
|
||||
log('image width and height is calculated');
|
||||
}
|
||||
|
||||
// Create DriveFile document
|
||||
@ -124,6 +141,8 @@ export default (
|
||||
properties: properties
|
||||
});
|
||||
|
||||
log(`drive file has been created ${file._id}`);
|
||||
|
||||
resolve(file);
|
||||
|
||||
// Serialize
|
||||
|
Loading…
Reference in New Issue
Block a user