xablaujs

XablauJS é um ''Headless CMS'' feito em Node.js com MongoDB

Usage no npm install needed!

<script type="module">
  import xablaujs from 'https://cdn.skypack.dev/xablaujs';
</script>

README

XablauJS

XablauJS é um "Headless CMS" feito em Node.js com MongoDB

Instalação

mkdir [project-folder]
cd [project-folder]
npm install xablaujs

Modo de Uso

'use strict';
const xablau = require('xablaujs');

// Instância do Server
const app = xablau.Server();

// Schemas do Mongoose http://mongoosejs.com/docs/guide.html
var exampleSchema = xablau.Schema({
    name: String
});

// xablau.structs.add(pontoDeAcesso, Schema)
xablau.structs.add('example', exampleSchema)

// xablau.init(db_confs, server);
xablau.init({server: 'localhost', port: 32900, dbname: 'xablau'}, app);

// app.listen(port)
app.listen(8080)

Xablau.init(conf : Object, server : Xablau.Server)

É passado como primeiro parâmetro um objeto que pode conter os atributos server, port, dbname, user, password referentes ao servidor do MongoDB. O segundo parametro, é a instância do ser servidor.

Xablau.structs.add(pontoDeAcesso : String, schema : Xablau.Schema)

Adiciona um novo ponto nas URLs do seu Servidor e associa com um Schema.

Xablau.structs.remove(pontoDeAcesso : String)

Remove um ponto das URLs do seu Servidor.

Xablau.structs.list()

Lista os pontos de acesso.

Xablau.structs.remove(urlDeAcesso : String, schema : Xablau.Schema)

Xablau.Server.listen(port : int)

É passado como parâmetro a porta em que o servidor deve ser iniciado.

Endpoints

METHOD ENDPOINT USAGE RETURNS
GET /{pontoDeAcesso} Busca todos os itens da estrutura schema[]
GET /{pontoDeAcesso}/{parametro}/{valor} Busca todos os itens da estrutura com os parametro passados schema[]
POST /{pontoDeAcesso}/ Insere um novo item Result
DELETE /{pontoDeAcesso} Remove todos os itens da estrutura com os parametro passados no cabeçalho Result

POST

/{pontoDeAcesso}

Nos pontos de acesso de inserção devem ser passados N parametros por cabeçalho, sendo N o numero de campos da sua estrutura:

campo1 : Valor do campo1

campo2 : Valor do campo2

...

campon : valor do campon

DELETE

/{pontoDeAcesso}

Nos pontos de acesso de remoção devem ser passados dois parametros no cabeçalho da requisição:

param : Nome do campo para a consulta

value : Valor do campo para a consulta