1.3.9 • Published 6 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
6 years ago
1.3.8
6 years ago
1.3.7
6 years ago
1.3.6
6 years ago
1.3.5
6 years ago
1.3.4
6 years ago
1.3.3
6 years ago
1.3.2
6 years ago
1.3.1
6 years ago
1.2.7
6 years ago
1.2.6
6 years ago
1.2.5
6 years ago
1.2.4
6 years ago
1.2.3
6 years ago
1.2.2
6 years ago
1.2.1
6 years ago
1.2.0
6 years ago
1.1.3
6 years ago
1.1.2
6 years ago
1.1.1
6 years ago
1.1.0
6 years ago
1.0.0
7 years ago
0.0.22
7 years ago
0.0.28
7 years ago
0.0.21
7 years ago
0.0.20
7 years ago
0.0.1
7 years ago