1.3.9 • Published 5 years ago
systemblocks v1.3.9
SystemBlocks ·
blocks bases easy rest api building framework.
Installing ?
npm i -S systemblocks
Starting express server ?
file: /index.js
import * as Blocks from 'systemblocks/core/class';
Blocks.Init();
Config file
file: /config/index.js
export default {
db: "mongodb://localhost:27017/systemblocks",
TIMEOUT: {
HOOK_PROMISE: 20 * 1000
}
}
New database modal ?
file: /applications/auth/modals/user.js
import mongoose from 'mongoose';
import * as Blocks from 'systemblocks/core/class';
const { Schema } = mongoose;
export default class User extends Blocks.Modal {
constructor() {
const structure = new mongoose.Schema({
name: { type: String, required: true },
username: { type: String, required: true },
password: { type: String, required: true }
});
super({ structure, application: "auth", name: "User" });
}
}
* Note that collection name in database will be 'auth_users'
New Route ?
file: /applications/auth/routes/login.js
import Joi from "joi";
import * as Blocks from "systemblocks/core/class";
import { Method } from "systemblocks/core/decorator";
export default class LoginController extends Blocks.Controller {
constructor() {
super({ application: "auth" });
}
@Method({
method: "PUT",
parameters: {
name: Joi.string().required(),
username: Joi.string().required(),
password: Joi.string().required()
}
})
async save(req, res) {
const { name, username, password } = req.body;
const saved = await new _block.modals.auth.User({
name, username, password
}).save();
res.json(new Blocks.Output(saved));
}
@Method({
method: "GET"
})
async list(req, res) {
const users = await _block.modals.auth.User.find({});
res.json(new Blocks.Output(users));
}
}
Test Now
Create User
PUT /auth/login
{
"name": "Hashan Chathuranga",
"username": "test",
"password": "Aa1"
}
Get Users
GET /auth/login
You can create multiple applications, routes, methods and modals
Support me by PR's and Bug Reporting. :pray:
1.3.9
5 years ago
1.3.8
5 years ago
1.3.7
5 years ago
1.3.6
5 years ago
1.3.5
5 years ago
1.3.4
5 years ago
1.3.3
5 years ago
1.3.2
5 years ago
1.3.1
5 years ago
1.2.7
5 years ago
1.2.6
5 years ago
1.2.5
5 years ago
1.2.4
5 years ago
1.2.3
5 years ago
1.2.2
5 years ago
1.2.1
5 years ago
1.2.0
5 years ago
1.1.3
5 years ago
1.1.2
5 years ago
1.1.1
5 years ago
1.1.0
5 years ago
1.0.0
6 years ago
0.0.22
6 years ago
0.0.28
6 years ago
0.0.21
6 years ago
0.0.20
6 years ago
0.0.1
6 years ago