axiodb 2.22.71 → 2.25.71
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/lib/Services/CRUD Operation/Delete.operation.js +2 -2
- package/lib/Services/CRUD Operation/Delete.operation.js.map +1 -1
- package/lib/Services/Database/database.operation.d.ts +29 -1
- package/lib/Services/Database/database.operation.js +88 -14
- package/lib/Services/Database/database.operation.js.map +1 -1
- package/lib/config/Interfaces/Operation/database.operation.interface.d.ts +1 -1
- package/lib/server/config/keys.d.ts +9 -9
- package/lib/server/config/keys.js +109 -31
- package/lib/server/config/keys.js.map +1 -1
- package/lib/server/controller/Collections/Collection.controller.d.ts +33 -0
- package/lib/server/controller/Collections/Collection.controller.js +90 -1
- package/lib/server/controller/Collections/Collection.controller.js.map +1 -1
- package/lib/server/controller/Operation/CRUD.controller.d.ts +69 -0
- package/lib/server/controller/Operation/CRUD.controller.js +196 -0
- package/lib/server/controller/Operation/CRUD.controller.js.map +1 -0
- package/lib/server/helper/filesCounterInFolder.helper.d.ts +16 -0
- package/lib/server/helper/filesCounterInFolder.helper.js +49 -0
- package/lib/server/helper/filesCounterInFolder.helper.js.map +1 -0
- package/lib/server/public/AxioControl/.vite/manifest.json +2 -2
- package/lib/server/public/AxioControl/.vite/ssr-manifest.json +266 -4
- package/lib/server/public/AxioControl/assets/index-CAFsNx4j.js +81 -0
- package/lib/server/public/AxioControl/assets/index-xtzT-Znx.css +1 -0
- package/lib/server/public/AxioControl/index.html +2 -2
- package/lib/server/public/AxioControl/sw.js +1 -1
- package/lib/server/router/Router.js +12 -0
- package/lib/server/router/Router.js.map +1 -1
- package/lib/server/router/Routers/Collection.routes.d.ts +7 -0
- package/lib/server/router/Routers/Collection.routes.js +29 -0
- package/lib/server/router/Routers/Collection.routes.js.map +1 -0
- package/lib/server/router/Routers/Operation.routes.d.ts +7 -0
- package/lib/server/router/Routers/Operation.routes.js +31 -0
- package/lib/server/router/Routers/Operation.routes.js.map +1 -0
- package/package.json +1 -1
- package/lib/server/public/AxioControl/assets/index-BHqXlmHD.css +0 -1
- package/lib/server/public/AxioControl/assets/index-BpapO_fH.js +0 -56
|
@@ -78,7 +78,7 @@ class DeleteOperation {
|
|
|
78
78
|
ReadResponse = yield this.LoadAllBufferRawData();
|
|
79
79
|
}
|
|
80
80
|
if ("data" in ReadResponse) {
|
|
81
|
-
const SearchedData = yield new Searcher_utils_1.default(ReadResponse.data).find(this.baseQuery, "data");
|
|
81
|
+
const SearchedData = yield new Searcher_utils_1.default(ReadResponse.data, true).find(this.baseQuery, "data");
|
|
82
82
|
if (SearchedData.length === 0) {
|
|
83
83
|
return this.ResponseHelper.Error("No data found with the specified query");
|
|
84
84
|
}
|
|
@@ -132,7 +132,7 @@ class DeleteOperation {
|
|
|
132
132
|
return __awaiter(this, void 0, void 0, function* () {
|
|
133
133
|
const response = yield this.LoadAllBufferRawData();
|
|
134
134
|
if ("data" in response) {
|
|
135
|
-
const SearchedData = yield new Searcher_utils_1.default(response.data).find(this.baseQuery, "data");
|
|
135
|
+
const SearchedData = yield new Searcher_utils_1.default(response.data, true).find(this.baseQuery, "data");
|
|
136
136
|
if (SearchedData.length === 0) {
|
|
137
137
|
return this.ResponseHelper.Error("No data found with the specified query");
|
|
138
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delete.operation.js","sourceRoot":"","sources":["../../../source/Services/CRUD Operation/Delete.operation.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;AAMvD,qFAAsD;AACtD,8DAA0D;AAC1D,mFAA0D;AAC1D,sFAA8D;AAC9D,0FAAkE;AAElE,qBAAqB;AACrB,kFAAoD;AACpD,kFAAmD;AACnD,oFAA0D;AAC1D,iDAAiD;AACjD,8GAA0E;AAC1E;;;GAGG;AACH,MAAqB,eAAe;IAalC,YACE,cAAsB,EACtB,IAAY,EACZ,SAAuB,EACvB,cAAuB,KAAK,EAC5B,aAAsB;QARhB,wBAAmB,GAAU,EAAE,CAAC;QAUtC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAS,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,mCAAmC;IACpE,CAAC;IAED,UAAU;IACV;;;;;;;;;;;;;;OAcG;IACU,SAAS;;;YACpB,oFAAoF;YACpF,IAAI,YAAY,CAAC,CAAC,uBAAuB;YACzC,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,MAAK,SAAS,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG;oBACf,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,cAAO,CAAC,aAAa,EAAE;iBACxD,CAAC;gBACF,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACnD,CAAC;YAED,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,MAAM,IAAI,wBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"Delete.operation.js","sourceRoot":"","sources":["../../../source/Services/CRUD Operation/Delete.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ export default class Database {
|
|
|
9
9
|
private fileManager;
|
|
10
10
|
private folderManager;
|
|
11
11
|
private ResponseHelper;
|
|
12
|
-
private collectionMap;
|
|
13
12
|
constructor(name: string, path: string);
|
|
14
13
|
/**
|
|
15
14
|
* Creates a new collection inside the specified database.
|
|
@@ -40,4 +39,33 @@ export default class Database {
|
|
|
40
39
|
* @throws {Error} - Throws an error if the database does not exist.
|
|
41
40
|
*/
|
|
42
41
|
getCollectionInfo(): Promise<SuccessInterface | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Adds metadata for a collection to the collection metadata file.
|
|
44
|
+
*
|
|
45
|
+
* @param collectionData - The metadata of the collection to add
|
|
46
|
+
* @returns A Promise that resolves when the operation is complete, or rejects with an error if the collection metadata format is invalid
|
|
47
|
+
* @private
|
|
48
|
+
*
|
|
49
|
+
* This method performs the following operations:
|
|
50
|
+
* 1. Checks if the collection metadata file exists
|
|
51
|
+
* 2. If the file doesn't exist, creates it with the provided collection metadata
|
|
52
|
+
* 3. If the file exists, reads the existing metadata, adds the new collection metadata (if not already present), and writes back to the file
|
|
53
|
+
*
|
|
54
|
+
* @throws {Error} If the collection metadata format is invalid
|
|
55
|
+
*/
|
|
56
|
+
private AddCollectionMetadata;
|
|
57
|
+
/**
|
|
58
|
+
* Retrieves metadata details for a specific collection.
|
|
59
|
+
*
|
|
60
|
+
* @param collectionName - The name of the collection to retrieve metadata for
|
|
61
|
+
* @returns A Promise that resolves to the collection's metadata if found, or undefined if not found
|
|
62
|
+
* @private
|
|
63
|
+
*
|
|
64
|
+
* This method:
|
|
65
|
+
* 1. Checks if the collection.meta file exists
|
|
66
|
+
* 2. Reads and parses the metadata file if it exists
|
|
67
|
+
* 3. Validates that the data is an array
|
|
68
|
+
* 4. Finds and returns the metadata for the specified collection
|
|
69
|
+
*/
|
|
70
|
+
private getCollectionMetaDetails;
|
|
43
71
|
}
|
|
@@ -31,7 +31,6 @@ class Database {
|
|
|
31
31
|
this.fileManager = new FileManager_1.default();
|
|
32
32
|
this.folderManager = new FolderManager_1.default();
|
|
33
33
|
this.ResponseHelper = new response_helper_1.default();
|
|
34
|
-
this.collectionMap = new Map();
|
|
35
34
|
}
|
|
36
35
|
/**
|
|
37
36
|
* Creates a new collection inside the specified database.
|
|
@@ -47,6 +46,15 @@ class Database {
|
|
|
47
46
|
// Check if the collection already exists
|
|
48
47
|
const collectionExists = yield this.folderManager.DirectoryExists(path_1.default.join(this.path, collectionName));
|
|
49
48
|
const collectionPath = path_1.default.join(this.path, collectionName);
|
|
49
|
+
const CollectionMeta = yield this.getCollectionMetaDetails(collectionName);
|
|
50
|
+
if (CollectionMeta) {
|
|
51
|
+
isSchemaNeeded = CollectionMeta.isSchemaNeeded;
|
|
52
|
+
schema = CollectionMeta.schema;
|
|
53
|
+
crypto = CollectionMeta.isEncrypted
|
|
54
|
+
? Boolean(CollectionMeta.isEncrypted)
|
|
55
|
+
: false;
|
|
56
|
+
key = CollectionMeta.encryptionKey ? CollectionMeta.encryptionKey : key;
|
|
57
|
+
}
|
|
50
58
|
// If the collection does not exist, create it
|
|
51
59
|
if (collectionExists.statusCode !== outers_1.StatusCodes.OK) {
|
|
52
60
|
yield this.folderManager.CreateDirectory(collectionPath);
|
|
@@ -57,25 +65,26 @@ class Database {
|
|
|
57
65
|
const newCryptoInstance = new Crypto_helper_1.CryptoHelper(key);
|
|
58
66
|
const collection = new collection_operation_1.default(collectionName, collectionPath, isSchemaNeeded, schema, crypto, newCryptoInstance, key);
|
|
59
67
|
// Store collection metadata in the collectionMap
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
isCryptoEnabled: crypto,
|
|
63
|
-
cryptoKey: key,
|
|
68
|
+
yield this.AddCollectionMetadata({
|
|
69
|
+
name: collectionName,
|
|
64
70
|
path: collectionPath,
|
|
65
|
-
|
|
66
|
-
|
|
71
|
+
isSchemaNeeded: isSchemaNeeded === undefined ? false : isSchemaNeeded,
|
|
72
|
+
schema: schema === undefined ? {} : schema,
|
|
73
|
+
encryptionKey: key === undefined ? "" : key,
|
|
74
|
+
isEncrypted: crypto === undefined ? false : crypto,
|
|
67
75
|
});
|
|
68
76
|
return collection;
|
|
69
77
|
}
|
|
70
78
|
else {
|
|
71
79
|
const collection = new collection_operation_1.default(collectionName, collectionPath, isSchemaNeeded, schema);
|
|
72
80
|
// Store collection metadata in the collectionMap
|
|
73
|
-
this.
|
|
74
|
-
|
|
75
|
-
cryptoKey: key,
|
|
81
|
+
yield this.AddCollectionMetadata({
|
|
82
|
+
name: collectionName,
|
|
76
83
|
path: collectionPath,
|
|
77
|
-
|
|
78
|
-
|
|
84
|
+
isSchemaNeeded: isSchemaNeeded === undefined ? false : isSchemaNeeded,
|
|
85
|
+
schema: schema === undefined ? {} : schema,
|
|
86
|
+
encryptionKey: key === undefined ? "" : key,
|
|
87
|
+
isEncrypted: crypto === undefined ? false : crypto,
|
|
79
88
|
});
|
|
80
89
|
return collection;
|
|
81
90
|
}
|
|
@@ -105,7 +114,6 @@ class Database {
|
|
|
105
114
|
const exists = yield this.folderManager.DirectoryExists(collectionPath);
|
|
106
115
|
if (exists.statusCode === outers_1.StatusCodes.OK) {
|
|
107
116
|
yield this.folderManager.DeleteDirectory(collectionPath);
|
|
108
|
-
this.collectionMap.delete(collectionName); // Remove from collectionMap
|
|
109
117
|
return this.ResponseHelper.Success(`Collection: ${collectionName} deleted successfully`);
|
|
110
118
|
}
|
|
111
119
|
else {
|
|
@@ -121,7 +129,11 @@ class Database {
|
|
|
121
129
|
getCollectionInfo() {
|
|
122
130
|
return __awaiter(this, void 0, void 0, function* () {
|
|
123
131
|
const collections = yield this.folderManager.ListDirectory(this.path);
|
|
132
|
+
// Remove All .meta related things
|
|
133
|
+
collections.data = collections.data.filter((collection) => !collection.endsWith(".meta"));
|
|
124
134
|
const totalSize = yield this.folderManager.GetDirectorySize(path_1.default.resolve(this.path));
|
|
135
|
+
// Get collection Status
|
|
136
|
+
const CollectionStatus = yield Promise.all(collections.data.map((collection) => this.getCollectionMetaDetails(collection)));
|
|
125
137
|
if ("data" in collections && "data" in totalSize) {
|
|
126
138
|
const FinalCollections = {
|
|
127
139
|
CurrentPath: this.path,
|
|
@@ -130,13 +142,75 @@ class Database {
|
|
|
130
142
|
TotalCollections: `${collections.data.length} Collections`,
|
|
131
143
|
TotalSize: parseInt((totalSize.data / 1024 / 1024).toFixed(4)),
|
|
132
144
|
ListOfCollections: collections.data,
|
|
133
|
-
|
|
145
|
+
collectionMetaStatus: CollectionStatus,
|
|
134
146
|
AllCollectionsPaths: collections.data.map((collection) => path_1.default.join(this.path, collection)),
|
|
135
147
|
};
|
|
136
148
|
return this.ResponseHelper.Success(FinalCollections);
|
|
137
149
|
}
|
|
138
150
|
});
|
|
139
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Adds metadata for a collection to the collection metadata file.
|
|
154
|
+
*
|
|
155
|
+
* @param collectionData - The metadata of the collection to add
|
|
156
|
+
* @returns A Promise that resolves when the operation is complete, or rejects with an error if the collection metadata format is invalid
|
|
157
|
+
* @private
|
|
158
|
+
*
|
|
159
|
+
* This method performs the following operations:
|
|
160
|
+
* 1. Checks if the collection metadata file exists
|
|
161
|
+
* 2. If the file doesn't exist, creates it with the provided collection metadata
|
|
162
|
+
* 3. If the file exists, reads the existing metadata, adds the new collection metadata (if not already present), and writes back to the file
|
|
163
|
+
*
|
|
164
|
+
* @throws {Error} If the collection metadata format is invalid
|
|
165
|
+
*/
|
|
166
|
+
AddCollectionMetadata(collectionData) {
|
|
167
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
168
|
+
const FileManagement = new FileManager_1.default();
|
|
169
|
+
const isFileExist = yield FileManagement.FileExists(`${this.path}/collection.meta`);
|
|
170
|
+
if (isFileExist.status == false) {
|
|
171
|
+
yield FileManagement.WriteFile(`${this.path}/collection.meta`, JSON.stringify([collectionData]));
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
const FullData = JSON.parse((yield FileManagement.ReadFile(`${this.path}/collection.meta`)).data);
|
|
175
|
+
if (!Array.isArray(FullData)) {
|
|
176
|
+
return new response_helper_1.default().Error("Invalid collection metadata format");
|
|
177
|
+
}
|
|
178
|
+
const isSameExist = FullData.filter((data) => data.name === collectionData.name);
|
|
179
|
+
if (isSameExist.length == 0) {
|
|
180
|
+
FullData.push(collectionData);
|
|
181
|
+
yield FileManagement.WriteFile(`${this.path}/collection.meta`, JSON.stringify(FullData));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Retrieves metadata details for a specific collection.
|
|
188
|
+
*
|
|
189
|
+
* @param collectionName - The name of the collection to retrieve metadata for
|
|
190
|
+
* @returns A Promise that resolves to the collection's metadata if found, or undefined if not found
|
|
191
|
+
* @private
|
|
192
|
+
*
|
|
193
|
+
* This method:
|
|
194
|
+
* 1. Checks if the collection.meta file exists
|
|
195
|
+
* 2. Reads and parses the metadata file if it exists
|
|
196
|
+
* 3. Validates that the data is an array
|
|
197
|
+
* 4. Finds and returns the metadata for the specified collection
|
|
198
|
+
*/
|
|
199
|
+
getCollectionMetaDetails(collectionName) {
|
|
200
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
201
|
+
const FileManagement = new FileManager_1.default();
|
|
202
|
+
const isFileExist = yield FileManagement.FileExists(`${this.path}/collection.meta`);
|
|
203
|
+
if (isFileExist.status == false) {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
const FullData = JSON.parse((yield FileManagement.ReadFile(`${this.path}/collection.meta`)).data);
|
|
207
|
+
if (!Array.isArray(FullData)) {
|
|
208
|
+
return undefined;
|
|
209
|
+
}
|
|
210
|
+
const collectionMeta = FullData.find((data) => data.name === collectionName);
|
|
211
|
+
return collectionMeta;
|
|
212
|
+
});
|
|
213
|
+
}
|
|
140
214
|
}
|
|
141
215
|
exports.default = Database;
|
|
142
216
|
//# sourceMappingURL=database.operation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Services/Database/database.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,8FAA4D;AAC5D,sFAA8D;AAC9D,0FAAkE;AAClE,gDAAwB;AAExB,qBAAqB;AACrB,8DAA0D;AAC1D,mFAA0D;AAC1D,mCAAqC;
|
|
1
|
+
{"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Services/Database/database.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,16 +17,16 @@ export declare const CORS_CONFIG: {
|
|
|
17
17
|
ALLOW_CREDENTIALS: boolean;
|
|
18
18
|
};
|
|
19
19
|
export declare const staticPath: string;
|
|
20
|
-
|
|
20
|
+
interface MainRoutesInterface {
|
|
21
21
|
method: string;
|
|
22
22
|
path: string;
|
|
23
23
|
description: string;
|
|
24
|
-
payload?:
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
payload?: Record<string, any>;
|
|
25
|
+
}
|
|
26
|
+
interface RouteGroupInterface {
|
|
27
|
+
groupName?: string;
|
|
28
28
|
description: string;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
29
|
+
Paths: MainRoutesInterface[];
|
|
30
|
+
}
|
|
31
|
+
export declare const AvailableRoutes: RouteGroupInterface[];
|
|
32
|
+
export {};
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.AvailableRoutes = exports.staticPath = exports.CORS_CONFIG = exports.ServerKeys = void 0;
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7
8
|
const path_1 = __importDefault(require("path"));
|
|
8
9
|
var ServerKeys;
|
|
9
10
|
(function (ServerKeys) {
|
|
@@ -29,45 +30,122 @@ exports.staticPath = path_1.default.resolve(__dirname, "../public/AxioControl");
|
|
|
29
30
|
// Routes
|
|
30
31
|
exports.AvailableRoutes = [
|
|
31
32
|
{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
groupName: "Information",
|
|
34
|
+
description: "Information Endpoints",
|
|
35
|
+
Paths: [
|
|
36
|
+
{
|
|
37
|
+
method: "GET",
|
|
38
|
+
path: "/api/info",
|
|
39
|
+
description: "To Get Internal Information about this DB",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
method: "GET",
|
|
43
|
+
path: "/api/health",
|
|
44
|
+
description: "Health check endpoint to verify server status",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
method: "GET",
|
|
48
|
+
path: "/api/routes",
|
|
49
|
+
description: "List all available API routes",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
35
52
|
},
|
|
36
53
|
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
54
|
+
groupName: "Key Management",
|
|
55
|
+
description: "Key Management Endpoints",
|
|
56
|
+
Paths: [
|
|
57
|
+
{
|
|
58
|
+
method: "GET",
|
|
59
|
+
path: "/api/get-token",
|
|
60
|
+
description: "Get a new token for transacting with AxioDB Server",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
40
63
|
},
|
|
41
64
|
{
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
65
|
+
groupName: "Database",
|
|
66
|
+
description: "Database Management Endpoints",
|
|
67
|
+
Paths: [
|
|
68
|
+
{
|
|
69
|
+
method: "GET",
|
|
70
|
+
path: "/api/db/databases",
|
|
71
|
+
description: "Get a list of all databases",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
method: "POST",
|
|
75
|
+
path: "/api/db/create-database",
|
|
76
|
+
description: "Create a new database",
|
|
77
|
+
payload: {
|
|
78
|
+
name: "string",
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
method: "DELETE",
|
|
83
|
+
path: "/api/db/delete-database",
|
|
84
|
+
description: "Delete a database",
|
|
85
|
+
payload: {
|
|
86
|
+
name: "string",
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
],
|
|
45
90
|
},
|
|
46
91
|
{
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
92
|
+
groupName: "Collection",
|
|
93
|
+
description: "Collection Management Endpoints",
|
|
94
|
+
Paths: [
|
|
95
|
+
{
|
|
96
|
+
method: "GET",
|
|
97
|
+
path: "/api/collection/all/?databaseName",
|
|
98
|
+
description: "Get a list of all collections",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
method: "POST",
|
|
102
|
+
path: "/api/collection/create-collection",
|
|
103
|
+
description: "Create a new collection",
|
|
104
|
+
payload: {
|
|
105
|
+
dbName: "string",
|
|
106
|
+
collectionName: "string",
|
|
107
|
+
crypto: "boolean",
|
|
108
|
+
key: "string",
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
method: "DELETE",
|
|
113
|
+
path: "/api/collection/delete-collection/?dbName&collectionName",
|
|
114
|
+
description: "Delete a collection",
|
|
115
|
+
},
|
|
116
|
+
],
|
|
50
117
|
},
|
|
51
118
|
{
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
119
|
+
groupName: "CRUD Operations",
|
|
120
|
+
description: "CRUD Operations Endpoints",
|
|
121
|
+
Paths: [
|
|
122
|
+
{
|
|
123
|
+
method: "GET",
|
|
124
|
+
description: "Get all documents from a collection",
|
|
125
|
+
path: "/api/operation/all/?dbName&collectionName&page",
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
method: "POST",
|
|
129
|
+
description: "Create a new document in a collection",
|
|
130
|
+
path: "/api/operation/create/?dbName&collectionName",
|
|
131
|
+
payload: {
|
|
132
|
+
document: "object",
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
method: "PUT",
|
|
137
|
+
description: "Update an existing document in a collection",
|
|
138
|
+
path: "/api/operation/update/?dbName&collectionName&documentId",
|
|
139
|
+
payload: {
|
|
140
|
+
document: "object",
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
method: "DELETE",
|
|
145
|
+
description: "Delete an existing document in a collection",
|
|
146
|
+
path: "/api/operation/delete/?dbName&collectionName&documentId",
|
|
147
|
+
},
|
|
148
|
+
],
|
|
71
149
|
},
|
|
72
150
|
];
|
|
73
151
|
//# sourceMappingURL=keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../source/server/config/keys.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,IAAY,UASX;AATD,WAAY,UAAU;IACpB,+CAAY,CAAA;IACZ,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;IACzB,kDAAoC,CAAA;IACpC,oDAAsC,CAAA;IACtC,uEAAyD,CAAA;IACzD,iDAAwB,IAAI,CAAC,GAAG,EAAE,2BAAA,CAAA;IAClC,uEAAsB,CAAA;AACxB,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB;AAED,kBAAkB;AACL,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC1D,eAAe,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;IAClD,eAAe,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IACvD,OAAO,EAAE,KAAK,EAAE,sBAAsB;IACtC,iBAAiB,EAAE,IAAI;CACxB,CAAC;AAEW,QAAA,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../source/server/config/keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,4 +22,37 @@ export default class CollectionController {
|
|
|
22
22
|
* @throws Will return an internal server error response if collection creation fails
|
|
23
23
|
*/
|
|
24
24
|
createCollection(request: FastifyRequest): Promise<ResponseBuilder>;
|
|
25
|
+
/**
|
|
26
|
+
* Retrieves all collections for a specified database.
|
|
27
|
+
*
|
|
28
|
+
* @param request - The Fastify request object containing query parameters
|
|
29
|
+
* @returns A Promise resolving to a ResponseBuilder object with the response status and data
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* This method expects a 'databaseName' query parameter in the request.
|
|
33
|
+
* It fetches all collections in the specified database and additionally computes
|
|
34
|
+
* the file count for each collection path.
|
|
35
|
+
*
|
|
36
|
+
* @throws Will return a BAD_REQUEST response if databaseName is not provided
|
|
37
|
+
* @throws Will return an INTERNAL_SERVER_ERROR response if collection retrieval fails
|
|
38
|
+
*/
|
|
39
|
+
getCollections(request: FastifyRequest): Promise<ResponseBuilder>;
|
|
40
|
+
/**
|
|
41
|
+
* Deletes a collection from a specified database.
|
|
42
|
+
*
|
|
43
|
+
* @param request - The Fastify request object containing the database and collection names in the body.
|
|
44
|
+
* @returns A ResponseBuilder object with appropriate status code and message.
|
|
45
|
+
*
|
|
46
|
+
* @throws Returns a BAD_REQUEST response if the database name or collection name is invalid.
|
|
47
|
+
* @throws Returns a NOT_FOUND response if the collection does not exist.
|
|
48
|
+
* @throws Returns an INTERNAL_SERVER_ERROR response if the collection deletion fails.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* // Example request body:
|
|
52
|
+
* // {
|
|
53
|
+
* // "dbName": "myDatabase",
|
|
54
|
+
* // "collectionName": "myCollection"
|
|
55
|
+
* // }
|
|
56
|
+
*/
|
|
57
|
+
deleteCollection(request: FastifyRequest): Promise<ResponseBuilder>;
|
|
25
58
|
}
|
|
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const outers_1 = require("outers");
|
|
16
16
|
const responseBuilder_helper_1 = __importDefault(require("../../helper/responseBuilder.helper"));
|
|
17
|
+
const filesCounterInFolder_helper_1 = __importDefault(require("../../helper/filesCounterInFolder.helper"));
|
|
17
18
|
/**
|
|
18
19
|
* Controller class for managing collections in AxioDB.
|
|
19
20
|
*
|
|
@@ -54,7 +55,10 @@ class CollectionController {
|
|
|
54
55
|
// Creating the collection
|
|
55
56
|
try {
|
|
56
57
|
yield databaseInstance.createCollection(collectionName, crypto, key);
|
|
57
|
-
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.CREATED, "Collection created successfully"
|
|
58
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.CREATED, "Collection created successfully", {
|
|
59
|
+
dbName,
|
|
60
|
+
collectionName,
|
|
61
|
+
});
|
|
58
62
|
}
|
|
59
63
|
catch (error) {
|
|
60
64
|
console.error("Error creating collection:", error);
|
|
@@ -62,6 +66,91 @@ class CollectionController {
|
|
|
62
66
|
}
|
|
63
67
|
});
|
|
64
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Retrieves all collections for a specified database.
|
|
71
|
+
*
|
|
72
|
+
* @param request - The Fastify request object containing query parameters
|
|
73
|
+
* @returns A Promise resolving to a ResponseBuilder object with the response status and data
|
|
74
|
+
*
|
|
75
|
+
* @remarks
|
|
76
|
+
* This method expects a 'databaseName' query parameter in the request.
|
|
77
|
+
* It fetches all collections in the specified database and additionally computes
|
|
78
|
+
* the file count for each collection path.
|
|
79
|
+
*
|
|
80
|
+
* @throws Will return a BAD_REQUEST response if databaseName is not provided
|
|
81
|
+
* @throws Will return an INTERNAL_SERVER_ERROR response if collection retrieval fails
|
|
82
|
+
*/
|
|
83
|
+
getCollections(request) {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
var _a;
|
|
86
|
+
// extract databaseName from url query
|
|
87
|
+
const { databaseName } = request.query;
|
|
88
|
+
if (!databaseName) {
|
|
89
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.BAD_REQUEST, "Database name is required");
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
const collections = yield (yield this.AxioDBInstance.createDB(databaseName)).getCollectionInfo();
|
|
93
|
+
// Read all file count of each Collections
|
|
94
|
+
let FolderPaths = (_a = collections === null || collections === void 0 ? void 0 : collections.data) === null || _a === void 0 ? void 0 : _a.AllCollectionsPaths;
|
|
95
|
+
// Remove .meta extenstion paths
|
|
96
|
+
FolderPaths = FolderPaths.filter((path) => !path.endsWith(".meta"));
|
|
97
|
+
const mainData = collections === null || collections === void 0 ? void 0 : collections.data;
|
|
98
|
+
mainData.CollectionSizeMap = [];
|
|
99
|
+
yield Promise.all([
|
|
100
|
+
...FolderPaths.map((folderPath) => __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
const fileCount = yield (0, filesCounterInFolder_helper_1.default)(folderPath);
|
|
102
|
+
mainData.CollectionSizeMap.push({ folderPath, fileCount });
|
|
103
|
+
})),
|
|
104
|
+
]);
|
|
105
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.OK, "Collections retrieved successfully", mainData);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
console.error("Error retrieving collections:", error);
|
|
109
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.INTERNAL_SERVER_ERROR, "Failed to retrieve collections");
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Deletes a collection from a specified database.
|
|
115
|
+
*
|
|
116
|
+
* @param request - The Fastify request object containing the database and collection names in the body.
|
|
117
|
+
* @returns A ResponseBuilder object with appropriate status code and message.
|
|
118
|
+
*
|
|
119
|
+
* @throws Returns a BAD_REQUEST response if the database name or collection name is invalid.
|
|
120
|
+
* @throws Returns a NOT_FOUND response if the collection does not exist.
|
|
121
|
+
* @throws Returns an INTERNAL_SERVER_ERROR response if the collection deletion fails.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* // Example request body:
|
|
125
|
+
* // {
|
|
126
|
+
* // "dbName": "myDatabase",
|
|
127
|
+
* // "collectionName": "myCollection"
|
|
128
|
+
* // }
|
|
129
|
+
*/
|
|
130
|
+
deleteCollection(request) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
const { dbName, collectionName } = request.query;
|
|
133
|
+
if (!dbName || typeof dbName !== "string") {
|
|
134
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.BAD_REQUEST, "Invalid database name");
|
|
135
|
+
}
|
|
136
|
+
if (!collectionName || typeof collectionName !== "string") {
|
|
137
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.BAD_REQUEST, "Invalid collection name");
|
|
138
|
+
}
|
|
139
|
+
const databaseInstance = yield this.AxioDBInstance.createDB(dbName);
|
|
140
|
+
const isCollectionExists = yield databaseInstance.isCollectionExists(collectionName);
|
|
141
|
+
if (!isCollectionExists) {
|
|
142
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.NOT_FOUND, "Collection not found");
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
yield databaseInstance.deleteCollection(collectionName);
|
|
146
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.OK, "Collection deleted successfully");
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
console.error("Error deleting collection:", error);
|
|
150
|
+
return (0, responseBuilder_helper_1.default)(outers_1.StatusCodes.INTERNAL_SERVER_ERROR, "Failed to delete collection");
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
65
154
|
}
|
|
66
155
|
exports.default = CollectionController;
|
|
67
156
|
//# sourceMappingURL=Collection.controller.js.map
|