axiodb 1.1.2 → 1.1.4

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.
@@ -5,8 +5,6 @@ export default class Database {
5
5
  collections: Collection[];
6
6
  private fileManager;
7
7
  private folderManager;
8
- private metaFileLocation;
9
- constructor(name: string, path: string, metaFileLocation: string);
10
- createCollection(DBName: string, collectionName: string): Promise<Database>;
11
- private getMetadata;
8
+ constructor(name: string, path: string);
9
+ createCollection(collectionName: string): Promise<Database>;
12
10
  }
@@ -16,42 +16,22 @@ const FileManager_1 = __importDefault(require("../../Storage/FileManager"));
16
16
  const FolderManager_1 = __importDefault(require("../../Storage/FolderManager"));
17
17
  const path_1 = __importDefault(require("path"));
18
18
  class Database {
19
- constructor(name, path, metaFileLocation) {
19
+ constructor(name, path) {
20
20
  this.name = name;
21
21
  this.path = path;
22
- this.metaFileLocation = metaFileLocation;
23
22
  this.collections = [];
24
23
  this.fileManager = new FileManager_1.default();
25
24
  this.folderManager = new FolderManager_1.default();
26
25
  }
27
- createCollection(DBName, collectionName) {
26
+ createCollection(collectionName) {
28
27
  return __awaiter(this, void 0, void 0, function* () {
29
- const dbMetadata = yield this.getMetadata();
30
- const db = dbMetadata.databases.find((db) => db.name === DBName);
31
- if (!db) {
32
- throw new Error(`Database '${DBName}' not found!`);
33
- }
34
- const collectionPath = path_1.default.join(db.path, collectionName);
28
+ console.log(`Creating Collection: ${collectionName}`);
29
+ const collectionPath = path_1.default.join(this.path, collectionName);
35
30
  yield this.folderManager.CreateDirectory(collectionPath);
36
- db.collections = db.collections || [];
37
- db.collections.push({
38
- name: collectionName,
39
- path: collectionPath,
40
- created_at: new Date().toISOString(),
41
- updated_at: new Date().toISOString(),
42
- });
43
- db.updated_at = new Date().toISOString();
44
- yield this.fileManager.WriteFile(this.metaFileLocation, dbMetadata);
45
31
  console.log(`Collection Created: ${collectionPath}`);
46
32
  return this;
47
33
  });
48
34
  }
49
- getMetadata() {
50
- return __awaiter(this, void 0, void 0, function* () {
51
- const metaData = yield this.fileManager.ReadFile(this.metaFileLocation);
52
- return metaData.status ? metaData : { databases: [] };
53
- });
54
- }
55
35
  }
56
36
  exports.default = Database;
57
37
  //# sourceMappingURL=database.operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Operation/Database/database.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,4EAAoD;AACpD,gFAAwD;AACxD,gDAAwB;AAKxB,MAAqB,QAAQ;IAQ3B,YAAY,IAAY,EAAE,IAAY,EAAE,gBAAwB;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC3C,CAAC;IAOY,gBAAgB,CAC3B,MAAc,EACd,cAAsB;;YAEtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAG5C,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAEtE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,cAAc,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAGzD,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;YAGtC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC,CAAC;YAEH,EAAE,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAGzC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAEpE,OAAO,CAAC,GAAG,CAAC,uBAAuB,cAAc,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAKa,WAAW;;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACxD,CAAC;KAAA;CACF;AAjED,2BAiEC"}
1
+ {"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Operation/Database/database.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,4EAAoD;AACpD,gFAAwD;AACxD,gDAAwB;AAKxB,MAAqB,QAAQ;IAO3B,YAAY,IAAY,EAAE,IAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAC3C,CAAC;IAOY,gBAAgB,CAAC,cAAsB;;YAClD,OAAO,CAAC,GAAG,CAAC,wBAAwB,cAAc,EAAE,CAAC,CAAC;YACtD,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,cAAc,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CACF;AA3BD,2BA2BC"}
@@ -2,12 +2,10 @@ import Database from "./Database/database.operation";
2
2
  export declare class AxioDB {
3
3
  private readonly RootName;
4
4
  private currentPATH;
5
- private MetaFileLocation;
6
5
  private fileManager;
7
6
  private folderManager;
8
7
  private Converter;
9
8
  constructor();
10
9
  private initializeRoot;
11
10
  createDB(DBName: string): Promise<Database>;
12
- getMetadata(): Promise<any>;
13
11
  }
@@ -48,47 +48,18 @@ class AxioDB {
48
48
  else {
49
49
  console.log("AxioDB root folder already exists.");
50
50
  }
51
- this.MetaFileLocation = path_1.default.join(this.currentPATH, `${this.RootName}.${Keys_1.General.DBMS_File_EXT}`);
52
- const metaExists = yield this.fileManager.FileExists(this.MetaFileLocation);
53
- if (metaExists.statusCode !== outers_1.StatusCodes.OK) {
54
- console.log("Creating metadata file...");
55
- yield this.fileManager.CreateFile(this.MetaFileLocation);
56
- yield this.fileManager.WriteFile(this.MetaFileLocation, this.Converter.ToString({ databases: [] }));
57
- console.log("Metadata file created successfully.");
58
- }
59
- else {
60
- console.log("Metadata file already exists.");
61
- }
62
51
  (0, Fastify_1.default)();
63
52
  });
64
53
  }
65
54
  createDB(DBName) {
66
55
  return __awaiter(this, void 0, void 0, function* () {
67
56
  const dbPath = path_1.default.join(this.currentPATH, DBName);
68
- const metadata = yield this.getMetadata();
69
- if (metadata.databases.some((db) => db.name === DBName)) {
70
- throw new Error(`Database "${DBName}" already exists.`);
71
- }
72
57
  yield this.folderManager.CreateDirectory(dbPath);
73
- const newDB = new database_operation_1.default(DBName, dbPath, this.MetaFileLocation);
74
- metadata.databases.push({
75
- name: DBName,
76
- path: dbPath,
77
- createdAt: new Date().toISOString(),
78
- updatedAt: new Date().toISOString(),
79
- collections: [],
80
- });
81
- yield this.fileManager.WriteFile(this.MetaFileLocation, JSON.stringify(metadata, null, 2));
58
+ const newDB = new database_operation_1.default(DBName, dbPath);
82
59
  console.log(`Database Created: ${dbPath}`);
83
60
  return newDB;
84
61
  });
85
62
  }
86
- getMetadata() {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- const metaData = yield this.fileManager.ReadFile(this.MetaFileLocation);
89
- return metaData.status ? metaData : { databases: [] };
90
- });
91
- }
92
63
  }
93
64
  exports.AxioDB = AxioDB;
94
65
  //# sourceMappingURL=Indexation.operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Indexation.operation.js","sourceRoot":"","sources":["../../source/Operation/Indexation.operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Indexation.operation.js","sourceRoot":"","sources":["../../source/Operation/Indexation.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,yEAAiD;AACjD,6EAAqD;AACrD,8CAA8C;AAC9C,gDAAwB;AACxB,uFAAqD;AACrD,gEAA+C;AAC/C,kFAAmD;AACnD,mCAAqC;AAQrC,MAAa,MAAM;IAOjB;QACE,IAAI,CAAC,QAAQ,GAAG,cAAO,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,EAAE,CAAC;QAEjC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEa,cAAc;;YAC1B,IAAI,CAAC,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9D,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAGtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE1E,IAAI,MAAM,CAAC,UAAU,KAAK,oBAAW,CAAC,EAAE,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CACzD,IAAI,CAAC,WAAW,CACjB,CAAC;gBAEF,IAAI,UAAU,CAAC,UAAU,KAAK,oBAAW,CAAC,EAAE,EAAE,CAAC;oBAC7C,MAAM,IAAI,KAAK,CACb,mCAAmC,UAAU,CAAC,UAAU,EAAE,CAC3D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YACpD,CAAC;YAED,IAAA,iBAAc,GAAE,CAAC;QACnB,CAAC;KAAA;IAKY,QAAQ,CAAC,MAAc;;YAClC,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAEnD,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEjD,MAAM,KAAK,GAAG,IAAI,4BAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE3C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CACF;AA1DD,wBA0DC"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "axiodb",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "A fast, lightweight, and scalable open-source DBMS for modern apps. Supports JSON-based data storage, simple APIs, and secure data management. Ideal for projects needing efficient and flexible database solutions.",
5
5
  "main": "./lib/config/DB.js",
6
6
  "types": "./lib/config/DB.d.ts",
7
7
  "scripts": {
8
- "test": "eslint source/**/*.ts --fix",
8
+ "test": "node ./test/test.js",
9
9
  "build": "npm test && tsc",
10
10
  "prepare": "npm run build",
11
11
  "dev": "vite",
@@ -40,6 +40,7 @@
40
40
  "dependencies": {
41
41
  "@eslint/js": "^9.11.1",
42
42
  "@fastify/static": "^8.0.3",
43
+ "axiodb": "^1.1.3",
43
44
  "fastify": "^5.1.0",
44
45
  "joi": "^17.13.3",
45
46
  "outers": "^8.5.8"
@@ -52,4 +53,4 @@
52
53
  "typescript": "^5.6.2",
53
54
  "typescript-eslint": "^8.8.0"
54
55
  }
55
- }
56
+ }