From a952a7e528f6655d1769d7d4190d7c683178f0fc Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Tue, 9 Nov 2021 12:42:10 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=97=20Added=20a=20scaffold=20for=20the?= =?UTF-8?q?=20settings=20service?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/settings.model.ts | 22 +++++++++++++++ services/import.service.ts | 1 - services/settings.service.ts | 52 ++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 models/settings.model.ts create mode 100644 services/settings.service.ts diff --git a/models/settings.model.ts b/models/settings.model.ts new file mode 100644 index 0000000..dccc497 --- /dev/null +++ b/models/settings.model.ts @@ -0,0 +1,22 @@ +const mongoose = require("mongoose"); +const paginate = require("mongoose-paginate-v2"); + +const SettingsScehma = mongoose.Schema({ + directConnect: { + client: { + name: String, + version: String, + hostname: String, + port: Number, + https: Boolean, + username: String, + password: String, + hubs: [{ + + }] + } + } +}) + +const Settings = mongoose.model("Settings", SettingsScehma); +export default Settings; \ No newline at end of file diff --git a/services/import.service.ts b/services/import.service.ts index e8fdeac..8ff4cf5 100644 --- a/services/import.service.ts +++ b/services/import.service.ts @@ -25,7 +25,6 @@ import { import {scrapeIssuesFromDOM} from "../utils/scraping.utils"; const ObjectId = require("mongoose").Types.ObjectId; -console.log("HEYOOOOO", process.env.COMICVINE_API_KEY); export default class ImportService extends Service { public constructor( public broker: ServiceBroker, diff --git a/services/settings.service.ts b/services/settings.service.ts new file mode 100644 index 0000000..98a7cf3 --- /dev/null +++ b/services/settings.service.ts @@ -0,0 +1,52 @@ +"use strict"; +import { + Context, + Service, + ServiceBroker, + ServiceSchema, + Errors, +} from "moleculer"; +import { DbMixin } from "../mixins/db.mixin"; +import Settings from "../models/settings.model"; + +export default class SettingsService extends Service { + // @ts-ignore + public constructor( + public broker: ServiceBroker, + schema: ServiceSchema<{}> = { name: "settings" } + ) { + super(broker); + this.parseServiceSchema( + Service.mergeSchemas( + { + name: "settings", + mixins: [DbMixin("settings", Settings)], + settings: { + + }, + hooks: {}, + actions: { + getSettings: { + rest: "GET /getAllSettings", + params: {}, + async handler(ctx: Context<{}>) { + + } + }, + + saveSettings: { + rest: "POST /saveSettings", + params: {}, + async handler(ctx: Context<{}>) { + + } + } + + }, + methods: {}, + }, + schema + ) + ); + } +}