Notes/src/entities/api_token.js

34 lines
950 B
JavaScript
Raw Normal View History

2018-04-01 17:38:24 -04:00
"use strict";
const Entity = require('./entity');
2018-04-02 20:46:46 -04:00
const dateUtils = require('../services/date_utils');
2018-04-01 17:38:24 -04:00
2018-08-22 23:37:06 +02:00
/**
* ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender.
*
* @param {string} apiTokenId - primary key
* @param {string} token
* @param {boolean} isDeleted - true if API token is deleted
* @param {string} dateCreated
*
* @extends Entity
*/
2018-04-01 17:38:24 -04:00
class ApiToken extends Entity {
static get entityName() { return "api_tokens"; }
2018-04-01 17:38:24 -04:00
static get primaryKeyName() { return "apiTokenId"; }
2018-05-22 22:22:15 -04:00
static get hashedProperties() { return ["apiTokenId", "token", "dateCreated", "isDeleted"]; }
2018-04-01 17:38:24 -04:00
beforeSaving() {
if (!this.isDeleted) {
this.isDeleted = false;
}
if (!this.dateCreated) {
2018-04-02 20:46:46 -04:00
this.dateCreated = dateUtils.nowDate();
2018-04-01 17:38:24 -04:00
}
super.beforeSaving();
2018-04-01 17:38:24 -04:00
}
}
module.exports = ApiToken;