From f952818b3b9204dcb1e0222e4cceee86f7194234 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 13 Jun 2023 19:56:28 +0800 Subject: [PATCH] 1 --- server/web3service/services/baseservice.js | 17 +++++++++++++++++ server/web3service/services/factory.js | 14 ++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 server/web3service/services/baseservice.js diff --git a/server/web3service/services/baseservice.js b/server/web3service/services/baseservice.js new file mode 100644 index 0000000..050cba2 --- /dev/null +++ b/server/web3service/services/baseservice.js @@ -0,0 +1,17 @@ +class BaseService { + + constructor(session) { + this.session = session; + } + + getSession() { + return this.session; + } + + getUser() { + return this.session.user; + } + +} + +module.exports = BaseService; diff --git a/server/web3service/services/factory.js b/server/web3service/services/factory.js index d15c2c0..4aedcba 100644 --- a/server/web3service/services/factory.js +++ b/server/web3service/services/factory.js @@ -1,24 +1,30 @@ const services = {}; -async function add(clsName, modName) { +async function internalAdd(clsName, modName, isSingle) { const modClass = require('./' + modName); services[clsName] = { 'clsName': clsName, 'modName': modName, - 'class': modClass + 'class': modClass, + 'isSingle': isSingle }; } +async function add(clsName, modName) { + await internalAdd(clsName, modName, false); +} + async function addSingle(clsName, modName) { + await internalAdd(clsName, modName, true); } async function init() { } -function create(name) { +function create(name, session) { const service = services[name]; - return new service['class'](); + return new service['class'](session); } exports.init = init;