|
@@ -0,0 +1,58 @@
|
|
|
+const fs = require('fs-extra');
|
|
|
+const crypto = require('crypto');
|
|
|
+
|
|
|
+const utils = require('../utils');
|
|
|
+
|
|
|
+class LibSharedStorage {
|
|
|
+ constructor() {
|
|
|
+ this.readingFiles = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ async init(config) {
|
|
|
+ this.config = config;
|
|
|
+ this.lssDir = `${config.sharedDir}/lss`;
|
|
|
+ await fs.ensureDir(this.lssDir);
|
|
|
+ }
|
|
|
+
|
|
|
+ storageNameToPath(storageFilename) {
|
|
|
+ if (storageFilename.length < 4)
|
|
|
+ throw new Error('LibSharedStorage: ошибка в имени файла');
|
|
|
+ return `${storageFilename.substr(0, 2)}/${storageFilename.substr(2, 2)}/${storageFilename}`;
|
|
|
+ }
|
|
|
+
|
|
|
+ async filenameToStoragePath(filename) {
|
|
|
+ const base36hash = utils.toBase36(await utils.getFileHash(filename, 'sha1'));
|
|
|
+ }
|
|
|
+
|
|
|
+ async checkFile(filename) {
|
|
|
+ }
|
|
|
+
|
|
|
+ async addFile(filename, desc) {
|
|
|
+ }
|
|
|
+
|
|
|
+ async addFileFromArchive(archiveFilename, deompFiles, desc) {
|
|
|
+ }
|
|
|
+
|
|
|
+ async updateFileDesc(storagePath, desc) {
|
|
|
+ }
|
|
|
+
|
|
|
+ async getAuthorPath(authorName) {
|
|
|
+ }
|
|
|
+
|
|
|
+ async checkAuthor(authorName) {
|
|
|
+ }
|
|
|
+
|
|
|
+ async addAuthor(authorName, desc) {
|
|
|
+ }
|
|
|
+
|
|
|
+ async readFiles(callback) {
|
|
|
+ }
|
|
|
+
|
|
|
+ async stopReadFiles() {
|
|
|
+ }
|
|
|
+
|
|
|
+ async getFilesStatistic() {
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+module.exports = LibSharedStorage;
|