lmcs-db 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -21
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ npm install lmcs-db
|
|
|
24
24
|
yarn add lmcs-db
|
|
25
25
|
|
|
26
26
|
🚀 Exemplo de uso
|
|
27
|
-
import DatabaseFactory from 'lmcs-db';
|
|
27
|
+
import { DatabaseFactory, DatabaseStorageType } from 'lmcs-db';
|
|
28
28
|
|
|
29
29
|
interface User {
|
|
30
30
|
_id: string;
|
|
@@ -36,8 +36,9 @@ interface User {
|
|
|
36
36
|
|
|
37
37
|
async function main() {
|
|
38
38
|
const db = await DatabaseFactory.create({
|
|
39
|
-
storageType:
|
|
39
|
+
storageType: DatabaseStorageType.Binary,
|
|
40
40
|
databaseName: 'secure-db',
|
|
41
|
+
customPath: `${process.cwd()}/data`,
|
|
41
42
|
encryptionKey: 'my-secret-key-123'
|
|
42
43
|
});
|
|
43
44
|
|
|
@@ -62,40 +63,35 @@ main();
|
|
|
62
63
|
|
|
63
64
|
|
|
64
65
|
## 📘 API
|
|
65
|
-
DatabaseFactory.create(options)
|
|
66
|
-
Cria uma instância do banco de dados.
|
|
66
|
+
- DatabaseFactory.create(options): Cria uma instância do banco de dados.
|
|
67
67
|
|
|
68
68
|
Parâmetros:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
- storageType: Memory, Json ou Binary para Define o formato de armazenamento
|
|
70
|
+
- databaseName: string Nome do arquivo base do banco
|
|
71
|
+
- encryptionKey: string (opcional) Chave usada para criptografia AES
|
|
72
|
+
- customPath: string (opcional) Path de onde será criado o arquivo de armazenamento
|
|
73
73
|
|
|
74
74
|
db.collection<T>(name)
|
|
75
75
|
Obtém uma coleção tipada com suporte a:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
### update
|
|
84
|
-
|
|
85
|
-
### delete
|
|
86
|
-
|
|
87
|
-
### count
|
|
76
|
+
- insert
|
|
77
|
+
- find
|
|
78
|
+
- findAll
|
|
79
|
+
- update
|
|
80
|
+
- delete
|
|
81
|
+
- count
|
|
88
82
|
|
|
89
83
|
entre outros métodos utilitários
|
|
90
84
|
|
|
91
85
|
📂 Estrutura esperada
|
|
92
|
-
Os dados são armazenados em um único arquivo .
|
|
86
|
+
Os dados são armazenados em um único arquivo .db, conforme o tipo de armazenamento escolhido.
|
|
93
87
|
A persistência é automática após alterações, garantindo integridade dos dados em disco.
|
|
94
88
|
|
|
95
89
|
🔒 Criptografia
|
|
96
90
|
O sistema utiliza o algoritmo AES-256-CBC com vetor de inicialização (IV) dinâmico.
|
|
97
91
|
Se um banco for carregado com uma chave incorreta, ele será reiniciado como vazio, com um aviso exibido no console.
|
|
98
92
|
|
|
93
|
+
O fornato binário do arquiv é ofuscado usando xorBuffer para que mesmo que não esteja usando criptografia o arquivo não legivel a humanos e tenha um desenpenho melhor para arquivos maiores.
|
|
94
|
+
|
|
99
95
|
✅ Testes
|
|
100
96
|
Para executar os testes de demonstração:
|
|
101
97
|
|