Table of Contents
Steps
- Import
auth module
- Try/catch in handler
- Check auth
- Do query
Sample
// API /api/find-data handler file
// Modules
import auth from "../../modules/auth.mjs";
// Shorthands
var log = console.log;
// Globals
const MAX_RESULTS = 100;
function _____HANDLER_____(){}
// Handler function
async function handle_api_find_data(Req,Res,Extras){
try { // Prevent Res leak
const str = global.str;
var [authed,Body] = await auth.check(Extras.Body);
if (!authed){
Res.end(str({Err:"not-authed"}));
return;
}
// Check params
if (Body.Text==null || Body.Text.trim().length==0){
Res.end(str({ Err:"missing-Text-in-body" }));
return;
}
// Get from db
var Email = Body.Email_;
var Text = Body.Text;
var Dbtest = global.Mongo.get_coll("tests");
var Items = await Dbtest.find({Email, $text:{$search: Text}}).
sort({_id:-1}).limit(MAX_RESULTS).toArray();
// Done
Res.end(str({Items}));
}
catch(Err){
log("Error:",Err);
Res.end();
}
}
const thisfunc = handle_api_find_data;
export default thisfunc;
// EOF