2024-11-05 11:12:42 +00:00
"use strict" ;
( ( ) => {
var exports = { } ;
exports . id = 820 ;
exports . ids = [ 820 ] ;
exports . modules = {
/***/ 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" ) ;
/***/ } ) ,
/***/ 1017 :
/***/ ( ( module ) => {
module . exports = require ( "path" ) ;
/***/ } ) ,
/***/ 2562 :
/***/ ( ( _ _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 _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 _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( 6825 ) ;
/* harmony import */ var _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _2 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( _functions _backend _userAuth _ _WEBPACK _IMPORTED _MODULE _2 _ _ ) ;
/* harmony import */ var path _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( 1017 ) ;
/* harmony import */ var path _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( path _ _WEBPACK _IMPORTED _MODULE _3 _ _ ) ;
// @ts-check
/ * *
* === === === === === === === === === === === === === === === === === === === === === === === === === ===
* Imports
* === === === === === === === === === === === === === === === === === === === === === === === === === ===
* / c o n s t f s = _ _ w e b p a c k _ r e q u i r e _ _ ( 7 1 4 7 ) ;
/** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ / * *
* 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 _ 2 _ _ _ 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 s a n i t i z e d R e q B o d y = r e q . b o d y ;
const { folder } = sanitizedReqBody ;
try {
/ * *
* # # # Clean Target Folder
* @ param { object } params
* @ param { string } params . path
* / a s y n c f u n c t i o n c l e a n F o l d e r ( { p a t h } ) {
try {
const folderFiles = fs . readdirSync ( path ) ;
for ( let i = 0 ; i < folderFiles . length ; i ++ ) {
const fileName = folderFiles [ i ] ;
if ( ! fileName . match ( /\..{3,4}$/ ) ) {
await cleanFolder ( {
path : path + fileName + "/"
} ) ;
continue ;
}
const targetFolder = path . replace ( /.*user-images\/user-\d+\/|.*jsonData\/dbSchemas\/users\/user-\d+\/media\// , "" ) . replace ( /\/+$/ , "" ) ;
const targetMediaInDb = await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default ( ) ( ` SELECT * FROM user_media WHERE folder=? && media_url LIKE '% ${ fileName } ' ` , [
targetFolder
] ) ;
if ( targetMediaInDb && targetMediaInDb [ 0 ] ) {
await _package _shared _utils _backend _global _db _DB _HANDLER _ _WEBPACK _IMPORTED _MODULE _0 _ _ _default ( ) ( ` DELETE FROM user_media WHERE id = ? ` , [
targetMediaInDb [ 0 ] . id
] ) ;
}
try {
fs . unlinkSync ( path + fileName ) ;
} catch ( error1 ) {
try {
fs . rmdirSync ( path + fileName ) ;
} catch ( error ) { }
}
}
fs . rmdirSync ( path ) ;
} catch ( /** @type {any} */ error2 ) {
console . log ( "File cleaning error =>" , error2 . message ) ;
}
}
const STATIC _ROOT = process . env . DSQL _STATIC _SERVER _DIR ;
if ( ! STATIC _ROOT ) {
console . log ( "Static File ENV not Found!" ) ;
throw new Error ( "No Static Path!" ) ;
}
const folderPath = path _ _WEBPACK _IMPORTED _MODULE _3 _ _ _default ( ) . join ( STATIC _ROOT , ` images/user-images/user- ${ user . id } / ` ) ;
2024-11-05 14:18:40 +00:00
const privateFolderPath = ` ${ process . env . DSQL _USER _DB _SCHEMA _PATH } /user- ${ user . id } /media/ ` ;
2024-11-05 11:12:42 +00:00
const fullFolderPath = folderPath + ( folder ? folder . replace ( /\.| /g , "" ) + "/" : "" ) ;
const fullPrivateFolderPath = privateFolderPath + ( folder ? folder . replace ( /\.| /g , "" ) + "/" : "" ) ;
await cleanFolder ( {
path : fullFolderPath
} ) ;
await cleanFolder ( {
path : fullPrivateFolderPath
} ) ;
/ * *
* Send Response
*
* @ description Send a boolean response
* / r e s . j s o n ( {
success : true
} ) ;
} catch ( /** @type {any} */ error ) {
_functions _backend _serverError _ _WEBPACK _IMPORTED _MODULE _1 _ _ _default ( ) ( {
component : "/api/deleteMediaFolder/main-catch-error" ,
message : error . message ,
user : user
} ) ;
/ * *
* Send Error Response
*
* @ description Send a boolean response
* / r e s . j s o n ( {
success : false
} ) ;
}
}
/***/ } )
} ;
;
// 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 ] , ( ) => ( _ _webpack _exec _ _ ( 2562 ) ) ) ;
2024-11-05 11:12:42 +00:00
module . exports = _ _webpack _exports _ _ ;
} ) ( ) ;