-
Notifications
You must be signed in to change notification settings - Fork 2
feat: server config backup and restore #209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
94c4c62
61a2dca
c5b09eb
1ccd712
1d98179
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,39 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { warn } from '../../logger.js'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { getConfig } from '../../modules/config.js'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { getBotOwnerIds } from '../../utils/permissions.js'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| /** | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| * Middleware: restrict to API-secret callers or bot-owner OAuth users. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| */ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| export function requireGlobalAdmin(forResource, req, res, next) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Support both requireGlobalAdmin(req, res, next) and requireGlobalAdmin('Resource', req, res, next) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if (arguments.length === 3) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Called as requireGlobalAdmin(req, res, next) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Parameters are shifted: forResource=req, req=res, res=next, next=undefined | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| next = res; // res parameter is actually the next function | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| res = req; // req parameter is actually the res object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| req = forResource; // forResource is the actual req object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| forResource = 'Global admin access'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } else { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| forResource = forResource || 'Global admin access'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+8
to
+18
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| export function requireGlobalAdmin(forResource, req, res, next) { | |
| // Support both requireGlobalAdmin(req, res, next) and requireGlobalAdmin('Resource', req, res, next) | |
| if (arguments.length === 3) { | |
| // Called as requireGlobalAdmin(req, res, next) | |
| // Parameters are shifted: forResource=req, req=res, res=next, next=undefined | |
| next = res; // res parameter is actually the next function | |
| res = req; // req parameter is actually the res object | |
| req = forResource; // forResource is the actual req object | |
| forResource = 'Global admin access'; | |
| } else { | |
| forResource = forResource || 'Global admin access'; | |
| export function requireGlobalAdmin(forResourceOrReq, resOrReq, nextOrRes, maybeNext) { | |
| // Support both requireGlobalAdmin(req, res, next) and requireGlobalAdmin('Resource', req, res, next) | |
| let forResource = 'Global admin access'; | |
| let req; | |
| let res; | |
| let next; | |
| if (typeof forResourceOrReq === 'string') { | |
| // Called as requireGlobalAdmin('Resource', req, res, next) | |
| forResource = forResourceOrReq || 'Global admin access'; | |
| req = resOrReq; | |
| res = nextOrRes; | |
| next = maybeNext; | |
| } else { | |
| // Called as requireGlobalAdmin(req, res, next) | |
| req = forResourceOrReq; | |
| res = resOrReq; | |
| next = nextOrRes; |
Uh oh!
There was an error while loading. Please reload this page.