Skip to content

Instantly share code, notes, and snippets.

View bibhuticoder's full-sized avatar
⌨️
Coding

Bibhuti Poudyal bibhuticoder

⌨️
Coding
View GitHub Profile
{
"id": "objectType-23423423-234234-234234-23423",
"data": {...},
"createdAt": 4564564564,
"updatedAt": 4564564567,
"createdBy": 'user-630eb68f-e0fa-5ecc-887a-7c7a62614681', //optional
"deletedAt": 4565961589 // optional
}
import { v1 as uuidv1 } from 'uuid';
function uuid(identifier){
return identifier + '-' + uuidv1();
}
uuid('user'); // ⇨ 'user-9k1teb4d-5b7d-7b2d-9bdd-2b0d7b3dcb6d'
uuid('product'); // ⇨ 'product-6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b'
// USER
{
"id": "user-23423423-234234-234234-23423",
"data": {
"firstname": "John",
"lastname": "Doe",
"email": "john.doe@gmail.com",
"age": "32"
},
"createdAt": 7124564538,
// automatically appends updatedAt timestamp
const update = async (updateParams) => {
try {
const timestamp = new Date().getTime();
params.UpdateExpression = params.UpdateExpression + ', #updatedAt = :updatedAt';
params.ExpressionAttributeNames['#updatedAt'] = 'updatedAt';
params.ExpressionAttributeValues[':updatedAt'] = timestamp;
return await db.update(updateParams).promise();
}
catch (error) { throw error; }
const jwt = require('jsonwebtoken');
// extract token from header
let authHeader = request.header.Authorization;
let token = authHeader.split(" ")[1];
// decode token and get user's 'role'
let decodedVal = jwt.verify(token, process.env.JWT_KEY);
let role = decodedVal.role;
const PERMISSIONS = {
"vendor": {
"products": ["POST", "PUT", "DELETE", "GET"],
"orders": ["POST", "PUT", "DELETE", "GET"],
"stores": ["POST", "PUT", "DELETE", "GET"],
"dashboard": ["GET"]
},
"customer": {
"products": ["GET"],
function checkPermission(role, resource, httpVerb){
if (PERMISSIONS[role] && PERMISSIONS[role][resource])
return PERMISSIONS[role][resource].includes(httpVerb);
return false;
}
// Example
// request from "admin"
// POST https://test-domain.com/products/ => true
let data = [];
try {
let query = {
index: 'index-name',
body: {
query: {
bool: {
// ...
}
},
const express = require('express')
const app = express()
const port = 3000
const { requestCode, verifyOtp, cancelOtp } = require("./vonage.service.js");
app.post('/api/request-token', (req, res) => {
//...
})
app.post('/api/verify-token', (req, res) => {
const Vonage = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: process.env.VONAGE_KEY,
apiSecret: process.env.VONAGE_SECRET
});
export const requestCode = (phoneNo, callback) => {
//...
});