🔧 Fleshing out save and get settings endpoints

This commit is contained in:
2021-11-18 14:16:55 -08:00
parent e1d8f87a00
commit 6c431b300b
3 changed files with 51 additions and 22 deletions

View File

@@ -2,21 +2,19 @@ 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: [{
}]
}
}
})
directConnect: {
client: {
name: String,
version: String,
airdcppUserSettings: Object,
hostname: String,
protocol: String,
username: String,
password: String,
hubs: [{}],
},
},
});
const Settings = mongoose.model("Settings", SettingsScehma);
export default Settings;
export default Settings;

View File

@@ -111,7 +111,7 @@ export default class ApiService extends Service {
action.data,
{}
);
break;
}
});
@@ -142,9 +142,7 @@ export default class ApiService extends Service {
stat.mtime.getTime() ===
previousPath.mtime.getTime()
) {
logger.info(
"File copy complete, starting import..."
);
logger.info("File detected, starting import...");
const walkedFolders: IFolderData =
await broker.call("import.walkFolders", {
basePathToWalk: path,

View File

@@ -8,6 +8,7 @@ import {
} from "moleculer";
import { DbMixin } from "../mixins/db.mixin";
import Settings from "../models/settings.model";
import { isEmpty } from "lodash";
export default class SettingsService extends Service {
// @ts-ignore
@@ -27,14 +28,46 @@ export default class SettingsService extends Service {
getSettings: {
rest: "GET /getAllSettings",
params: {},
async handler(ctx: Context<{}>) {},
async handler(
ctx: Context<{ settingsKey: string }>
) {
const settings = await Settings.find({});
if (isEmpty(settings)) {
return {};
}
console.log(settings[0]);
return settings[0];
},
},
saveSettings: {
rest: "POST /saveSettings",
params: {},
async handler(ctx: Context<{}>) {
async handler(
ctx: Context<{
settingsObject: {
hostname: string;
protocol: string;
username: string;
password: string;
};
airdcppUserSettings: object;
}>
) {
console.log(ctx.params);
const { settingsObject, airdcppUserSettings } =
ctx.params;
const result = await Settings.create({
directConnect: {
client: {
...settingsObject,
airdcppUserSettings,
},
},
});
console.log("ASDASD", result);
return result;
},
},
},