diff --git a/packages/core/package.json b/packages/core/package.json index dd001fc..1d782ea 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@ragestudio/relic-core", - "version": "0.17.4", + "version": "0.17.5", "license": "MIT", "author": "RageStudio", "description": "RageStudio Relic, yet another package manager.", diff --git a/packages/core/src/classes/ManifestAuthDB.js b/packages/core/src/classes/ManifestAuthDB.js index fe32684..bcb21a8 100644 --- a/packages/core/src/classes/ManifestAuthDB.js +++ b/packages/core/src/classes/ManifestAuthDB.js @@ -33,4 +33,12 @@ export default class ManifestAuthService { return await db.data[pkg_id] } + + static delete = async (pkg_id) => { + const db = await this.withDB() + + return await db.update((data) => { + delete data[pkg_id] + }) + } } \ No newline at end of file diff --git a/packages/core/src/handlers/deauthorize.js b/packages/core/src/handlers/deauthorize.js new file mode 100644 index 0000000..ef7415e --- /dev/null +++ b/packages/core/src/handlers/deauthorize.js @@ -0,0 +1,28 @@ +import ManifestAuthDB from "../classes/ManifestAuthDB" +import DB from "../db" + +import Logger from "../logger" + +const Log = Logger.child({ service: "AUTH" }) + +export default async (pkg_id) => { + if (!pkg_id) { + Log.error("pkg_id is required") + return false + } + + const pkg = await DB.getPackages(pkg_id) + + if (!pkg) { + Log.error("Package not found") + return false + } + + Log.info(`Deleting auth for [${pkg_id}]`) + + await ManifestAuthDB.delete(pkg_id) + + global._relic_eventBus.emit("pkg:deauthorized", pkg) + + return true +} \ No newline at end of file diff --git a/packages/core/src/handlers/execute.js b/packages/core/src/handlers/execute.js index b22684b..a0805c6 100644 --- a/packages/core/src/handlers/execute.js +++ b/packages/core/src/handlers/execute.js @@ -43,6 +43,8 @@ export default async function execute(pkg_id, { useRemote = false, force = false return false } + BaseLog.info(`Executing manifest > [${manifestPath}]`) + global._relic_eventBus.emit(`pkg:update:state`, { id: pkg.id, last_status: "loading", diff --git a/packages/core/src/index.js b/packages/core/src/index.js index 5440832..37d1306 100644 --- a/packages/core/src/index.js +++ b/packages/core/src/index.js @@ -17,6 +17,7 @@ import PackageApply from "./handlers/apply" import PackageList from "./handlers/list" import PackageRead from "./handlers/read" import PackageAuthorize from "./handlers/authorize" +import PackageDeauthorize from "./handlers/deauthorize" import PackageCheckUpdate from "./handlers/checkUpdate" import PackageLastOperationRetry from "./handlers/lastOperationRetry" @@ -56,6 +57,7 @@ export default class RelicCore { list: PackageList, read: PackageRead, authorize: PackageAuthorize, + deauthorize: PackageDeauthorize, checkUpdate: PackageCheckUpdate, lastOperationRetry: PackageLastOperationRetry, } diff --git a/packages/core/src/manifest/libs/auth/index.js b/packages/core/src/manifest/libs/auth/index.js index 2f1371a..c87ee2a 100644 --- a/packages/core/src/manifest/libs/auth/index.js +++ b/packages/core/src/manifest/libs/auth/index.js @@ -16,13 +16,11 @@ export default class Auth { } const result = await axios({ - method: "POST", + method: "GET", url: this.manifest.authService.getter, headers: { "Content-Type": "application/json", - }, - data: { - auth_data: storagedData, + "Authorization": `Bearer ${storagedData}` } }).catch((err) => { global._relic_eventBus.emit("auth:getter:error", err) diff --git a/packages/gui/package.json b/packages/gui/package.json index 03bea40..14e29b4 100644 --- a/packages/gui/package.json +++ b/packages/gui/package.json @@ -1,6 +1,6 @@ { "name": "@ragestudio/relic-gui", - "version": "0.17.4", + "version": "0.17.5", "description": "RageStudio Relic, yet another package manager.", "main": "./out/main/index.js", "author": "RageStudio", @@ -24,7 +24,7 @@ "@getstation/electron-google-oauth2": "^14.0.0", "@imjs/electron-differential-updater": "^5.1.7", "@loadable/component": "^5.16.3", - "@ragestudio/relic-core": "^0.17.0", + "@ragestudio/relic-core": "^0.17.5", "antd": "^5.13.2", "classnames": "^2.3.2", "electron-differential-updater": "^4.3.2", diff --git a/packages/gui/src/main/classes/CoreAdapter.js b/packages/gui/src/main/classes/CoreAdapter.js index 6d11690..34ed6d4 100644 --- a/packages/gui/src/main/classes/CoreAdapter.js +++ b/packages/gui/src/main/classes/CoreAdapter.js @@ -65,6 +65,9 @@ export default class CoreAdapter { "pkg:cancel_current_operation": async (event, pkg_id) => { return await this.core.package.cancelCurrentOperation(pkg_id) }, + "pkg:delete_auth": async (event, pkg_id) => { + return await this.core.package.deauthorize(pkg_id) + }, "core:open-path": async (event, pkg_id) => { return await this.core.openPath(pkg_id) }, @@ -109,6 +112,13 @@ export default class CoreAdapter { description: `${pkg.name} has been authorized! You can start the package now.`, }) }, + "pkg:deauthorized": (pkg) => { + sendToRender(`new:notification`, { + type: "success", + message: "Package deauthorized", + description: `${pkg.name} has been deauthorized`, + }) + }, "pkg:error": (data) => { sendToRender(`new:notification`, { type: "error", diff --git a/packages/gui/src/renderer/src/pages/pkg/[pkg_id].jsx b/packages/gui/src/renderer/src/pages/pkg/[pkg_id].jsx index 565325b..3993eef 100644 --- a/packages/gui/src/renderer/src/pages/pkg/[pkg_id].jsx +++ b/packages/gui/src/renderer/src/pages/pkg/[pkg_id].jsx @@ -237,16 +237,14 @@ const PackageOptions = (props) => {
- { - manifest.auth && - Delete auth - - } + + Delete auth +