Files
sso-manager-node/nodejs/models/index.js
T
2026-07-22 22:41:57 -04:00

47 lines
1.3 KiB
JavaScript

'use strict';
const conf = require('@simpleworkjs/conf');
const { setUpTable } = require('model-redis');
// Keep model-redis for the ones not yet ported
const Table = setUpTable(conf.redis);
module.exports = Table;
const { Token, AuthToken, InviteToken, ImpersonationToken, PasswordResetToken, OtpToken, ServiceToken } = require('./token');
require('./verification');
require('./oauth_code');
require('./api_token');
const { init } = require('@simpleworkjs/orm');
const { RedisAdapter } = require('@simpleworkjs/orm/lib/adapters/redis');
// Monkey-patch ORM bugs in RedisAdapter
RedisAdapter.prototype.delete = async function(instance) {
await instance._backing.remove();
};
RedisAdapter.prototype.update = async function(instance, data) {
await instance._backing.update(data);
return instance;
};
const { Resource, ResourceEdge, ResourceGroup } = require('./resource');
async function initORM() {
const ormConf = conf.orm || {
dialect: 'sqlite',
storage: './config/inventory.sqlite',
logging: false
};
ormConf.redis = conf.redis;
await init({
conf: { orm: ormConf },
models: [
Resource, ResourceEdge, ResourceGroup,
Token, AuthToken, InviteToken, ImpersonationToken, PasswordResetToken, OtpToken, ServiceToken
]
});
}
module.exports.initORM = initORM;