2024-11-05 11:12:42 +00:00
"use strict" ;
( ( ) => {
var exports = { } ;
exports . id = 5705 ;
exports . ids = [ 5705 ] ;
exports . modules = {
/***/ 2029 :
/***/ ( ( module ) => {
module . exports = require ( "datasquirel/functions/hashPassword" ) ;
/***/ } ) ,
/***/ 2261 :
/***/ ( ( module ) => {
module . exports = require ( "serverless-mysql" ) ;
/***/ } ) ,
/***/ 4300 :
/***/ ( ( module ) => {
module . exports = require ( "buffer" ) ;
/***/ } ) ,
/***/ 6113 :
/***/ ( ( module ) => {
module . exports = require ( "crypto" ) ;
/***/ } ) ,
/***/ 7147 :
/***/ ( ( module ) => {
module . exports = require ( "fs" ) ;
/***/ } ) ,
/***/ 3685 :
/***/ ( ( module ) => {
module . exports = require ( "http" ) ;
/***/ } ) ,
/***/ 3509 :
/***/ ( ( _ _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 _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 2224 ) ;
/* harmony import */ var _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _0 _ _ ) ;
/* harmony import */ var _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( 6825 ) ;
/* harmony import */ var _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _1 _ _ ) ;
/* harmony import */ var datasquirel _functions _hashPassword _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( 2029 ) ;
/* harmony import */ var datasquirel _functions _hashPassword _ _WEBPACK _IMPORTED _MODULE _2 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( datasquirel _functions _hashPassword _ _WEBPACK _IMPORTED _MODULE _2 _ _ ) ;
// @ts-check
/ * *
* === === === === === === === === === === === === === === === === === === === === === === === === === ===
* Imports
* === === === === === === === === === === === === === === === === === === === === === === === === === ===
* /
/** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ / * *
* 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 ( {
msg : "Failed!"
} ) ;
/ * *
* User auth
*
* @ description Authenticate user
* / 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 _ 1 _ _ _ 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"
} ) ;
}
/ * *
* User auth
*
* @ description Authenticate user
* / c o n s t { u s e r I d , p a s s w o r d , d b I d } = r e q . b o d y ;
/ * *
* Input Validation
*
* @ description Input Validation
* / t r y {
const validDbId = Boolean ( String ( dbId ) . match ( /^\d+$/ ) ) ;
const validUserId = Boolean ( String ( userId ) . match ( /^\d+$/ ) ) ;
const invalidPassword = Boolean ( String ( password ) . match ( / / ) ) ;
if ( ! validDbId || ! validUserId ) {
throw new Error ( "Invalud Parameters!" ) ;
}
if ( invalidPassword ) {
throw new Error ( "Invalid Password!" ) ;
}
const targetDb = await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default ( ) ( ` SELECT * FROM user_databases WHERE id = ? ` , [
dbId
] ) ;
const dbFullName = targetDb ? . [ 0 ] ? . db _full _name ;
const newPasswordHashed = datasquirel _functions _hashPassword _ _WEBPACK _IMPORTED _MODULE _2 _ _ _default ( ) ( {
encryptionKey : process . env . DSQL _ENCRYPTION _PASSWORD || "" ,
password : password
} ) ;
const updatePassword = await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default ( ) ( ` UPDATE \` ${ dbFullName } \` . \` users \` SET password = ? WHERE id = ? ` , [
newPasswordHashed ,
userId
] ) ;
res . json ( {
success : true ,
msg : "DB user Password Changed!"
} ) ;
} catch ( /** @type {any} */ error ) {
res . json ( {
success : false ,
msg : 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 , 6825 ] , ( ) => ( _ _webpack _exec _ _ ( 3509 ) ) ) ;
2024-11-05 11:12:42 +00:00
module . exports = _ _webpack _exports _ _ ;
} ) ( ) ;