@siriux/core 1.0.0 → 1.0.1

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.
@@ -0,0 +1,45 @@
1
+ export interface SnowflakeConfig {
2
+ account: string;
3
+ username: string;
4
+ password: string;
5
+ warehouse: string;
6
+ schema: string;
7
+ database?: string;
8
+ role?: string;
9
+ clientSessionKeepAlive?: boolean;
10
+ }
11
+ export interface SnowflakeQueryResult {
12
+ rows: any[];
13
+ rowCount: number;
14
+ columns: any[];
15
+ statementId: string;
16
+ }
17
+ export declare class SnowflakeDatabase {
18
+ private config;
19
+ private connection;
20
+ private isConnected;
21
+ constructor(config: SnowflakeConfig);
22
+ initialize(): Promise<void>;
23
+ private connect;
24
+ private initializeSchema;
25
+ private seedDemoData;
26
+ execute(query: string, params?: any[]): Promise<SnowflakeQueryResult>;
27
+ getUserByEmail(email: string): Promise<any>;
28
+ getUserById(id: string): Promise<any>;
29
+ createUser(userData: any): Promise<any>;
30
+ createSession(sessionData: any): Promise<any>;
31
+ getSessionByToken(accessToken: string): Promise<any>;
32
+ deleteSession(accessToken: string): Promise<void>;
33
+ logAudit(entry: any): Promise<void>;
34
+ getAuditLogs(userId?: string, limit?: number): Promise<any[]>;
35
+ getStats(): Promise<any>;
36
+ executeAnalytics(query: string): Promise<any>;
37
+ getTableInfo(tableName: string): Promise<any>;
38
+ getWarehouseInfo(): Promise<any>;
39
+ healthCheck(): Promise<any>;
40
+ close(): Promise<void>;
41
+ reset(): Promise<void>;
42
+ }
43
+ export declare const createSnowflakeDatabase: (config: SnowflakeConfig) => SnowflakeDatabase;
44
+ export declare const getSnowflakeConfig: () => SnowflakeConfig;
45
+ //# sourceMappingURL=snowflakeDatabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snowflakeDatabase.d.ts","sourceRoot":"","sources":["../../src/databases/snowflakeDatabase.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,eAAe;IAI7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YA+BnB,OAAO;YAaP,gBAAgB;YAgDhB,YAAY;IAuBpB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0BrE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAS3C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IASrC,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAYvC,aAAa,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAW7C,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IASpD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAiBzD,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAgCxB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAK7C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAK7C,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC;IAMhC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAsB3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB7B;AAGD,eAAO,MAAM,uBAAuB,GAAI,QAAQ,eAAe,KAAG,iBAEjE,CAAC;AAGF,eAAO,MAAM,kBAAkB,QAAO,eAqBrC,CAAC"}
@@ -0,0 +1,346 @@
1
+ "use strict";
2
+ // Real Snowflake Database Integration
3
+ // Production-ready Snowflake connector for Siriux
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.getSnowflakeConfig = exports.createSnowflakeDatabase = exports.SnowflakeDatabase = void 0;
39
+ class SnowflakeDatabase {
40
+ constructor(config) {
41
+ this.connection = null;
42
+ this.isConnected = false;
43
+ this.config = config;
44
+ }
45
+ async initialize() {
46
+ try {
47
+ console.log('❄️ Connecting to Snowflake...');
48
+ // Dynamic import to avoid bundle issues
49
+ const snowflake = await Promise.resolve().then(() => __importStar(require('snowflake-sdk')));
50
+ this.connection = snowflake.createConnection({
51
+ account: this.config.account,
52
+ username: this.config.username,
53
+ password: this.config.password,
54
+ warehouse: this.config.warehouse,
55
+ schema: this.config.schema,
56
+ database: this.config.database || 'SIRIUX_DEMO',
57
+ role: this.config.role || 'ACCOUNTADMIN',
58
+ clientSessionKeepAlive: this.config.clientSessionKeepAlive || true
59
+ });
60
+ await this.connect();
61
+ console.log(`✅ Connected to Snowflake: ${this.config.account}.${this.config.warehouse}.${this.config.schema}`);
62
+ // Initialize demo schema if needed
63
+ await this.initializeSchema();
64
+ }
65
+ catch (error) {
66
+ console.error('❌ Snowflake connection failed:', error.message);
67
+ throw new Error(`Snowflake connection failed: ${error.message}`);
68
+ }
69
+ }
70
+ async connect() {
71
+ return new Promise((resolve, reject) => {
72
+ this.connection.connect((err, conn) => {
73
+ if (err) {
74
+ reject(err);
75
+ }
76
+ else {
77
+ this.isConnected = true;
78
+ resolve();
79
+ }
80
+ });
81
+ });
82
+ }
83
+ async initializeSchema() {
84
+ try {
85
+ // Create demo tables if they don't exist
86
+ await this.execute(`
87
+ CREATE TABLE IF NOT EXISTS USERS (
88
+ ID STRING PRIMARY KEY,
89
+ EMAIL STRING UNIQUE NOT NULL,
90
+ PASSWORD STRING NOT NULL,
91
+ FIRST_NAME STRING,
92
+ LAST_NAME STRING,
93
+ ROLE STRING NOT NULL,
94
+ CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
95
+ UPDATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP()
96
+ );
97
+ `);
98
+ await this.execute(`
99
+ CREATE TABLE IF NOT EXISTS SESSIONS (
100
+ ID STRING PRIMARY KEY,
101
+ USER_ID STRING NOT NULL,
102
+ ACCESS_TOKEN STRING NOT NULL,
103
+ REFRESH_TOKEN STRING NOT NULL,
104
+ EXPIRES_AT TIMESTAMP NOT NULL,
105
+ CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
106
+ FOREIGN KEY (USER_ID) REFERENCES USERS(ID)
107
+ );
108
+ `);
109
+ await this.execute(`
110
+ CREATE TABLE IF NOT EXISTS AUDIT_LOGS (
111
+ ID STRING PRIMARY KEY,
112
+ USER_ID STRING,
113
+ ACTION STRING NOT NULL,
114
+ RESOURCE STRING NOT NULL,
115
+ METADATA STRING,
116
+ TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
117
+ FOREIGN KEY (USER_ID) REFERENCES USERS(ID)
118
+ );
119
+ `);
120
+ // Seed demo data if tables are empty
121
+ await this.seedDemoData();
122
+ }
123
+ catch (error) {
124
+ console.warn('⚠️ Schema initialization failed:', error.message);
125
+ }
126
+ }
127
+ async seedDemoData() {
128
+ try {
129
+ // Check if users table is empty
130
+ const result = await this.execute('SELECT COUNT(*) as count FROM USERS');
131
+ if (result.rows[0].COUNT === 0) {
132
+ console.log('🌱 Seeding demo data...');
133
+ // Insert demo users
134
+ await this.execute(`
135
+ INSERT INTO USERS (ID, EMAIL, PASSWORD, FIRST_NAME, LAST_NAME, ROLE) VALUES
136
+ ('1', 'admin@siriux.dev', 'admin123', 'Admin', 'User', 'admin'),
137
+ ('2', 'user@siriux.dev', 'user123', 'Demo', 'User', 'user'),
138
+ ('3', 'manager@siriux.dev', 'manager123', 'Manager', 'User', 'manager')
139
+ `);
140
+ console.log('✅ Demo data seeded successfully');
141
+ }
142
+ }
143
+ catch (error) {
144
+ console.warn('⚠️ Demo data seeding failed:', error.message);
145
+ }
146
+ }
147
+ async execute(query, params) {
148
+ if (!this.isConnected) {
149
+ throw new Error('Not connected to Snowflake');
150
+ }
151
+ return new Promise((resolve, reject) => {
152
+ const statement = this.connection.execute({
153
+ sqlText: query,
154
+ binds: params || [],
155
+ complete: (err, stmt, rows) => {
156
+ if (err) {
157
+ reject(new Error(`Query failed: ${err.message}`));
158
+ }
159
+ else {
160
+ resolve({
161
+ rows: rows || [],
162
+ rowCount: rows ? rows.length : 0,
163
+ columns: stmt.getColumns ? stmt.getColumns() : [],
164
+ statementId: stmt.getStatementId ? stmt.getStatementId() : 'unknown'
165
+ });
166
+ }
167
+ }
168
+ });
169
+ });
170
+ }
171
+ // User operations
172
+ async getUserByEmail(email) {
173
+ const result = await this.execute('SELECT * FROM USERS WHERE EMAIL = ?', [email]);
174
+ return result.rows.length > 0 ? result.rows[0] : null;
175
+ }
176
+ async getUserById(id) {
177
+ const result = await this.execute('SELECT * FROM USERS WHERE ID = ?', [id]);
178
+ return result.rows.length > 0 ? result.rows[0] : null;
179
+ }
180
+ async createUser(userData) {
181
+ const id = Date.now().toString();
182
+ await this.execute(`
183
+ INSERT INTO USERS (ID, EMAIL, PASSWORD, FIRST_NAME, LAST_NAME, ROLE)
184
+ VALUES (?, ?, ?, ?, ?, ?)
185
+ `, [id, userData.email, userData.password, userData.firstName, userData.lastName, userData.role]);
186
+ return this.getUserById(id);
187
+ }
188
+ // Session operations
189
+ async createSession(sessionData) {
190
+ const id = Date.now().toString();
191
+ await this.execute(`
192
+ INSERT INTO SESSIONS (ID, USER_ID, ACCESS_TOKEN, REFRESH_TOKEN, EXPIRES_AT)
193
+ VALUES (?, ?, ?, ?, ?)
194
+ `, [id, sessionData.userId, sessionData.accessToken, sessionData.refreshToken, sessionData.expiresAt]);
195
+ return { id, ...sessionData };
196
+ }
197
+ async getSessionByToken(accessToken) {
198
+ const result = await this.execute('SELECT * FROM SESSIONS WHERE ACCESS_TOKEN = ? AND EXPIRES_AT > CURRENT_TIMESTAMP()', [accessToken]);
199
+ return result.rows.length > 0 ? result.rows[0] : null;
200
+ }
201
+ async deleteSession(accessToken) {
202
+ await this.execute('DELETE FROM SESSIONS WHERE ACCESS_TOKEN = ?', [accessToken]);
203
+ }
204
+ // Audit logging
205
+ async logAudit(entry) {
206
+ await this.execute(`
207
+ INSERT INTO AUDIT_LOGS (ID, USER_ID, ACTION, RESOURCE, METADATA)
208
+ VALUES (?, ?, ?, ?, ?)
209
+ `, [Date.now().toString(), entry.userId, entry.action, entry.resource, entry.metadata || '{}']);
210
+ }
211
+ async getAuditLogs(userId, limit = 50) {
212
+ let query = 'SELECT * FROM AUDIT_LOGS';
213
+ const params = [];
214
+ if (userId) {
215
+ query += ' WHERE USER_ID = ?';
216
+ params.push(userId);
217
+ }
218
+ query += ' ORDER BY TIMESTAMP DESC LIMIT ?';
219
+ params.push(limit);
220
+ const result = await this.execute(query, params);
221
+ return result.rows;
222
+ }
223
+ // Statistics and analytics
224
+ async getStats() {
225
+ const [userStats, sessionStats, auditStats] = await Promise.all([
226
+ this.execute('SELECT COUNT(*) as total FROM USERS'),
227
+ this.execute('SELECT COUNT(*) as total FROM SESSIONS WHERE EXPIRES_AT > CURRENT_TIMESTAMP()'),
228
+ this.execute('SELECT COUNT(*) as total FROM AUDIT_LOGS')
229
+ ]);
230
+ // Get users by role
231
+ const roleStats = await this.execute(`
232
+ SELECT ROLE, COUNT(*) as count
233
+ FROM USERS
234
+ GROUP BY ROLE
235
+ `);
236
+ const usersByRole = {};
237
+ roleStats.rows.forEach((row) => {
238
+ usersByRole[row.ROLE] = row.COUNT;
239
+ });
240
+ return {
241
+ totalUsers: userStats.rows[0].TOTAL,
242
+ totalSessions: sessionStats.rows[0].TOTAL,
243
+ totalAuditLogs: auditStats.rows[0].TOTAL,
244
+ usersByRole,
245
+ databaseType: 'snowflake',
246
+ warehouse: this.config.warehouse,
247
+ schema: this.config.schema,
248
+ database: this.config.database || 'SIRIUX_DEMO'
249
+ };
250
+ }
251
+ // Advanced features
252
+ async executeAnalytics(query) {
253
+ console.log(`📊 Running analytics query: ${query}`);
254
+ return this.execute(query);
255
+ }
256
+ async getTableInfo(tableName) {
257
+ const result = await this.execute(`DESCRIBE TABLE ${tableName}`);
258
+ return result.rows;
259
+ }
260
+ async getWarehouseInfo() {
261
+ const result = await this.execute('SHOW WAREHOUSES');
262
+ return result.rows;
263
+ }
264
+ // Health check
265
+ async healthCheck() {
266
+ try {
267
+ const result = await this.execute('SELECT CURRENT_TIMESTAMP() as now');
268
+ return {
269
+ status: 'healthy',
270
+ databaseType: 'snowflake',
271
+ warehouse: this.config.warehouse,
272
+ schema: this.config.schema,
273
+ timestamp: result.rows[0].NOW,
274
+ connected: this.isConnected
275
+ };
276
+ }
277
+ catch (error) {
278
+ return {
279
+ status: 'unhealthy',
280
+ databaseType: 'snowflake',
281
+ error: error.message,
282
+ connected: false
283
+ };
284
+ }
285
+ }
286
+ // Cleanup
287
+ async close() {
288
+ if (this.connection && this.isConnected) {
289
+ return new Promise((resolve) => {
290
+ this.connection.destroy((err) => {
291
+ if (err) {
292
+ console.error('❌ Error closing Snowflake connection:', err);
293
+ }
294
+ else {
295
+ console.log('✅ Snowflake connection closed');
296
+ }
297
+ this.isConnected = false;
298
+ resolve();
299
+ });
300
+ });
301
+ }
302
+ }
303
+ // Reset demo data
304
+ async reset() {
305
+ try {
306
+ console.log('🔄 Resetting Snowflake demo data...');
307
+ await this.execute('DELETE FROM AUDIT_LOGS');
308
+ await this.execute('DELETE FROM SESSIONS');
309
+ await this.execute('DELETE FROM USERS');
310
+ await this.seedDemoData();
311
+ console.log('✅ Snowflake demo data reset successfully');
312
+ }
313
+ catch (error) {
314
+ console.error('❌ Reset failed:', error.message);
315
+ throw error;
316
+ }
317
+ }
318
+ }
319
+ exports.SnowflakeDatabase = SnowflakeDatabase;
320
+ // Factory function
321
+ const createSnowflakeDatabase = (config) => {
322
+ return new SnowflakeDatabase(config);
323
+ };
324
+ exports.createSnowflakeDatabase = createSnowflakeDatabase;
325
+ // Environment-based configuration
326
+ const getSnowflakeConfig = () => {
327
+ const config = {
328
+ account: process.env.SNOWFLAKE_ACCOUNT || '',
329
+ username: process.env.SNOWFLAKE_USERNAME || '',
330
+ password: process.env.SNOWFLAKE_PASSWORD || '',
331
+ warehouse: process.env.SNOWFLAKE_WAREHOUSE || 'DEMO_WAREHOUSE',
332
+ schema: process.env.SNOWFLAKE_SCHEMA || 'SIRIUX_DEMO',
333
+ database: process.env.SNOWFLAKE_DATABASE || 'SIRIUX_DEMO',
334
+ role: process.env.SNOWFLAKE_ROLE || 'ACCOUNTADMIN',
335
+ clientSessionKeepAlive: process.env.SNOWFLAKE_KEEP_ALIVE === 'true'
336
+ };
337
+ // Validate required fields
338
+ const required = ['account', 'username', 'password', 'warehouse', 'schema'];
339
+ const missing = required.filter(field => !config[field]);
340
+ if (missing.length > 0) {
341
+ throw new Error(`Missing required Snowflake config: ${missing.join(', ')}`);
342
+ }
343
+ return config;
344
+ };
345
+ exports.getSnowflakeConfig = getSnowflakeConfig;
346
+ //# sourceMappingURL=snowflakeDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snowflakeDatabase.js","sourceRoot":"","sources":["../../src/databases/snowflakeDatabase.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export * from './types';
2
- export * from './auth/middleware';
3
- export { AuthenticationError, AuthMiddleware, createAuthMiddleware } from './auth/middleware';
4
- export { UserRole, JwtPayload, AuthenticatedUser, AuthTokens, SiriuxConfig } from './types';
2
+ export { MockDatabase, MockUser, MockSession } from './mock/mockDatabase';
3
+ export { MockDatabaseFactory, DatabaseType } from './mock/mockDatabaseFactory';
4
+ export { InMemoryMockDatabase } from './mock/inMemoryMockDatabase';
5
+ export { SnowflakeDatabase, getSnowflakeConfig } from './databases/snowflakeDatabase';
5
6
  export declare const SIRIUX_CORE_VERSION = "1.0.0";
6
7
  import { SiriuxConfig } from './types';
7
8
  export declare const createDefaultConfig: (overrides: Partial<SiriuxConfig>) => SiriuxConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5F,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,mBAAmB,GAAI,WAAW,OAAO,CAAC,YAAY,CAAC,KAAG,YAkBtE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAGvC,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,mBAAmB,GAAI,WAAW,OAAO,CAAC,YAAY,CAAC,KAAG,YAoBtE,CAAC"}
package/dist/index.js CHANGED
@@ -14,17 +14,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.createDefaultConfig = exports.SIRIUX_CORE_VERSION = exports.UserRole = exports.createAuthMiddleware = exports.AuthMiddleware = exports.AuthenticationError = void 0;
18
- // Core exports
17
+ exports.createDefaultConfig = exports.SIRIUX_CORE_VERSION = exports.getSnowflakeConfig = exports.SnowflakeDatabase = exports.InMemoryMockDatabase = exports.DatabaseType = exports.MockDatabaseFactory = exports.MockDatabase = void 0;
18
+ // Core Siriux contracts and interfaces
19
19
  __exportStar(require("./types"), exports);
20
- __exportStar(require("./auth/middleware"), exports);
21
- // Re-export commonly used classes and functions
22
- var middleware_1 = require("./auth/middleware");
23
- Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return middleware_1.AuthenticationError; } });
24
- Object.defineProperty(exports, "AuthMiddleware", { enumerable: true, get: function () { return middleware_1.AuthMiddleware; } });
25
- Object.defineProperty(exports, "createAuthMiddleware", { enumerable: true, get: function () { return middleware_1.createAuthMiddleware; } });
26
- var types_1 = require("./types");
27
- Object.defineProperty(exports, "UserRole", { enumerable: true, get: function () { return types_1.UserRole; } });
20
+ // Re-export mock database functionality
21
+ var mockDatabase_1 = require("./mock/mockDatabase");
22
+ Object.defineProperty(exports, "MockDatabase", { enumerable: true, get: function () { return mockDatabase_1.MockDatabase; } });
23
+ var mockDatabaseFactory_1 = require("./mock/mockDatabaseFactory");
24
+ Object.defineProperty(exports, "MockDatabaseFactory", { enumerable: true, get: function () { return mockDatabaseFactory_1.MockDatabaseFactory; } });
25
+ Object.defineProperty(exports, "DatabaseType", { enumerable: true, get: function () { return mockDatabaseFactory_1.DatabaseType; } });
26
+ var inMemoryMockDatabase_1 = require("./mock/inMemoryMockDatabase");
27
+ Object.defineProperty(exports, "InMemoryMockDatabase", { enumerable: true, get: function () { return inMemoryMockDatabase_1.InMemoryMockDatabase; } });
28
+ // Re-export Snowflake database
29
+ var snowflakeDatabase_1 = require("./databases/snowflakeDatabase");
30
+ Object.defineProperty(exports, "SnowflakeDatabase", { enumerable: true, get: function () { return snowflakeDatabase_1.SnowflakeDatabase; } });
31
+ Object.defineProperty(exports, "getSnowflakeConfig", { enumerable: true, get: function () { return snowflakeDatabase_1.getSnowflakeConfig; } });
28
32
  // Version information
29
33
  exports.SIRIUX_CORE_VERSION = '1.0.0';
30
34
  const createDefaultConfig = (overrides) => {
@@ -40,7 +44,9 @@ const createDefaultConfig = (overrides) => {
40
44
  mfa: false,
41
45
  sso: false,
42
46
  rbac: true,
43
- emailVerification: true
47
+ emailVerification: true,
48
+ auditLogging: false,
49
+ analytics: false
44
50
  }
45
51
  };
46
52
  return { ...defaultConfig, ...overrides };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,0CAAwB;AACxB,oDAAkC;AAElC,gDAAgD;AAChD,gDAA8F;AAArF,iHAAA,mBAAmB,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAClE,iCAA4F;AAAnF,iGAAA,QAAQ,OAAA;AAEjB,sBAAsB;AACT,QAAA,mBAAmB,GAAG,OAAO,CAAC;AAKpC,MAAM,mBAAmB,GAAG,CAAC,SAAgC,EAAgB,EAAE;IACpF,MAAM,aAAa,GAAiB;QAClC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,2BAA2B;QAChE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,+BAA+B;QACnF,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,mBAAmB;YAC/B,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,IAAI;YACV,iBAAiB,EAAE,IAAI;SACxB;KACF,CAAC;IAEF,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;AAC5C,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,0CAAwB;AAExB,wCAAwC;AACxC,oDAI6B;AAH3B,4GAAA,YAAY,OAAA;AAId,kEAGoC;AAFlC,0HAAA,mBAAmB,OAAA;AACnB,mHAAA,YAAY,OAAA;AAEd,oEAAmE;AAA1D,4HAAA,oBAAoB,OAAA;AAE7B,+BAA+B;AAC/B,mEAGuC;AAFrC,sHAAA,iBAAiB,OAAA;AACjB,uHAAA,kBAAkB,OAAA;AAGpB,sBAAsB;AACT,QAAA,mBAAmB,GAAG,OAAO,CAAC;AAKpC,MAAM,mBAAmB,GAAG,CAAC,SAAgC,EAAgB,EAAE;IACpF,MAAM,aAAa,GAAiB;QAClC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,2BAA2B;QAChE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,+BAA+B;QACnF,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,mBAAmB;YAC/B,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,IAAI;YACV,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,KAAK;SACjB;KACF,CAAC;IAEF,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;AAC5C,CAAC,CAAC;AApBW,QAAA,mBAAmB,uBAoB9B"}
@@ -0,0 +1,72 @@
1
+ export interface MockUser {
2
+ id: string;
3
+ email: string;
4
+ password: string;
5
+ firstName: string;
6
+ lastName: string;
7
+ role: 'user' | 'admin' | 'manager';
8
+ createdAt: string;
9
+ updatedAt: string;
10
+ }
11
+ export interface MockSession {
12
+ id: string;
13
+ userId: string;
14
+ accessToken: string;
15
+ refreshToken: string;
16
+ expiresAt: string;
17
+ createdAt: string;
18
+ }
19
+ export interface MockAuditLog {
20
+ id: string;
21
+ userId?: string;
22
+ action: string;
23
+ resource: string;
24
+ metadata?: string;
25
+ timestamp: string;
26
+ }
27
+ export declare class InMemoryMockDatabase {
28
+ private users;
29
+ private sessions;
30
+ private auditLogs;
31
+ private isInitialized;
32
+ initialize(): Promise<void>;
33
+ private seedData;
34
+ getUserByEmail(email: string): Promise<MockUser | null>;
35
+ getUserById(id: string): Promise<MockUser | null>;
36
+ createUser(userData: Omit<MockUser, 'id' | 'createdAt' | 'updatedAt'>): Promise<MockUser>;
37
+ updateUser(id: string, updates: Partial<MockUser>): Promise<MockUser | null>;
38
+ createSession(sessionData: Omit<MockSession, 'id' | 'createdAt'>): Promise<MockSession>;
39
+ getSessionByToken(accessToken: string): Promise<MockSession | null>;
40
+ getSessionById(id: string): Promise<MockSession | null>;
41
+ deleteSession(accessToken: string): Promise<void>;
42
+ deleteExpiredSessions(): Promise<void>;
43
+ logAudit(entry: {
44
+ userId?: string;
45
+ action: string;
46
+ resource: string;
47
+ metadata?: string;
48
+ }): Promise<void>;
49
+ getAuditLogs(userId?: string, limit?: number): Promise<MockAuditLog[]>;
50
+ searchUsers(query: string): Promise<MockUser[]>;
51
+ getUsersByRole(role: string): Promise<MockUser[]>;
52
+ getStats(): Promise<{
53
+ totalUsers: number;
54
+ totalSessions: number;
55
+ totalAuditLogs: number;
56
+ usersByRole: Record<string, number>;
57
+ }>;
58
+ close(): Promise<void>;
59
+ healthCheck(): Promise<{
60
+ status: string;
61
+ timestamp: string;
62
+ stats: any;
63
+ }>;
64
+ reset(): Promise<void>;
65
+ exportData(): {
66
+ users: MockUser[];
67
+ sessions: MockSession[];
68
+ auditLogs: MockAuditLog[];
69
+ };
70
+ }
71
+ export declare const inMemoryMockDatabase: InMemoryMockDatabase;
72
+ //# sourceMappingURL=inMemoryMockDatabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inMemoryMockDatabase.d.ts","sourceRoot":"","sources":["../../src/mock/inMemoryMockDatabase.ts"],"names":[],"mappings":"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"}