Table of Contents

Steps

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