axiodb 6.33.228 → 7.33.229
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/Collection/collection.operation.js +3 -0
- package/lib/Services/Collection/collection.operation.js.map +1 -1
- package/lib/Services/Indexation.operation.d.ts +2 -1
- package/lib/Services/Indexation.operation.js +8 -1
- package/lib/Services/Indexation.operation.js.map +1 -1
- package/lib/client/AggregationProxy.d.ts +16 -0
- package/lib/client/AggregationProxy.js +38 -0
- package/lib/client/AggregationProxy.js.map +1 -0
- package/lib/client/AxioDBCloud.client.d.ts +74 -0
- package/lib/client/AxioDBCloud.client.js +306 -0
- package/lib/client/AxioDBCloud.client.js.map +1 -0
- package/lib/client/CollectionProxy.d.ts +55 -0
- package/lib/client/CollectionProxy.js +121 -0
- package/lib/client/CollectionProxy.js.map +1 -0
- package/lib/client/DatabaseProxy.d.ts +31 -0
- package/lib/client/DatabaseProxy.js +81 -0
- package/lib/client/DatabaseProxy.js.map +1 -0
- package/lib/client/DeleteOperationProxy.d.ts +20 -0
- package/lib/client/DeleteOperationProxy.js +52 -0
- package/lib/client/DeleteOperationProxy.js.map +1 -0
- package/lib/client/ReaderProxy.d.ts +36 -0
- package/lib/client/ReaderProxy.js +80 -0
- package/lib/client/ReaderProxy.js.map +1 -0
- package/lib/client/UpdateOperationProxy.d.ts +20 -0
- package/lib/client/UpdateOperationProxy.js +54 -0
- package/lib/client/UpdateOperationProxy.js.map +1 -0
- package/lib/client/types/client.types.d.ts +29 -0
- package/lib/client/types/client.types.js +18 -0
- package/lib/client/types/client.types.js.map +1 -0
- package/lib/config/DB.d.ts +3 -1
- package/lib/config/DB.js +4 -1
- package/lib/config/DB.js.map +1 -1
- package/lib/tcp/config/keys.d.ts +59 -0
- package/lib/tcp/config/keys.js +74 -0
- package/lib/tcp/config/keys.js.map +1 -0
- package/lib/tcp/config/protocol.d.ts +56 -0
- package/lib/tcp/config/protocol.js +220 -0
- package/lib/tcp/config/protocol.js.map +1 -0
- package/lib/tcp/config/server.d.ts +12 -0
- package/lib/tcp/config/server.js +156 -0
- package/lib/tcp/config/server.js.map +1 -0
- package/lib/tcp/connection/ConnectionManager.d.ts +63 -0
- package/lib/tcp/connection/ConnectionManager.js +171 -0
- package/lib/tcp/connection/ConnectionManager.js.map +1 -0
- package/lib/tcp/connection/RequestContext.d.ts +33 -0
- package/lib/tcp/connection/RequestContext.js +52 -0
- package/lib/tcp/connection/RequestContext.js.map +1 -0
- package/lib/tcp/handler/CommandHandler.d.ts +34 -0
- package/lib/tcp/handler/CommandHandler.js +159 -0
- package/lib/tcp/handler/CommandHandler.js.map +1 -0
- package/lib/tcp/handler/handlers/Collection.handler.d.ts +28 -0
- package/lib/tcp/handler/handlers/Collection.handler.js +120 -0
- package/lib/tcp/handler/handlers/Collection.handler.js.map +1 -0
- package/lib/tcp/handler/handlers/DB.handler.d.ts +28 -0
- package/lib/tcp/handler/handlers/DB.handler.js +113 -0
- package/lib/tcp/handler/handlers/DB.handler.js.map +1 -0
- package/lib/tcp/handler/handlers/Operation.handler.d.ts +59 -0
- package/lib/tcp/handler/handlers/Operation.handler.js +310 -0
- package/lib/tcp/handler/handlers/Operation.handler.js.map +1 -0
- package/lib/tcp/types/command.types.d.ts +35 -0
- package/lib/tcp/types/command.types.js +72 -0
- package/lib/tcp/types/command.types.js.map +1 -0
- package/lib/tcp/types/protocol.types.d.ts +71 -0
- package/lib/tcp/types/protocol.types.js +15 -0
- package/lib/tcp/types/protocol.types.js.map +1 -0
- package/package.json +1 -1
|
@@ -27,6 +27,7 @@ const Converter_helper_1 = __importDefault(require("../../Helper/Converter.helpe
|
|
|
27
27
|
const FolderManager_1 = __importDefault(require("../../engine/Filesystem/FolderManager"));
|
|
28
28
|
const InsertIndex_service_1 = __importDefault(require("../Index/InsertIndex.service"));
|
|
29
29
|
const IndexCache_service_1 = require("../Index/IndexCache.service");
|
|
30
|
+
const memory_operation_1 = __importDefault(require("../../Memory/memory.operation"));
|
|
30
31
|
/**
|
|
31
32
|
* Represents a collection inside a database.
|
|
32
33
|
*/
|
|
@@ -168,6 +169,8 @@ class Collection {
|
|
|
168
169
|
const saveResult = yield this.Insertion.Save(data, documentId);
|
|
169
170
|
// Index insertion after save
|
|
170
171
|
yield this.IndexManager.InsertToIndex(data);
|
|
172
|
+
// Fire-and-forget: Invalidate cache asynchronously for faster response
|
|
173
|
+
memory_operation_1.default.invalidateByDocument(this.path, documentId).catch(() => { });
|
|
171
174
|
return saveResult;
|
|
172
175
|
});
|
|
173
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.operation.js","sourceRoot":"","sources":["../../../source/Services/Collection/collection.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,mFAA0D;AAC1D,aAAa;AACb,0FAA2D;AAC3D,0FAAwD;AACxD,0FAAiE;AACjE,0FAAiE;AACjE,iGAA+D;AAC/D,6FAA6D;AAC7D,qFAAqD;AAErD,mCAAqC;AAGrC,YAAY;AACZ,qFAAsD;AACtD,0FAAkE;AAClE,uFAAuD;AACvD,oEAAyD;
|
|
1
|
+
{"version":3,"file":"collection.operation.js","sourceRoot":"","sources":["../../../source/Services/Collection/collection.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@ export declare class AxioDB {
|
|
|
15
15
|
private static _instance;
|
|
16
16
|
private DatabaseMap;
|
|
17
17
|
private GUI;
|
|
18
|
-
|
|
18
|
+
private TCP;
|
|
19
|
+
constructor(GUI?: boolean, RootName?: string, CustomPath?: string, TCP?: boolean);
|
|
19
20
|
/**
|
|
20
21
|
* Initializes the root directory for the AxioDB.
|
|
21
22
|
*
|
|
@@ -26,14 +26,16 @@ const Converter_helper_1 = __importDefault(require("../Helper/Converter.helper")
|
|
|
26
26
|
const outers_1 = require("outers");
|
|
27
27
|
const response_helper_1 = __importDefault(require("../Helper/response.helper"));
|
|
28
28
|
const server_1 = __importDefault(require("../server/config/server"));
|
|
29
|
+
const server_2 = __importDefault(require("../tcp/config/server"));
|
|
29
30
|
/**
|
|
30
31
|
* Class representing the AxioDB database.
|
|
31
32
|
* @param {string} RootName - The name of the root folder.
|
|
32
33
|
* @returns {AxioDB} - Returns the instance of AxioDB.
|
|
33
34
|
*/
|
|
34
35
|
class AxioDB {
|
|
35
|
-
constructor(GUI, RootName, CustomPath) {
|
|
36
|
+
constructor(GUI, RootName, CustomPath, TCP) {
|
|
36
37
|
this.GUI = Keys_1.General.DBMS_GUI_Enable;
|
|
38
|
+
this.TCP = false;
|
|
37
39
|
if (AxioDB._instance) {
|
|
38
40
|
throw new Error("Only one instance of AxioDB is allowed.");
|
|
39
41
|
}
|
|
@@ -47,6 +49,7 @@ class AxioDB {
|
|
|
47
49
|
this.initializeRoot(); // Ensure root initialization
|
|
48
50
|
this.DatabaseMap = new Map(); // Initialize the DatabaseMap
|
|
49
51
|
this.GUI = GUI !== undefined ? GUI : Keys_1.General.DBMS_GUI_Enable; // Set GUI option
|
|
52
|
+
this.TCP = TCP !== undefined ? TCP : false; // Set TCP option
|
|
50
53
|
}
|
|
51
54
|
/**
|
|
52
55
|
* Initializes the root directory for the AxioDB.
|
|
@@ -75,6 +78,10 @@ class AxioDB {
|
|
|
75
78
|
outers_1.Console.green("Starting AxioDB Control Server...");
|
|
76
79
|
(0, server_1.default)(this); // Start the web Control Server with the AxioDB instance
|
|
77
80
|
}
|
|
81
|
+
if (this.TCP) {
|
|
82
|
+
outers_1.Console.green("Starting AxioDB TCP Server...");
|
|
83
|
+
(0, server_2.default)(this); // Start the TCP Server with the AxioDB instance
|
|
84
|
+
}
|
|
78
85
|
});
|
|
79
86
|
}
|
|
80
87
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indexation.operation.js","sourceRoot":"","sources":["../../source/Services/Indexation.operation.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;AAEvD,mBAAmB;AACnB,mFAA2D;AAC3D,uFAA+D;AAC/D,8CAA8C;AAC9C,gDAAwB;AACxB,uFAAqD;AACrD,kDAAkD;AAElD,iBAAiB;AACjB,kFAAmD;AACnD,mCAA8C;AAC9C,gFAAuD;AAQvD,qEAAgE;
|
|
1
|
+
{"version":3,"file":"Indexation.operation.js","sourceRoot":"","sources":["../../source/Services/Indexation.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AxioDBCloud } from './AxioDBCloud.client';
|
|
2
|
+
/**
|
|
3
|
+
* Aggregation Proxy - Aggregation builder for remote aggregations
|
|
4
|
+
* Mirrors the Aggregation class API
|
|
5
|
+
*/
|
|
6
|
+
export default class AggregationProxy {
|
|
7
|
+
private client;
|
|
8
|
+
private dbName;
|
|
9
|
+
private collectionName;
|
|
10
|
+
private pipeline;
|
|
11
|
+
constructor(client: AxioDBCloud, dbName: string, collectionName: string, pipeline: object[]);
|
|
12
|
+
/**
|
|
13
|
+
* Execute the aggregation pipeline
|
|
14
|
+
*/
|
|
15
|
+
exec(): Promise<any>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const command_types_1 = require("../tcp/types/command.types");
|
|
13
|
+
/**
|
|
14
|
+
* Aggregation Proxy - Aggregation builder for remote aggregations
|
|
15
|
+
* Mirrors the Aggregation class API
|
|
16
|
+
*/
|
|
17
|
+
class AggregationProxy {
|
|
18
|
+
constructor(client, dbName, collectionName, pipeline) {
|
|
19
|
+
this.client = client;
|
|
20
|
+
this.dbName = dbName;
|
|
21
|
+
this.collectionName = collectionName;
|
|
22
|
+
this.pipeline = pipeline;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Execute the aggregation pipeline
|
|
26
|
+
*/
|
|
27
|
+
exec() {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
return yield this.client.sendCommand(command_types_1.CommandType.AGGREGATE, {
|
|
30
|
+
dbName: this.dbName,
|
|
31
|
+
collectionName: this.collectionName,
|
|
32
|
+
pipeline: this.pipeline,
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.default = AggregationProxy;
|
|
38
|
+
//# sourceMappingURL=AggregationProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AggregationProxy.js","sourceRoot":"","sources":["../../source/client/AggregationProxy.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,8DAAyD;AAEzD;;;GAGG;AACH,MAAqB,gBAAgB;IAMnC,YAAY,MAAmB,EAAE,MAAc,EAAE,cAAsB,EAAE,QAAkB;QACzF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACG,IAAI;;YACR,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,2BAAW,CAAC,SAAS,EAAE;gBAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAvBD,mCAuBC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { CommandType } from '../tcp/types/command.types';
|
|
3
|
+
import { AxioDBCloudOptions, ConnectionState } from './types/client.types';
|
|
4
|
+
import DatabaseProxy from './DatabaseProxy';
|
|
5
|
+
/**
|
|
6
|
+
* AxioDBCloud - TCP Client for remote AxioDB access
|
|
7
|
+
*/
|
|
8
|
+
export declare class AxioDBCloud extends EventEmitter {
|
|
9
|
+
private host;
|
|
10
|
+
private port;
|
|
11
|
+
private socket;
|
|
12
|
+
private messageBuffer;
|
|
13
|
+
private pendingRequests;
|
|
14
|
+
private connectionState;
|
|
15
|
+
private options;
|
|
16
|
+
private reconnectAttempt;
|
|
17
|
+
private heartbeatInterval;
|
|
18
|
+
constructor(connectionString: string, options?: AxioDBCloudOptions);
|
|
19
|
+
/**
|
|
20
|
+
* Parse connection string: axiodb://host:port
|
|
21
|
+
*/
|
|
22
|
+
private parseConnectionString;
|
|
23
|
+
/**
|
|
24
|
+
* Connect to AxioDB TCP server
|
|
25
|
+
*/
|
|
26
|
+
connect(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Setup socket event handlers
|
|
29
|
+
*/
|
|
30
|
+
private setupSocketHandlers;
|
|
31
|
+
/**
|
|
32
|
+
* Handle server response
|
|
33
|
+
*/
|
|
34
|
+
private handleResponse;
|
|
35
|
+
/**
|
|
36
|
+
* Handle disconnection
|
|
37
|
+
*/
|
|
38
|
+
private handleDisconnection;
|
|
39
|
+
/**
|
|
40
|
+
* Attempt to reconnect
|
|
41
|
+
*/
|
|
42
|
+
private attemptReconnect;
|
|
43
|
+
/**
|
|
44
|
+
* Start heartbeat
|
|
45
|
+
*/
|
|
46
|
+
private startHeartbeat;
|
|
47
|
+
/**
|
|
48
|
+
* Stop heartbeat
|
|
49
|
+
*/
|
|
50
|
+
private stopHeartbeat;
|
|
51
|
+
/**
|
|
52
|
+
* Send command to server
|
|
53
|
+
*/
|
|
54
|
+
sendCommand(command: CommandType, params: any): Promise<any>;
|
|
55
|
+
/**
|
|
56
|
+
* Disconnect from server
|
|
57
|
+
*/
|
|
58
|
+
disconnect(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Database API - mirrors AxioDB
|
|
61
|
+
*/
|
|
62
|
+
createDB(name: string): Promise<DatabaseProxy>;
|
|
63
|
+
deleteDatabase(name: string): Promise<void>;
|
|
64
|
+
isDatabaseExists(name: string): Promise<boolean>;
|
|
65
|
+
getInstanceInfo(): Promise<any>;
|
|
66
|
+
/**
|
|
67
|
+
* Get current connection state
|
|
68
|
+
*/
|
|
69
|
+
get state(): ConnectionState;
|
|
70
|
+
/**
|
|
71
|
+
* Check if connected
|
|
72
|
+
*/
|
|
73
|
+
get isConnected(): boolean;
|
|
74
|
+
}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AxioDBCloud = void 0;
|
|
16
|
+
const net_1 = require("net");
|
|
17
|
+
const crypto_1 = require("crypto");
|
|
18
|
+
const events_1 = require("events");
|
|
19
|
+
const protocol_1 = require("../tcp/config/protocol");
|
|
20
|
+
const command_types_1 = require("../tcp/types/command.types");
|
|
21
|
+
const client_types_1 = require("./types/client.types");
|
|
22
|
+
const DatabaseProxy_1 = __importDefault(require("./DatabaseProxy"));
|
|
23
|
+
/**
|
|
24
|
+
* AxioDBCloud - TCP Client for remote AxioDB access
|
|
25
|
+
*/
|
|
26
|
+
class AxioDBCloud extends events_1.EventEmitter {
|
|
27
|
+
constructor(connectionString, options) {
|
|
28
|
+
super();
|
|
29
|
+
this.socket = null;
|
|
30
|
+
this.messageBuffer = new protocol_1.MessageBuffer();
|
|
31
|
+
this.pendingRequests = new Map();
|
|
32
|
+
this.connectionState = client_types_1.ConnectionState.DISCONNECTED;
|
|
33
|
+
this.reconnectAttempt = 0;
|
|
34
|
+
this.heartbeatInterval = null;
|
|
35
|
+
// Parse connection string
|
|
36
|
+
const parsed = this.parseConnectionString(connectionString);
|
|
37
|
+
this.host = parsed.host;
|
|
38
|
+
this.port = parsed.port;
|
|
39
|
+
// Set options with defaults
|
|
40
|
+
this.options = {
|
|
41
|
+
timeout: (options === null || options === void 0 ? void 0 : options.timeout) || 30000,
|
|
42
|
+
reconnectAttempts: (options === null || options === void 0 ? void 0 : options.reconnectAttempts) || 10,
|
|
43
|
+
reconnectDelay: (options === null || options === void 0 ? void 0 : options.reconnectDelay) || 1000,
|
|
44
|
+
heartbeatInterval: (options === null || options === void 0 ? void 0 : options.heartbeatInterval) || 30000,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Parse connection string: axiodb://host:port
|
|
49
|
+
*/
|
|
50
|
+
parseConnectionString(connectionString) {
|
|
51
|
+
const match = connectionString.match(/^axiodb:\/\/([^:]+):(\d+)$/);
|
|
52
|
+
if (!match) {
|
|
53
|
+
throw new Error('Invalid connection string. Format: axiodb://host:port');
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
host: match[1],
|
|
57
|
+
port: parseInt(match[2], 10),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Connect to AxioDB TCP server
|
|
62
|
+
*/
|
|
63
|
+
connect() {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
return new Promise((resolve, reject) => {
|
|
66
|
+
if (this.connectionState === client_types_1.ConnectionState.CONNECTED) {
|
|
67
|
+
return resolve();
|
|
68
|
+
}
|
|
69
|
+
this.connectionState = client_types_1.ConnectionState.CONNECTING;
|
|
70
|
+
this.socket = new net_1.Socket();
|
|
71
|
+
// Setup socket event handlers
|
|
72
|
+
this.setupSocketHandlers();
|
|
73
|
+
// Connection timeout
|
|
74
|
+
const connectionTimeout = setTimeout(() => {
|
|
75
|
+
var _a;
|
|
76
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
77
|
+
this.connectionState = client_types_1.ConnectionState.FAILED;
|
|
78
|
+
reject(new Error('Connection timeout'));
|
|
79
|
+
}, this.options.timeout);
|
|
80
|
+
// Connect to server
|
|
81
|
+
this.socket.connect(this.port, this.host, () => {
|
|
82
|
+
clearTimeout(connectionTimeout);
|
|
83
|
+
this.connectionState = client_types_1.ConnectionState.CONNECTED;
|
|
84
|
+
this.reconnectAttempt = 0;
|
|
85
|
+
this.startHeartbeat();
|
|
86
|
+
this.emit('connected');
|
|
87
|
+
resolve();
|
|
88
|
+
});
|
|
89
|
+
// Handle connection errors
|
|
90
|
+
this.socket.once('error', (error) => {
|
|
91
|
+
clearTimeout(connectionTimeout);
|
|
92
|
+
this.connectionState = client_types_1.ConnectionState.FAILED;
|
|
93
|
+
reject(error);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Setup socket event handlers
|
|
100
|
+
*/
|
|
101
|
+
setupSocketHandlers() {
|
|
102
|
+
if (!this.socket)
|
|
103
|
+
return;
|
|
104
|
+
this.socket.on('data', (chunk) => {
|
|
105
|
+
try {
|
|
106
|
+
const messages = this.messageBuffer.addChunk(chunk);
|
|
107
|
+
for (const message of messages) {
|
|
108
|
+
this.handleResponse(message);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
this.emit('error', error);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
this.socket.on('error', (error) => {
|
|
116
|
+
this.emit('error', error);
|
|
117
|
+
this.handleDisconnection();
|
|
118
|
+
});
|
|
119
|
+
this.socket.on('close', (hadError) => {
|
|
120
|
+
this.emit('disconnected', hadError);
|
|
121
|
+
this.handleDisconnection();
|
|
122
|
+
});
|
|
123
|
+
this.socket.on('end', () => {
|
|
124
|
+
this.handleDisconnection();
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Handle server response
|
|
129
|
+
*/
|
|
130
|
+
handleResponse(response) {
|
|
131
|
+
const pending = this.pendingRequests.get(response.id);
|
|
132
|
+
if (pending) {
|
|
133
|
+
clearTimeout(pending.timeout);
|
|
134
|
+
this.pendingRequests.delete(response.id);
|
|
135
|
+
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
136
|
+
pending.resolve(response.data);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
pending.reject(new Error(response.error || response.message));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
console.warn(`[AxioDBCloud] Received response for unknown request: ${response.id}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Handle disconnection
|
|
148
|
+
*/
|
|
149
|
+
handleDisconnection() {
|
|
150
|
+
this.connectionState = client_types_1.ConnectionState.DISCONNECTED;
|
|
151
|
+
this.stopHeartbeat();
|
|
152
|
+
// Reject all pending requests
|
|
153
|
+
for (const [id, pending] of this.pendingRequests.entries()) {
|
|
154
|
+
clearTimeout(pending.timeout);
|
|
155
|
+
pending.reject(new Error('Connection lost'));
|
|
156
|
+
this.pendingRequests.delete(id);
|
|
157
|
+
}
|
|
158
|
+
// Attempt reconnection
|
|
159
|
+
if (this.reconnectAttempt < this.options.reconnectAttempts) {
|
|
160
|
+
this.attemptReconnect();
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
this.emit('failed', new Error('Max reconnection attempts reached'));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Attempt to reconnect
|
|
168
|
+
*/
|
|
169
|
+
attemptReconnect() {
|
|
170
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
+
this.reconnectAttempt++;
|
|
172
|
+
const delay = Math.min(this.options.reconnectDelay * Math.pow(2, this.reconnectAttempt - 1), 30000);
|
|
173
|
+
this.emit('reconnecting', this.reconnectAttempt);
|
|
174
|
+
this.connectionState = client_types_1.ConnectionState.RECONNECTING;
|
|
175
|
+
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
|
|
176
|
+
try {
|
|
177
|
+
yield this.connect();
|
|
178
|
+
this.emit('reconnected');
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
// Reconnection will be attempted again in handleDisconnection
|
|
182
|
+
}
|
|
183
|
+
}), delay);
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Start heartbeat
|
|
188
|
+
*/
|
|
189
|
+
startHeartbeat() {
|
|
190
|
+
this.heartbeatInterval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
|
|
191
|
+
try {
|
|
192
|
+
yield this.sendCommand(command_types_1.CommandType.PING, {});
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
console.warn('[AxioDBCloud] Heartbeat failed:', error);
|
|
196
|
+
}
|
|
197
|
+
}), this.options.heartbeatInterval);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Stop heartbeat
|
|
201
|
+
*/
|
|
202
|
+
stopHeartbeat() {
|
|
203
|
+
if (this.heartbeatInterval) {
|
|
204
|
+
clearInterval(this.heartbeatInterval);
|
|
205
|
+
this.heartbeatInterval = null;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Send command to server
|
|
210
|
+
*/
|
|
211
|
+
sendCommand(command, params) {
|
|
212
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
213
|
+
if (this.connectionState !== client_types_1.ConnectionState.CONNECTED) {
|
|
214
|
+
throw new Error('Not connected to server');
|
|
215
|
+
}
|
|
216
|
+
if (!this.socket) {
|
|
217
|
+
throw new Error('Socket not initialized');
|
|
218
|
+
}
|
|
219
|
+
const id = (0, crypto_1.randomUUID)();
|
|
220
|
+
const request = {
|
|
221
|
+
id,
|
|
222
|
+
command,
|
|
223
|
+
params,
|
|
224
|
+
};
|
|
225
|
+
return new Promise((resolve, reject) => {
|
|
226
|
+
const timeout = setTimeout(() => {
|
|
227
|
+
this.pendingRequests.delete(id);
|
|
228
|
+
reject(new Error('Request timeout'));
|
|
229
|
+
}, this.options.timeout);
|
|
230
|
+
this.pendingRequests.set(id, {
|
|
231
|
+
resolve,
|
|
232
|
+
reject,
|
|
233
|
+
timeout,
|
|
234
|
+
timestamp: Date.now(),
|
|
235
|
+
});
|
|
236
|
+
try {
|
|
237
|
+
const buffer = protocol_1.MessageFramer.encode(request);
|
|
238
|
+
this.socket.write(buffer);
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
clearTimeout(timeout);
|
|
242
|
+
this.pendingRequests.delete(id);
|
|
243
|
+
reject(error);
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Disconnect from server
|
|
250
|
+
*/
|
|
251
|
+
disconnect() {
|
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
+
this.stopHeartbeat();
|
|
254
|
+
if (this.socket && !this.socket.destroyed) {
|
|
255
|
+
try {
|
|
256
|
+
yield this.sendCommand(command_types_1.CommandType.DISCONNECT, {});
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
// Ignore disconnect errors
|
|
260
|
+
}
|
|
261
|
+
this.socket.end();
|
|
262
|
+
this.socket = null;
|
|
263
|
+
}
|
|
264
|
+
this.connectionState = client_types_1.ConnectionState.DISCONNECTED;
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Database API - mirrors AxioDB
|
|
269
|
+
*/
|
|
270
|
+
createDB(name) {
|
|
271
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
272
|
+
yield this.sendCommand(command_types_1.CommandType.CREATE_DB, { dbName: name });
|
|
273
|
+
return new DatabaseProxy_1.default(this, name);
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
deleteDatabase(name) {
|
|
277
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
278
|
+
yield this.sendCommand(command_types_1.CommandType.DELETE_DB, { dbName: name });
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
isDatabaseExists(name) {
|
|
282
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
283
|
+
const result = yield this.sendCommand(command_types_1.CommandType.DB_EXISTS, { dbName: name });
|
|
284
|
+
return result.exists;
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
getInstanceInfo() {
|
|
288
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
289
|
+
return yield this.sendCommand(command_types_1.CommandType.GET_INSTANCE_INFO, {});
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Get current connection state
|
|
294
|
+
*/
|
|
295
|
+
get state() {
|
|
296
|
+
return this.connectionState;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Check if connected
|
|
300
|
+
*/
|
|
301
|
+
get isConnected() {
|
|
302
|
+
return this.connectionState === client_types_1.ConnectionState.CONNECTED;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
exports.AxioDBCloud = AxioDBCloud;
|
|
306
|
+
//# sourceMappingURL=AxioDBCloud.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AxioDBCloud.client.js","sourceRoot":"","sources":["../../source/client/AxioDBCloud.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AxioDBCloud } from './AxioDBCloud.client';
|
|
2
|
+
import ReaderProxy from './ReaderProxy';
|
|
3
|
+
import UpdateOperationProxy from './UpdateOperationProxy';
|
|
4
|
+
import DeleteOperationProxy from './DeleteOperationProxy';
|
|
5
|
+
import AggregationProxy from './AggregationProxy';
|
|
6
|
+
/**
|
|
7
|
+
* Collection Proxy - Remote proxy for Collection operations
|
|
8
|
+
* Mirrors the Collection class API
|
|
9
|
+
*/
|
|
10
|
+
export default class CollectionProxy {
|
|
11
|
+
private client;
|
|
12
|
+
private dbName;
|
|
13
|
+
private collectionName;
|
|
14
|
+
constructor(client: AxioDBCloud, dbName: string, collectionName: string);
|
|
15
|
+
/**
|
|
16
|
+
* Insert a single document
|
|
17
|
+
*/
|
|
18
|
+
insert(data: object): Promise<any>;
|
|
19
|
+
/**
|
|
20
|
+
* Insert many documents
|
|
21
|
+
*/
|
|
22
|
+
insertMany(documents: object[]): Promise<any>;
|
|
23
|
+
/**
|
|
24
|
+
* Query documents - returns a query builder
|
|
25
|
+
*/
|
|
26
|
+
query(query: object): ReaderProxy;
|
|
27
|
+
/**
|
|
28
|
+
* Update documents - returns an update operation builder
|
|
29
|
+
*/
|
|
30
|
+
update(query: object): UpdateOperationProxy;
|
|
31
|
+
/**
|
|
32
|
+
* Delete documents - returns a delete operation builder
|
|
33
|
+
*/
|
|
34
|
+
delete(query: object): DeleteOperationProxy;
|
|
35
|
+
/**
|
|
36
|
+
* Aggregate - returns an aggregation builder
|
|
37
|
+
*/
|
|
38
|
+
aggregate(pipeline: object[]): AggregationProxy;
|
|
39
|
+
/**
|
|
40
|
+
* Get total document count
|
|
41
|
+
*/
|
|
42
|
+
totalDocuments(): Promise<any>;
|
|
43
|
+
/**
|
|
44
|
+
* Create index on fields
|
|
45
|
+
*/
|
|
46
|
+
newIndex(...fieldNames: string[]): Promise<any>;
|
|
47
|
+
/**
|
|
48
|
+
* Drop an index
|
|
49
|
+
*/
|
|
50
|
+
dropIndex(indexName: string): Promise<any>;
|
|
51
|
+
/**
|
|
52
|
+
* Get collection name
|
|
53
|
+
*/
|
|
54
|
+
get name(): string;
|
|
55
|
+
}
|