trilium/src/entities/api_token.js

34 lines
969 B
JavaScript
Raw Normal View History

2018-04-02 05:38:24 +08:00
"use strict";
const Entity = require('./entity');
2018-04-03 08:46:46 +08:00
const dateUtils = require('../services/date_utils');
2018-04-02 05:38:24 +08:00
2018-08-23 05:37:06 +08: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
2019-03-13 03:58:31 +08:00
* @param {string} utcDateCreated
2018-08-23 05:37:06 +08:00
*
* @extends Entity
*/
2018-04-02 05:38:24 +08:00
class ApiToken extends Entity {
static get entityName() { return "api_tokens"; }
2018-04-02 05:38:24 +08:00
static get primaryKeyName() { return "apiTokenId"; }
2019-03-13 03:58:31 +08:00
static get hashedProperties() { return ["apiTokenId", "token", "utcDateCreated", "isDeleted"]; }
2018-04-02 05:38:24 +08:00
beforeSaving() {
if (!this.isDeleted) {
this.isDeleted = false;
}
2019-03-13 03:58:31 +08:00
if (!this.utcDateCreated) {
this.utcDateCreated = dateUtils.utcNowDateTime();
2018-04-02 05:38:24 +08:00
}
super.beforeSaving();
2018-04-02 05:38:24 +08:00
}
}
module.exports = ApiToken;