2024-11-05 11:12:42 +00:00
"use strict" ;
( ( ) => {
var exports = { } ;
exports . id = 9685 ;
exports . ids = [ 9685 ] ;
exports . modules = {
/***/ 6517 :
/***/ ( ( module ) => {
module . exports = require ( "lodash" ) ;
/***/ } ) ,
/***/ 2261 :
/***/ ( ( module ) => {
module . exports = require ( "serverless-mysql" ) ;
/***/ } ) ,
/***/ 4300 :
/***/ ( ( module ) => {
module . exports = require ( "buffer" ) ;
/***/ } ) ,
/***/ 2081 :
/***/ ( ( module ) => {
module . exports = require ( "child_process" ) ;
/***/ } ) ,
/***/ 6113 :
/***/ ( ( module ) => {
module . exports = require ( "crypto" ) ;
/***/ } ) ,
/***/ 7147 :
/***/ ( ( module ) => {
module . exports = require ( "fs" ) ;
/***/ } ) ,
/***/ 3685 :
/***/ ( ( module ) => {
module . exports = require ( "http" ) ;
/***/ } ) ,
/***/ 1017 :
/***/ ( ( module ) => {
module . exports = require ( "path" ) ;
/***/ } ) ,
/***/ 2287 :
/***/ ( ( _ _unused _webpack _module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) => {
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
/* harmony export */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , {
/* harmony export */ "default" : ( ) => ( /* binding */ handler )
/* harmony export */ } ) ;
/* harmony import */ var _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 6825 ) ;
/* harmony import */ var _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _0 _ _ ) ;
/* harmony import */ var _functions _backend _serverError _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( 2163 ) ;
/* harmony import */ var _functions _backend _serverError _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _functions _backend _serverError _ _WEBPACK _IMPORTED _MODULE _1 _ _ ) ;
/* harmony import */ var lodash _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( 6517 ) ;
/* harmony import */ var lodash _ _WEBPACK _IMPORTED _MODULE _2 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( lodash _ _WEBPACK _IMPORTED _MODULE _2 _ _ ) ;
/* harmony import */ var _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( 2224 ) ;
/* harmony import */ var _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _3 _ _ ) ;
/* harmony import */ var path _ _WEBPACK _IMPORTED _MODULE _4 _ _ = _ _webpack _require _ _ ( 1017 ) ;
/* harmony import */ var path _ _WEBPACK _IMPORTED _MODULE _4 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( path _ _WEBPACK _IMPORTED _MODULE _4 _ _ ) ;
/* harmony import */ var child _process _ _WEBPACK _IMPORTED _MODULE _5 _ _ = _ _webpack _require _ _ ( 2081 ) ;
/* harmony import */ var child _process _ _WEBPACK _IMPORTED _MODULE _5 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( child _process _ _WEBPACK _IMPORTED _MODULE _5 _ _ ) ;
/* harmony import */ var _package _shared _functions _backend _encrypt _ _WEBPACK _IMPORTED _MODULE _6 _ _ = _ _webpack _require _ _ ( 7547 ) ;
/* harmony import */ var _package _shared _functions _backend _encrypt _ _WEBPACK _IMPORTED _MODULE _6 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _package _shared _functions _backend _encrypt _ _WEBPACK _IMPORTED _MODULE _6 _ _ ) ;
// @ts-check
const fs = _ _webpack _require _ _ ( 7147 ) ;
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
/** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ / * *
* API handler
* === === === === === === === === === === === === === === === === === === === === === === === === === ===
* @ type { import ( "next" ) . NextApiHandler }
* / a s y n c f u n c t i o n h a n d l e r ( r e q , r e s ) {
/ * *
* Check method
*
* @ description Check request method and return if invalid
* / i f ( r e q . m e t h o d ! = = " P O S T " ) r e t u r n r e s . j s o n ( {
user : null ,
msg : "Registration Failed!"
} ) ;
/ * *
* User Auth
*
* @ description User Auth
* / c o n s t u s e r = a w a i t _ f u n c t i o n s _ b a c k e n d _ u s e r A u t h _ _ W E B P A C K _ I M P O R T E D _ M O D U L E _ 0 _ _ _ d e f a u l t ( ) ( r e q , r e s , t r u e ) ;
if ( ! user ) {
return res . json ( {
success : false ,
msg : "Unauthorized"
} ) ;
}
/ * *
* Validate Form
*
* @ description Check if request body is valid
* / c o n s t { d a t a , e d i t , p r e v , g r a n t s } = r e q . b o d y ;
/ * *
* @ type { import ( "@/package-shared/types" ) . MYSQL _mariadb _users _table _def | undefined }
* / c o n s t e x i s t i n g M a r i a D B U s e r = p r e v ;
/ * *
* Validate Form
*
* @ description Check if request body is valid
* / t r y {
if ( ! existingMariaDBUser ? . id ) {
throw new Error ( "Invalid existing DB entry" ) ;
}
const existingMariaDBUserArray = await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default ( ) ( ` SELECT * FROM mariadb_users WHERE id = ? AND user_id = ? ` , [
existingMariaDBUser . id ,
user . id
] ) ;
/ * *
* @ type { import ( "@/package-shared/types" ) . MYSQL _mariadb _users _table _def | undefined }
* / c o n s t a c t i v e M a r i a d b U s e r O b j e c t = e x i s t i n g M a r i a D B U s e r A r r a y ? . [ 0 ] ;
if ( ! activeMariadbUserObject ? . id ) {
throw new Error ( "Active User couldn't be verified" ) ;
}
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
const username = ` dsql_user_ ${ user . id } ` ;
const { host , password } = data ;
if ( ! host ) {
throw new Error ( "No host provided" ) ;
}
if ( host . match ( /^%$/ ) ) {
throw new Error ( "Cannot set a catch-all host for this user." ) ;
}
const sanitizedNewHost = String ( host ) . replace ( /[^a-zA-Z0-9-\.\:\/\%]/g , "" ) ;
if ( activeMariadbUserObject . host != data . host ) {
const existinUser = await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default ( ) ( ` SELECT * FROM mariadb_users WHERE user_id = ? AND host = ? ` , [
user . id ,
sanitizedNewHost
] ) ;
if ( ! existinUser ? . [ 0 ] ? . id ) {
const renameUser = await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default ( ) ( ` RENAME USER ' ${ username } '@' ${ activeMariadbUserObject . host } ' TO ' ${ username } '@' ${ sanitizedNewHost } ' ` ) ;
} else {
throw new Error ( "User already exists with this host. Please choose another host." ) ;
}
}
const encryptedPassword = _package _shared _functions _backend _encrypt _ _WEBPACK _IMPORTED _MODULE _6 _ _ _default ( ) ( password ) ;
const finalPassword = encryptedPassword == activeMariadbUserObject . password ? activeMariadbUserObject . password : encryptedPassword ;
const updateUserEntry = await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default ( ) ( ` UPDATE mariadb_users SET host = ?, password = ?, grants = ? WHERE id = ? ` , [
sanitizedNewHost ,
finalPassword ,
JSON . stringify ( grants ) ,
activeMariadbUserObject . id ,
] ) ;
const updateSQLUserPassword = await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default ( ) ( ` SET PASSWORD FOR ' ${ username } '@' ${ sanitizedNewHost } ' = PASSWORD(' ${ password } '); ` ) ;
2024-11-06 09:37:01 +00:00
const execPath = path _ _WEBPACK _IMPORTED _MODULE _4 _ _ _default ( ) . resolve ( process . cwd ( ) , "./shell/mariadb-users" ) ;
2024-11-05 11:12:42 +00:00
const execSQLUserScript = ( 0 , child _process _ _WEBPACK _IMPORTED _MODULE _5 _ _ . execSync ) ( ` node refreshUsersAndGrants.js --userId ${ user . id } --username ${ username } --host ${ sanitizedNewHost } --sql-user-id ${ activeMariadbUserObject . id } } ` , {
cwd : execPath
} ) ;
res . json ( {
success : true
} ) ;
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
} catch ( /** @type {any} */ error ) {
_functions _backend _serverError _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default ( ) ( {
component : "/api/acceptUserInvitation/catch-error" ,
message : error . message ,
user : user
} ) ;
res . json ( {
success : false ,
msg : "Error in adding SQL user =>" + error . message ,
err : error . message
} ) ;
}
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
}
/***/ } )
} ;
;
// load runtime
var _ _webpack _require _ _ = require ( "../../../webpack-api-runtime.js" ) ;
_ _webpack _require _ _ . C ( exports ) ;
var _ _webpack _exec _ _ = ( moduleId ) => ( _ _webpack _require _ _ ( _ _webpack _require _ _ . s = moduleId ) )
2024-11-05 14:18:40 +00:00
var _ _webpack _exports _ _ = _ _webpack _require _ _ . X ( 0 , [ 2224 , 2163 , 6825 , 3017 , 7547 ] , ( ) => ( _ _webpack _exec _ _ ( 2287 ) ) ) ;
2024-11-05 11:12:42 +00:00
module . exports = _ _webpack _exports _ _ ;
} ) ( ) ;