Miss any of our Open RFC calls?Watch the recordings here! »

codemash

1.2.18 • Public • Published

CodeMash.Js

CodeMash for javascript developers. All the documentation can be found here

Installation

Use the package manager codemash to install codemash.

npm install codemash

Configuration

import { config } from 'codemash';
 
config.init({
      secretKey: '<YOUR_SECRET_KEY>',
      projectId: '<YOUR_PROJECT_ID>'
    }, process.env.NODE_ENV)

See full documentation here

Database Module

Get Data:

import { db } from 'codemash';
 
// gets all first 100 employees 
export async function getEmployees() {
    return await db.getRecords('emplpyees', 0, 100);
}
 
// gets all first 100 active employees
// get only first name and last name - projection
// sort out by created on date in DESC order. 
export async function getActiveEmployees() {    
 
    const filter = JSON.stringify({ 'is_active': true });
    
    const response = 
        await db.getRecords('employees', 0, 100,
        { first_name: 1, last_name: 1 }, 
        filter, 
        { created_on: -1 });  
              
    return response;
}
 

Pagination (by default page size is set to 10):

await db.getRecords('employees', 0, 100);

Sort:

await db.getRecords('employees', 0, 100, { created_on: -1 });

Filter:

const filter = JSON.stringify({ 'is_active': true });
await db.getRecords('employees', 0, 100, { created_on: -1 }, filter);

See full documentation here

Get One Record:

import { db } from 'codemash';
 
// gets employee by id
export async function getEmployeeDetails(id) {
    const response = await db.getRecord('employees', id);
    return response;
}
 
// gets employee by custom filter
export async function getEmployeeByUserId(id) {    
    
    const filter = { userId : id };    
    return await db.getRecordWithFilter(collectionName, filter, null);
}
 

See full documentation here

TODO Projection:

Save Data:

import { db } from 'codemash';
 
const request = {
    start: '1588855312059', // Unix time stamp in miliseconds
    end: '1588855340191', // Unix time stamp in miliseconds
    employee: 'some_user_id',
    type: 'paid',
};
 
export async function saveHolidaysRequest(request) {
    const response = await db.saveRecord('holidays', request);
    return response;
}

See full documentation here

Replace Data:

import { db } from 'codemash';
 
export async function replaceEmployeeInformation(id, employee) {
    return await db.replaceRecord('employees', { _id: id }, employee);
}

Update Data:

import { db } from 'codemash';
 
export async function activateEmployee(id) {
 
    return await db.updateRecord('employees', 
        { _id: id }, 
        { $set: { 'is_active' : 1 }});
}
 

See full documentation here

Delete Data:

import { db } from 'codemash';
 
export async function deleteEmployee(id) {
    return await db.deleteRecord('employees', { _id: id });
}

See full documentation here

Get Taxonomy terms:

import { db } from 'codemash';
 
export async function getCountries() {
    return await db.getTaxonomyTerms('countries');
}
 
export async function getCities() {
    return await db.getTaxonomyTerms('cities');
}

Documentation about Terms module you can find here https://docs.codemash.io/microservices/database/taxonomies

TODO Files Module

Documentation about Files moduke you can find here

TODO IAM Module

Documentation about Membership module you can find here

Users Authentication

TODO Notifications Module

Documentation about Notifications you can find here

Emails Push

Keywords

Install

npm i codemash

DownloadsWeekly Downloads

306

Version

1.2.18

License

ISC

Unpacked Size

34.5 kB

Total Files

12

Homepage

codemash.io

Last publish

Collaborators

  • avatar
  • avatar