mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
server-ts: Port etapi_tokens service
This commit is contained in:
parent
56ca0ea5d0
commit
1b58dbe401
@ -19,10 +19,10 @@ class BEtapiToken extends AbstractBeccaEntity<BEtapiToken> {
|
||||
static get primaryKeyName() { return "etapiTokenId"; }
|
||||
static get hashedProperties() { return ["etapiTokenId", "name", "tokenHash", "utcDateCreated", "utcDateModified", "isDeleted"]; }
|
||||
|
||||
etapiTokenId!: string;
|
||||
etapiTokenId?: string;
|
||||
name!: string;
|
||||
tokenHash!: string;
|
||||
private _isDeleted!: boolean;
|
||||
private _isDeleted?: boolean;
|
||||
|
||||
constructor(row: EtapiTokenRow) {
|
||||
super();
|
||||
@ -36,7 +36,7 @@ class BEtapiToken extends AbstractBeccaEntity<BEtapiToken> {
|
||||
}
|
||||
|
||||
get isDeleted() {
|
||||
return this._isDeleted;
|
||||
return !!this._isDeleted;
|
||||
}
|
||||
|
||||
updateFromRow(row: EtapiTokenRow) {
|
||||
@ -74,7 +74,9 @@ class BEtapiToken extends AbstractBeccaEntity<BEtapiToken> {
|
||||
|
||||
super.beforeSaving();
|
||||
|
||||
this.becca.etapiTokens[this.etapiTokenId] = this;
|
||||
if (this.etapiTokenId) {
|
||||
this.becca.etapiTokens[this.etapiTokenId] = this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -46,12 +46,12 @@ export interface OptionRow {
|
||||
}
|
||||
|
||||
export interface EtapiTokenRow {
|
||||
etapiTokenId: string;
|
||||
etapiTokenId?: string;
|
||||
name: string;
|
||||
tokenHash: string;
|
||||
utcDateCreated?: string;
|
||||
utcDateModified?: string;
|
||||
isDeleted: boolean;
|
||||
isDeleted?: boolean;
|
||||
}
|
||||
|
||||
export interface BlobRow {
|
||||
|
@ -1,7 +1,7 @@
|
||||
const becca = require('../becca/becca');
|
||||
const eu = require('./etapi_utils');
|
||||
const passwordEncryptionService = require('../services/encryption/password_encryption');
|
||||
const etapiTokenService = require('../services/etapi_tokens.js');
|
||||
const etapiTokenService = require('../services/etapi_tokens');
|
||||
|
||||
function register(router, loginMiddleware) {
|
||||
eu.NOT_AUTHENTICATED_ROUTE(router, 'post', '/etapi/auth/login', loginMiddleware, (req, res, next) => {
|
||||
|
@ -2,7 +2,7 @@ const cls = require('../services/cls');
|
||||
const sql = require('../services/sql');
|
||||
const log = require('../services/log');
|
||||
const becca = require('../becca/becca');
|
||||
const etapiTokenService = require('../services/etapi_tokens.js');
|
||||
const etapiTokenService = require('../services/etapi_tokens');
|
||||
const config = require('../services/config');
|
||||
const GENERIC_CODE = "GENERIC";
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
const etapiTokenService = require('../../services/etapi_tokens.js');
|
||||
const etapiTokenService = require('../../services/etapi_tokens');
|
||||
|
||||
function getTokens() {
|
||||
const tokens = etapiTokenService.getTokens();
|
||||
|
@ -11,7 +11,7 @@ const eventService = require('../../services/events');
|
||||
const sqlInit = require('../../services/sql_init');
|
||||
const sql = require('../../services/sql');
|
||||
const ws = require('../../services/ws');
|
||||
const etapiTokenService = require('../../services/etapi_tokens.js');
|
||||
const etapiTokenService = require('../../services/etapi_tokens');
|
||||
|
||||
function loginSync(req) {
|
||||
if (!sqlInit.schemaExists()) {
|
||||
|
@ -56,7 +56,7 @@ const keysRoute = require('./api/keys.js');
|
||||
const backendLogRoute = require('./api/backend_log.js');
|
||||
const statsRoute = require('./api/stats.js');
|
||||
const fontsRoute = require('./api/fonts.js');
|
||||
const etapiTokensApiRoutes = require('./api/etapi_tokens.js');
|
||||
const etapiTokensApiRoutes = require('./api/etapi_tokens');
|
||||
const relationMapApiRoute = require('./api/relation-map');
|
||||
const otherRoute = require('./api/other.js');
|
||||
const shareRoutes = require('../share/routes.js');
|
||||
|
@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
const etapiTokenService = require('./etapi_tokens.js');
|
||||
const etapiTokenService = require('./etapi_tokens');
|
||||
const log = require('./log');
|
||||
const sqlInit = require('./sql_init');
|
||||
const utils = require('./utils');
|
||||
|
@ -1,17 +1,17 @@
|
||||
const becca = require('../becca/becca');
|
||||
const utils = require('./utils');
|
||||
const BEtapiToken = require('../becca/entities/betapi_token');
|
||||
const crypto = require("crypto");
|
||||
import becca = require('../becca/becca');
|
||||
import utils = require('./utils');
|
||||
import BEtapiToken = require('../becca/entities/betapi_token');
|
||||
import crypto = require("crypto");
|
||||
|
||||
function getTokens() {
|
||||
return becca.getEtapiTokens();
|
||||
}
|
||||
|
||||
function getTokenHash(token) {
|
||||
function getTokenHash(token: crypto.BinaryLike) {
|
||||
return crypto.createHash('sha256').update(token).digest('base64');
|
||||
}
|
||||
|
||||
function createToken(tokenName) {
|
||||
function createToken(tokenName: string) {
|
||||
const token = utils.randomSecureToken(32);
|
||||
const tokenHash = getTokenHash(token);
|
||||
|
||||
@ -25,7 +25,7 @@ function createToken(tokenName) {
|
||||
};
|
||||
}
|
||||
|
||||
function parseAuthToken(auth) {
|
||||
function parseAuthToken(auth: string) {
|
||||
if (!auth) {
|
||||
return null;
|
||||
}
|
||||
@ -64,7 +64,7 @@ function parseAuthToken(auth) {
|
||||
}
|
||||
}
|
||||
|
||||
function isValidAuthHeader(auth) {
|
||||
function isValidAuthHeader(auth: string) {
|
||||
const parsed = parseAuthToken(auth);
|
||||
|
||||
if (!parsed) {
|
||||
@ -93,7 +93,7 @@ function isValidAuthHeader(auth) {
|
||||
}
|
||||
}
|
||||
|
||||
function renameToken(etapiTokenId, newName) {
|
||||
function renameToken(etapiTokenId: string, newName: string) {
|
||||
const etapiToken = becca.getEtapiToken(etapiTokenId);
|
||||
|
||||
if (!etapiToken) {
|
||||
@ -104,7 +104,7 @@ function renameToken(etapiTokenId, newName) {
|
||||
etapiToken.save();
|
||||
}
|
||||
|
||||
function deleteToken(etapiTokenId) {
|
||||
function deleteToken(etapiTokenId: string) {
|
||||
const etapiToken = becca.getEtapiToken(etapiTokenId);
|
||||
|
||||
if (!etapiToken) {
|
||||
@ -114,7 +114,7 @@ function deleteToken(etapiTokenId) {
|
||||
etapiToken.markAsDeletedSimple();
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export = {
|
||||
getTokens,
|
||||
createToken,
|
||||
renameToken,
|
Loading…
x
Reference in New Issue
Block a user