updates
This commit is contained in:
		
							parent
							
								
									c0a696321f
								
							
						
					
					
						commit
						4530132ffa
					
				
							
								
								
									
										2
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								index.js
									
									
									
									
									
								
							| @ -12,6 +12,7 @@ const loginUser = require("./users/login-user"); | |||||||
| const logoutUser = require("./users/logout-user"); | const logoutUser = require("./users/logout-user"); | ||||||
| const userAuth = require("./users/user-auth"); | const userAuth = require("./users/user-auth"); | ||||||
| const reAuthUser = require("./users/reauth-user"); | const reAuthUser = require("./users/reauth-user"); | ||||||
|  | const getUser = require("./users/get-user"); | ||||||
| 
 | 
 | ||||||
| /** ****************************************************************************** */ | /** ****************************************************************************** */ | ||||||
| /** ****************************************************************************** */ | /** ****************************************************************************** */ | ||||||
| @ -32,6 +33,7 @@ const user = { | |||||||
|     userAuth: userAuth, |     userAuth: userAuth, | ||||||
|     reAuthUser: reAuthUser, |     reAuthUser: reAuthUser, | ||||||
|     updateUser: updateUser, |     updateUser: updateUser, | ||||||
|  |     getUser: getUser, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|     "name": "datasquirel", |     "name": "datasquirel", | ||||||
|     "version": "1.1.27", |     "version": "1.1.28", | ||||||
|     "description": "Cloud-based SQL data management tool", |     "description": "Cloud-based SQL data management tool", | ||||||
|     "main": "index.js", |     "main": "index.js", | ||||||
|     "scripts": { |     "scripts": { | ||||||
|  | |||||||
							
								
								
									
										112
									
								
								users/get-user.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								users/get-user.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,112 @@ | |||||||
|  | /** | ||||||
|  |  * ============================================================================== | ||||||
|  |  * Imports | ||||||
|  |  * ============================================================================== | ||||||
|  |  */ | ||||||
|  | const https = require("https"); | ||||||
|  | const encrypt = require("../functions/encrypt"); | ||||||
|  | 
 | ||||||
|  | /** ****************************************************************************** */ | ||||||
|  | /** ****************************************************************************** */ | ||||||
|  | /** ****************************************************************************** */ | ||||||
|  | /** ****************************************************************************** */ | ||||||
|  | /** ****************************************************************************** */ | ||||||
|  | /** ****************************************************************************** */ | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @typedef {object} FunctionReturn | ||||||
|  |  * @property {boolean} success - Did the function run successfully? | ||||||
|  |  * @property {{ | ||||||
|  |  *   id: number, | ||||||
|  |  *   first_name: string, | ||||||
|  |  *   last_name: string, | ||||||
|  |  *   username: string, | ||||||
|  |  *   email: string, | ||||||
|  |  *   phone: string, | ||||||
|  |  *   social_id: [string], | ||||||
|  |  *   image: string, | ||||||
|  |  *   image_thumbnail: string, | ||||||
|  |  *   verification_status: [number=0], | ||||||
|  |  * }} payload - Payload | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * ============================================================================== | ||||||
|  |  * Main Function | ||||||
|  |  * ============================================================================== | ||||||
|  |  * @async | ||||||
|  |  * | ||||||
|  |  * @param {object} params - Single Param object containing params | ||||||
|  |  * @param {String} params.key - API Key | ||||||
|  |  * @param {String} params.database - Target Database | ||||||
|  |  * @param {number} params.userId - user id | ||||||
|  |  * @param {string[]} [params.fields] - fields to select | ||||||
|  |  * | ||||||
|  |  * @returns { Promise<FunctionReturn>} | ||||||
|  |  */ | ||||||
|  | module.exports = async function ({ key, userId, database, fields }) { | ||||||
|  |     /** | ||||||
|  |      * Make https request | ||||||
|  |      * | ||||||
|  |      * @description make a request to datasquirel.com | ||||||
|  |      */ | ||||||
|  |     const httpResponse = await new Promise((resolve, reject) => { | ||||||
|  |         const defaultFields = ["id", "first_name", "last_name", "email", "username", "image", "image_thumbnail", "verification_status", "date_created", "date_created_code", "date_created_timestamp", "date_updated", "date_updated_code", "date_updated_timestamp"]; | ||||||
|  | 
 | ||||||
|  |         const updatedFields = fields && fields[0] ? [...defaultFields, ...fields] : defaultFields; | ||||||
|  | 
 | ||||||
|  |         const reqPayload = JSON.stringify({ | ||||||
|  |             userId, | ||||||
|  |             database, | ||||||
|  |             fields: [...new Set(updatedFields)], | ||||||
|  |         }); | ||||||
|  | 
 | ||||||
|  |         const httpsRequest = https.request( | ||||||
|  |             { | ||||||
|  |                 method: "POST", | ||||||
|  |                 headers: { | ||||||
|  |                     "Content-Type": "application/json", | ||||||
|  |                     "Content-Length": Buffer.from(reqPayload).length, | ||||||
|  |                     Authorization: key, | ||||||
|  |                 }, | ||||||
|  |                 port: 443, | ||||||
|  |                 hostname: "datasquirel.com", | ||||||
|  |                 path: `/api/user/get-user`, | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |             /** | ||||||
|  |              * Callback Function | ||||||
|  |              * | ||||||
|  |              * @description https request callback | ||||||
|  |              */ | ||||||
|  |             (response) => { | ||||||
|  |                 var str = ""; | ||||||
|  | 
 | ||||||
|  |                 response.on("data", function (chunk) { | ||||||
|  |                     str += chunk; | ||||||
|  |                 }); | ||||||
|  | 
 | ||||||
|  |                 response.on("end", function () { | ||||||
|  |                     resolve(JSON.parse(str)); | ||||||
|  |                 }); | ||||||
|  | 
 | ||||||
|  |                 response.on("error", (err) => { | ||||||
|  |                     reject(err); | ||||||
|  |                 }); | ||||||
|  |             } | ||||||
|  |         ); | ||||||
|  | 
 | ||||||
|  |         httpsRequest.write(reqPayload); | ||||||
|  |         httpsRequest.end(); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     /** ********************************************** */ | ||||||
|  |     /** ********************************************** */ | ||||||
|  |     /** ********************************************** */ | ||||||
|  | 
 | ||||||
|  |     return httpResponse; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | /** ********************************************** */ | ||||||
|  | /** ********************************************** */ | ||||||
|  | /** ********************************************** */ | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Tben
						Tben