dbjson-client
v1.0.6
Published
The dbjson client package to communicate with databases.
Downloads
284
Readme
🗃️ dbjson-client
English version
↓ Version française en bas ↓
➡️ Link to official documentation
dbjson-client
is a simple and efficient JavaScript library for interacting with a database through a remote JSON API. Manage your tables, columns, and data easily via this RESTful API.
🚀 Features
- 📄 Retrieve Tables: Get the tables in your project.
- 📝 Create & Delete Tables: Create or delete tables as needed.
- 🔎 Retrieve Fields: Retrieve fields from a specific table.
- ✍️ Manipulate Items: Add, update, and delete items in your tables.
- 📚 Manage Columns: Add, update, or delete columns in your tables.
- 🔗 Manage Relationships: Create and manage relationships between your tables.
🛠️ Installation
Install the package via npm
:
npm install dbjson-client
- 📦 Importation
Start by importing the module into your project:
const dbjsonClient = require('dbjson-client');
- ⚙️ Initialization
Create an instance of the client by specifying your API key and project name :
const database = new dbjsonClient({
api_key: 'API_KEY',
project_name: 'PROJECT_NAME'
})
📖 API Usage
Here is an overview of the main methods available for interacting with your database.
📊 Tables Management
🔍 getTables
Get all the tables within a project :
database.getTables({
tables: ['clients', 'commandes'], // or ['*'] to retrieve all tables
response_type: 'object'
// If response_type is not explicitly mentioned
// the default response type will be an array.
}).then(results => {
console.log(results)
})
➕ createTable
Create a new table with defined columns.
database.createTable({
name: 'clients',
columns: {
first_name:{
type: 'STRING',
default_value: ''
},
last_name:{
type: 'STRING',
default_value: ''
},
age:{
type: 'NUMBER',
default_value: 0
},
is_major:{
type: 'BOOLEAN',
default_value: false
},
}
}).then(status => {
console.log(status)
})
❌ removeTable
Delete a table from the project.
database.removeTable({
table: 'clients'
}).then(status => {
console.log(status)
})
🗄️ Columns Management
🔍 getColumns
Get columns from a table :
database.getColumns({
table: 'clients',
column_names: ['first_name', 'age'], // or ['*'] to retrieve all columns
}).then(columns => {
console.log(columns)
})
➕ addColumns
Add one or more columns to a table :
database.addColumns({
table: 'cities',
columns: {
zip_code:{
type: 'NUMBER',
default_value: 12345
},
}
}).then(status => {
console.log(status)
})
🔄 updateColumns
Update one or more columns in a table :
database.updateColumns({
table: 'clients',
columns: {
first_name: {
type: 'STRING',
default_value: 'Eric'
}
}
}).then(status => {
console.log(status)
})
❌ removeColumns
Delete columns from a table :
database.removeColumns({
table: 'cities',
column_names: ['name']
}).then(status => {
console.log(status)
})
🧩 Items Management
🔍 getElements
Retrieve items from a table by ID :
database.getElements({
table: 'clients',
ids: [1,2,4,8], // or ['*'] to retrieve all items
selected_fields: ['first_name', 'age'] // optional, to get specifics fields
}).then(elements => {
console.log(elements)
})
🔍 getElementsWhere
Retrieve items from a table by condition(s) :
database.getElementsWhere({
table: 'clients',
conditions: `(last_name == Perez) || (last_name == Dos Santos)`,
selected_fields: ['first_name', 'age'] // optional, to get specifics fields
}).then(elements => {
console.log(elements)
})
➕ addElements
Add one or more items to a table :
database.addElements({
table: 'clients',
elements: [
{
first_name: 'Maxime',
last_name: 'Perez',
age: 34
},
{
first_name: 'Roger',
last_name: 'Patrick',
age: 28
},
{
first_name: 'Youssef',
last_name: 'Laraoui',
age: 17
}
]
}).then(status => {
console.log(status)
})
🔄 updateElements
Update one or more items in a table by ID :
database.updateElements({
table: 'clients',
ids: ['*'], // assigne la valeur du champ 'is_authorized' à false pour tous les éléments
fields: {
"is_authorized" : false
}
}).then(status => {
console.log(status)
})
🔄 updateElementsWhere
Update one or more items in a table by condition(s) :
database.updateElementsWhere({
table: 'clients',
fields: {
'is_major': true
},
conditions: "(age >= 18)"
}).then(updated_elements => {
console.log(updated_elements)
})
❌ removeElements
Delete items from a table by ID :
database.removeElements({
table: 'clients',
ids: [10, 14, 27] // or ['*'] to delete all items
}).then(status => {
console.log(status)
})
❌ removeElementsWhere
Delete items from a table by condition(s) :
database.removeElementsWhere({
table: 'clients',
conditions: "(is_major == false)"
}).then(status => {
console.log(status)
})
🔗 Relationships Management
➕ addRelations
Add one or more relationships with the current table :
database.addRelations({
table: 'clients',
relations: {
cities: {
type: 'one_to_many'
},
orders: {
type: 'one_to_one'
}
}
}).then(status => {
console.log(status)
})
🔄 updateRelations
Update one or more relationships of the current table :
database.updateRelations({
table: 'clients',
relations: {
cities: {
type: 'many_to_many',
show_by: 'zipcode'
// show_by allows you to define
//which column the elements of a relationship
//will be displayed in the graphical interface
//of dbjson.io
}
}
}).then(status => {
console.log(status)
})
❌ removeRelations
Delete relationships with the current table :
database.removeRelations({
table: 'clients',
relation_names: ["sport_clubs"]
}).then(status => {
console.log(status)
})
Version française
➡️ Lien vers la documentation officielle
dbjson-client
est une bibliothèque JavaScript simple et efficace pour interagir avec une base de données via une API JSON distante. Gérez vos tables, colonnes et données facilement à travers cette API RESTful.
🚀 Fonctionnalités
- 📄 Récupération des tables : Obtenez les tables de votre projet.
- 📝 Création & Suppression de tables : Créez ou supprimez des tables selon vos besoins.
- 🔎 Récupération des champs : Récupérez les champs d'une table spécifique.
- ✍️ Manipulation des éléments : Ajoutez, mettez à jour, et supprimez des éléments dans vos tables.
- 📚 Gestion des colonnes : Ajoutez, mettez à jour ou supprimez des colonnes dans vos tables.
- 🔗 Gestion des relations : Créez et gérez des relations entre vos tables.
🛠️ Installation
Installez le package via npm
:
npm install dbjson-client
- 📦 Importation
Commencez par importer le module dans votre projet :
const dbjsonClient = require('dbjson-client');
- ⚙️ Initialisation
Créez une instance du client en spécifiant votre clé d'API et le nom de votre projet :
const database = new dbjsonClient({
api_key: 'CLE_API',
project_name: 'NOM_DE_PROJET'
})
📖 Utilisation de l'API
Voici un aperçu des principales méthodes disponibles pour interagir avec votre base de données.
📊 Gestion des tables
🔍 getTables
Obtenir l'intégralité des tables au sein d'un projet :
database.getTables({
tables: ['clients', 'commandes'], // ou ['*'] pour récupérer toutes les tables
response_type: 'object'
// Si response_type n'est pas mentionné explicitement
// la résponse par défaut des résultats sera de type
// array.
}).then(results => {
console.log(results)
})
➕ createTable
Créer une nouvelle table avec des colonnes définies.
database.createTable({
name: 'clients',
columns: {
first_name:{
type: 'STRING',
default_value: ''
},
last_name:{
type: 'STRING',
default_value: ''
},
age:{
type: 'NUMBER',
default_value: 0
},
is_major:{
type: 'BOOLEAN',
default_value: false
},
}
}).then(status => {
console.log(status)
})
❌ removeTable
Supprimer une table du projet.
database.removeTable({
table: 'clients'
}).then(status => {
console.log(status)
})
🗄️ Gestion des colonnes
🔍 getColumns
Obtenir des colonnes d'une table :
database.getColumns({
table: 'clients',
column_names: ['first_name', 'age'], // ou ['*'] pour récupérer toutes les colonnes
}).then(columns => {
console.log(columns)
})
➕ addColumns
Rajouter une ou plusieurs colonnes à une table :
database.addColumns({
table: 'cities',
columns: {
zip_code:{
type: 'NUMBER',
default_value: 12345
},
}
}).then(status => {
console.log(status)
})
🔄 updateColumns
Mettre à jour une ou plusieurs colonnes d'une table :
database.updateColumns({
table: 'clients',
columns: {
first_name: {
type: 'STRING',
default_value: 'Eric'
}
}
}).then(status => {
console.log(status)
})
❌ removeColumns
Supprimer des colonnes d'une table :
database.removeColumns({
table: 'cities',
column_names: ['name']
}).then(status => {
console.log(status)
})
🧩 Gestion des éléments
🔍 getElements
Récupérer les éléments d'une table par ID :
database.getElements({
table: 'clients',
ids: [1,2,4,8], // ou ['*'] pour récupérer tous les éléments
selected_fields: ['first_name', 'age'] // optionnel, pour cibler des champs précis
}).then(elements => {
console.log(elements)
})
🔍 getElementsWhere
Récupérer les éléments d'une table par condition(s) :
database.getElementsWhere({
table: 'clients',
conditions: `(last_name == Perez) || (last_name == Dos Santos)`,
selected_fields: ['first_name', 'age'] // optionnel, pour cibler des champs précis
}).then(elements => {
console.log(elements)
})
➕ addElements
Rajouter un ou plusieurs éléments à une table :
database.addElements({
table: 'clients',
elements: [
{
first_name: 'Maxime',
last_name: 'Perez',
age: 34
},
{
first_name: 'Roger',
last_name: 'Patrick',
age: 28
},
{
first_name: 'Youssef',
last_name: 'Laraoui',
age: 17
}
]
}).then(status => {
console.log(status)
})
🔄 updateElements
Mettre à jour un ou plusieurs éléments d'une table par ID :
database.updateElements({
table: 'clients',
ids: ['*'], // assigne la valeur du champ 'is_authorized' à false pour tous les éléments
fields: {
"is_authorized" : false
}
}).then(status => {
console.log(status)
})
🔄 updateElementsWhere
Mettre à jour un ou plusieurs éléments d'une table par condition(s) :
database.updateElementsWhere({
table: 'clients',
fields: {
'is_major': true
},
conditions: "(age >= 18)"
}).then(updated_elements => {
console.log(updated_elements)
})
❌ removeElements
Supprimer des éléments d'une table par ID :
database.removeElements({
table: 'clients',
ids: [10, 14, 27] // ou ['*'] pour supprimer tous les éléments
}).then(status => {
console.log(status)
})
❌ removeElementsWhere
Supprimer des éléments d'une table par condition(s) :
database.removeElementsWhere({
table: 'clients',
conditions: "(is_major == false)"
}).then(status => {
console.log(status)
})
🔗 Gestion des relations
➕ addRelations
Rajouter une ou plusieurs relations avec la table actuelle :
database.addRelations({
table: 'clients',
relations: {
cities: {
type: 'one_to_many'
},
orders: {
type: 'one_to_one'
}
}
}).then(status => {
console.log(status)
})
🔄 updateRelations
Mettre à jour une ou plusieurs relations de la table actuelle :
database.updateRelations({
table: 'clients',
relations: {
cities: {
type: 'many_to_many',
show_by: 'zipcode' // show_by permet de définir par quelle colonne s'afficheront
// les éléments d'une relation depuis l'interface graphique
// du site dbjson.io
}
}
}).then(status => {
console.log(status)
})
❌ removeRelations
Supprimer des relations avec la table actuelle :
database.removeRelations({
table: 'clients',
relation_names: ["sport_clubs"]
}).then(status => {
console.log(status)
})