From 1ce023b316898f1727a5e6d5322c4561d065831a Mon Sep 17 00:00:00 2001 From: srgooglo Date: Fri, 2 Oct 2020 02:25:41 +0200 Subject: [PATCH] update: stage schema update: extended model & core std exec --- globals/sidebar_menu.js | 2 +- package.json | 4 +-- src/models/app.js | 58 ++++++++++++++++++++++++++++++----------- src/models/extended.js | 5 ++-- src/pages/debug/core.js | 3 +++ 5 files changed, 52 insertions(+), 20 deletions(-) diff --git a/globals/sidebar_menu.js b/globals/sidebar_menu.js index d97f2cd2..4e54281f 100644 --- a/globals/sidebar_menu.js +++ b/globals/sidebar_menu.js @@ -98,7 +98,7 @@ export default [ { id: 'login', title: 'Signin', - icon: , + icon: , attributes: { position: "bottom", require: "guest" diff --git a/package.json b/package.json index b4c934c7..e109be5e 100755 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "title": "Comty™", "DevBuild": true, "version": "0.9.26", - "stage": "dev-pre", + "stage": "dev", "description": "", "author": "RageStudio", "license": "ISC", @@ -36,7 +36,7 @@ "@material-ui/core": "^4.9.9", "@material-ui/icons": "^4.9.1", "@ragestudio/ycorejs-lib": "^0.1.22", - "antd": "^4.6.4", + "antd": "^4.6.6", "axios": "^0.19.2", "babel-core": "^6.26.3", "classnames": "^2.2.6", diff --git a/src/models/app.js b/src/models/app.js index 6075e053..0bdcacbe 100755 --- a/src/models/app.js +++ b/src/models/app.js @@ -167,14 +167,42 @@ export default { plugin = {...plugin, ...rootInit} const rootClass = plugin.payload - + let extendedRequire = null + class extendedPlugin extends rootClass{ constructor(props){ super(props) } } - window.PluginGlobals[plugin.uuid] = new extendedPlugin(extended) + if( typeof(plugin.requireExtends) !== "undefined" ) { + console.log("Extending class with => ", plugin.requireExtends) + + plugin.requireExtends.forEach((e) => { + const RequireFrom = e.from + const RequireImport = e.import + + const existScheme = typeof(RequireImport) !== "undefined" && typeof(RequireFrom) !== "undefined" + if(!existScheme){ + verbosity.error("Invalid require extension!") + return false + } + + if (Array.isArray(RequireImport)) { + console.log("Require array") + RequireImport.forEach((e) => { + console.log(`Importing " ${e} " from [ ${RequireFrom} ]`) + extendedRequire[e] = require(RequireFrom) + }) + }else{ + console.log("Require default") + + } + + }) + } + + window.PluginGlobals[plugin.uuid] = new extendedPlugin({ extended, extendedRequire }) appInterface.notify.open({ message: `${plugin.title} v${plugin.version}`, @@ -304,20 +332,20 @@ export default { } - jwt.sign(frame, state.server_key, (err, token) => { - if (err) { - verbosity.error(err) - return false - } - cookie.set(app_config.session_token_storage, token) - sessionStorage.setItem(app_config.session_data_storage, btoa(payload.user_data)) - state.session_authframe = token - }) + jwt.sign(frame, state.server_key, (err, token) => { + if (err) { + verbosity.error(err) + return false + } + cookie.set(app_config.session_token_storage, token) + sessionStorage.setItem(app_config.session_data_storage, btoa(payload.user_data)) + state.session_authframe = token + }) - appInterface.notify.success('Login done!') - router.push('/') - state.session_valid = true - location.reload() + appInterface.notify.success('Login done!') + router.push('/') + state.session_valid = true + location.reload() }, handleUpdateData(state){ const frame = { diff --git a/src/models/extended.js b/src/models/extended.js index b01d88f7..405f17b9 100644 --- a/src/models/extended.js +++ b/src/models/extended.js @@ -6,6 +6,7 @@ import { router, verbosity, appInterface } from 'core/libs' import settings from 'core/libs/settings' import { uri_resolver } from 'api/lib' import { DynamicSDCP } from 'core/libs/extension' +import * as core from 'core' import jwt from 'jsonwebtoken' import cookie from 'cookie_js' @@ -14,9 +15,9 @@ import cookie from 'cookie_js' export default { namespace: 'extended', state: { + modules: { core, settings, verbosity, router, DynamicSDCP }, sidebar: null, - contextMenu: null, - core: null + contextMenu: null }, subscriptions: { setup({ dispatch }) { diff --git a/src/pages/debug/core.js b/src/pages/debug/core.js index 3ec6fa04..b3a6da1c 100644 --- a/src/pages/debug/core.js +++ b/src/pages/debug/core.js @@ -19,10 +19,13 @@ export default class CoreDebug extends React.Component { render(){ const handleGenerateUUID = () => { console.log(core.generateUUID()) } const handleChange = (e) => { this.setState({ rawPluginInitInput: e.target.value }) } + const module3TestString = "https://api.ragestudio.net/std/moduleTest3.js" + return(
handleGenerateUUID()} >generate uuid + this.setState({ rawPluginInitInput: module3TestString })}> Set MODULE3 TEST { this.handleInitPlugin(this.state.rawPluginInitInput) }} > init