b2b-common-sfw
v1.0.14
Published
Shared utilities for b2b-sbs
Downloads
33
Readme
Β2Β Shared files
Περιέχει τα αρχεία που χρειάζονται τα APIs το SBS (B2B API)
Quick Start
npm i b2b-common-sfw
Table of Contents
Models
Για να πάρουμε κάποιο από τα models της mongoose:
Κάνουμε ένα καινούργιο αρχείο πχ. image-tool-settings.model.js
Με περιεχόμενο
const mongoose = require('mongoose'); const { imagetoolsettings } = require('b2b-common-sfw/models'); const imageToolSettingsSchema = new mongoose.Schema(imagetoolsettings, { timestamps: true, // αν θέλουμε να έχουμε τα πεδία createdAt, updatedAt }) <!-- Εδώ το σημάντικό είναι το όνομα που δηλώνουμε το model στην mongoose να έιναι το ίδιο με το όνομα του model από το import του από το package, πχ "imagetoolsettings" --> module.exports = mongoose.model('imagetoolsettings', imageToolSettingsSchema);
Middlewares
- jsonResponse (middlware για να έχει το response fixed format)
exports.getAll = asyncHandler(async (req, res) => {
const items = service.getAll();
return jsonResponse(res, {
status: StatusCodes.OK,
data: items,
});
});
Utils
- compressAndResizeFile (helper function για compress και resize εικόνων)
const options = {
filename: "το όνομα του αρχείου",
filepath: "το παρόν path του αρχείου",
compress: 80, # Ποσοστό compression,
resize: false,
}
const filenames = await compressAndResizeFile(options)
Επιστρέφει ένα object
{
default: newFilename,
και αν έχεις resize: true τα παρακάτω
w500: filename500,
w1000: filename500,
}
Lodash Mock Helpers Κάποια utilities functions πχ deepGet για να κάνεις extract τιμές από object
const object = { "indexDictionary": { "filepath": "/indexDictionary.json", "cronjobEnabled": false, "cronjobExp": "*/1 * * * *" }, } const value = deepGet(deepGet, 'indexDictionary.filepath') το value = "/indexDictionary.json"