Explorar o código

Start access development

isundil %!s(int64=2) %!d(string=hai) anos
pai
achega
67dfbd7284
Modificáronse 5 ficheiros con 69 adicións e 5 borrados
  1. 64 0
      model/access.js
  2. 1 1
      router/api.js
  3. 1 2
      src/config.js
  4. 2 1
      src/databaseHelper.js
  5. 1 1
      src/library.js

+ 64 - 0
model/access.js

@@ -0,0 +1,64 @@
+
+const DatabaseModel = require("./DatabaseModel.js").DatabaseModel;
+
+const TYPE = {
+    unknown: 0,
+    ldapAccount: 1,
+    email: 2,
+    link: 3
+};
+
+const ACCESS_TO = {
+    unknown: 0,
+    item: 1,
+    tag: 2,
+    meta: 3
+};
+
+function AccessModel() {
+    DatabaseModel.call(this);
+    this.id = null;
+    this.type = TYPE.unknown;
+    this.typeData = "";
+    this.accessTo = ACCESS_TO.unknown;
+    this.accessToData = "";
+}
+
+AccessModel.prototype = Object.create(DatabaseModel.prototype);
+
+AccessModel.prototype.getTableName = function() {
+    return "access";
+}
+
+AccessModel.prototype.createOrUpdateBase = async function(dbHelper) {
+    await dbHelper.runSql(`CREATE TABLE IF NOT EXISTS 'access' (
+        id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+        type TINYINT NOT NULL,
+        typeData STRING NOT NULL,
+        accessTo TINYINT NOT NULL,
+        accessToData STRING NOT NULL
+        )`);
+}
+
+AccessModel.prototype.describe = function() {
+    return {
+        "id": this.id,
+        "type": this.type,
+        "typeData": this.typeData,
+        "accessTo": this.accessTo,
+        "accessToData": this.accessToData
+    };
+}
+
+AccessModel.prototype.versionColumn = function() { return "loginDateTime"; }
+
+AccessModel.prototype.fromDb = function(dbObj) {
+    this.id = dbObj["sessionId"];
+    this.type = dbObj["type"];
+    this.typeData = dbObj["typeData"];
+    this.accessTo = dbObj["accessTo"];
+    this.accessToData = dbObj["accessToData"];
+}
+
+module.exports.AccessModel = AccessModel;
+

+ 1 - 1
router/api.js

@@ -7,7 +7,7 @@ module.exports = { register: app => {
         app.routerUtils.onRequest(req);
         if (app.routerUtils.apiRequireLogin(req, res))
             return;
-        app.routerUtils.jsonResponse(res, data);
+        app.routerUtils.jsonResponse(res, {});
     });
 }};
 

+ 1 - 2
src/config.js

@@ -40,8 +40,7 @@ let configEntries = {};
         ldapBindPwd: { value: "", valid: validNotEmptyString },
         ldapFilter: { value: "", valid: validNotEmptyString },
         ldapBase: { value: "", valid: validNotEmptyString },
-        database: { value: "", valid: validNotEmptyString },
-        DEBUG_forceLogin: { value: null, valid: () => true }
+        database: { value: "", valid: validNotEmptyString }
     };
 
     configEntries = pickConfig(defaultConfig, configContent);

+ 2 - 1
src/databaseHelper.js

@@ -4,9 +4,10 @@ const SessionModel = require('../model/session.js').SessionModel;
 const MediaFileModel = require('../model/mediaItem.js').MediaFileModel;
 const MediaMetaModel = require('../model/mediaItemMeta.js').MediaFileMetaModel;
 const MediaTagModel = require('../model/mediaItemTag.js').MediaFileTagModel;
+const AccessModel = require('../model/access.js').AccessModel;
 const CONFIG = require('./config.js');
 
-let ALL_MODELS = [ SessionModel, MediaFileModel, MediaMetaModel, MediaTagModel ];
+let ALL_MODELS = [ SessionModel, MediaFileModel, MediaMetaModel, MediaTagModel, AccessModel ];
 
 function DatabaseHelper() {
     this.db = null;

+ 1 - 1
src/library.js

@@ -87,7 +87,7 @@ Library.prototype.updateLibrary = async function(dbHelper) {
     if (Library_isValid(this))
         await Library_depthupdate(dbHelper, this, this.path);
     await Library_doUpdate(dbHelper, this)
-    console.log(`Done updating library ${this.path}. Managed ${this.foundMedias.length} media files.`);
+    console.log(`Done updating library ${this.path}. Managed ${this.foundMedias.length} new media files.`);
 }
 
 module.exports.Library = Library;