mdev-rest-module
v1.0.0
Published
Lib para usar a MDev Rest api
Maintainers
Readme
Claro! Aqui está um exemplo de um README.md em Markdown bem documentado e com foco profissional para sua lib mdev-rest-module, pronto para incluir na raiz do seu projeto:
📦 mdev-rest-module
Módulo TypeScript para facilitar a integração com a API REST da MDev Rest. Permite o cadastro, consulta e atualização de usuários em um banco de dados personalizado via chave de acesso (DBKey).
🚀 Instalação
npm install mdev-rest-module🧩 Uso básico
import { MDevDatabase } from 'mdev-rest-module';
const db = new MDevDatabase({
host: 'http://127.0.0.1:8000/api/database_users/',
dbKey: 'SUA_CHAVE_DB',
});📚 Métodos disponíveis
🔍 getUserDB({ jid? })
Consulta usuários registrados. Se jid for omitido, retorna todos os usuários.
const user = await db.getUserDB({ jid: '[email protected]' });🆕 registerUser({ jid, username?, money?, xp? })
Registra um novo usuário ou atualiza se já existir.
await db.registerUser({
jid: '[email protected]',
username: 'Joãozinho',
money: 100,
xp: 20,
});🔄 Atualização de campos individuais
- ✅
updateMoney({ jid, value }) - ✅
updateXp({ jid, value }) - ✅
updateUsername({ jid, username }) - ✅
updateIsOwner({ jid, state }) - ✅
updateIsPremium({ jid, state }) - ✅
updateBanUser({ jid, state })
await db.updateMoney({ jid: '[email protected]', value: 200 });
await db.updateIsPremium({ jid: '[email protected]', state: true });🧬 updateUserFull(user: UserDB)
Atualiza múltiplos campos de uma só vez:
await db.updateUserFull({
jid: '[email protected]',
username: 'Maria',
isPremium: true,
isBanned: false,
isOwner: false,
money: 300,
xp: 50,
});🧾 Tipos
UserDB
type UserDB = {
jid: string;
username: string;
isPremium: boolean;
isBanned: boolean;
isOwner: boolean;
money: number;
xp: number;
};ApiResponse<T>
type ApiResponse<T = any> = {
success?: boolean;
error?: string;
created?: boolean;
updated_fields?: string[];
data?: T;
};🛠 Requisitos
- Node.js 16+
- Backend compatível com a estrutura da API Django da MDev
📃 Licença
MIT © M'Dev Systems by @luciano_mendesz9
