@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.
- package/dist/databases/snowflakeDatabase.d.ts +45 -0
- package/dist/databases/snowflakeDatabase.d.ts.map +1 -0
- package/dist/databases/snowflakeDatabase.js +346 -0
- package/dist/databases/snowflakeDatabase.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -11
- package/dist/index.js.map +1 -1
- package/dist/mock/inMemoryMockDatabase.d.ts +72 -0
- package/dist/mock/inMemoryMockDatabase.d.ts.map +1 -0
- package/dist/mock/inMemoryMockDatabase.js +286 -0
- package/dist/mock/inMemoryMockDatabase.js.map +1 -0
- package/dist/mock/mockDatabase.d.ts +47 -0
- package/dist/mock/mockDatabase.d.ts.map +1 -0
- package/dist/mock/mockDatabase.js +146 -0
- package/dist/mock/mockDatabase.js.map +1 -0
- package/dist/mock/mockDatabaseFactory.d.ts +40 -0
- package/dist/mock/mockDatabaseFactory.d.ts.map +1 -0
- package/dist/mock/mockDatabaseFactory.js +335 -0
- package/dist/mock/mockDatabaseFactory.js.map +1 -0
- package/dist/types/index.d.ts +72 -14
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +16 -10
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDatabaseConfig = exports.MockDatabaseFactory = exports.DatabaseType = void 0;
|
|
4
|
+
// Mock Database Factory - Support multiple database types
|
|
5
|
+
var DatabaseType;
|
|
6
|
+
(function (DatabaseType) {
|
|
7
|
+
DatabaseType["IN_MEMORY"] = "in-memory";
|
|
8
|
+
DatabaseType["SQLITE"] = "sqlite";
|
|
9
|
+
DatabaseType["SNOWFLAKE_MOCK"] = "snowflake-mock";
|
|
10
|
+
DatabaseType["SNOWFLAKE_REAL"] = "snowflake-real";
|
|
11
|
+
})(DatabaseType || (exports.DatabaseType = DatabaseType = {}));
|
|
12
|
+
// In-memory implementation (existing)
|
|
13
|
+
const inMemoryMockDatabase_1 = require("./inMemoryMockDatabase");
|
|
14
|
+
// SQLite implementation (placeholder for future)
|
|
15
|
+
class SQLiteMockDatabase {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.db = null;
|
|
18
|
+
this.initialized = false;
|
|
19
|
+
}
|
|
20
|
+
async initialize() {
|
|
21
|
+
console.log('🗄️ Initializing SQLite mock database...');
|
|
22
|
+
// Future: Use actual SQLite with better-sqlite3
|
|
23
|
+
// For now, fall back to in-memory
|
|
24
|
+
this.initialized = true;
|
|
25
|
+
}
|
|
26
|
+
async getUserByEmail(email) {
|
|
27
|
+
// Placeholder implementation
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
async getUserById(id) {
|
|
31
|
+
// Placeholder implementation
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
async createUser(userData) {
|
|
35
|
+
// Placeholder implementation
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
async createSession(data) {
|
|
39
|
+
// Placeholder implementation
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
async getSessionByToken(token) {
|
|
43
|
+
// Placeholder implementation
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
async deleteSession(token) {
|
|
47
|
+
// Placeholder implementation
|
|
48
|
+
}
|
|
49
|
+
async logAudit(entry) {
|
|
50
|
+
// Placeholder implementation
|
|
51
|
+
}
|
|
52
|
+
async getStats() {
|
|
53
|
+
return {
|
|
54
|
+
totalUsers: 0,
|
|
55
|
+
totalSessions: 0,
|
|
56
|
+
totalAuditLogs: 0,
|
|
57
|
+
usersByRole: {},
|
|
58
|
+
databaseType: 'sqlite'
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
async getAuditLogs(userId) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
async reset() {
|
|
65
|
+
this.initialized = false;
|
|
66
|
+
await this.initialize();
|
|
67
|
+
}
|
|
68
|
+
async close() {
|
|
69
|
+
this.db = null;
|
|
70
|
+
this.initialized = false;
|
|
71
|
+
}
|
|
72
|
+
async healthCheck() {
|
|
73
|
+
return {
|
|
74
|
+
status: 'healthy',
|
|
75
|
+
databaseType: 'sqlite',
|
|
76
|
+
timestamp: new Date().toISOString()
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Snowflake mock implementation (existing)
|
|
81
|
+
class SnowflakeMockDatabase {
|
|
82
|
+
constructor() {
|
|
83
|
+
this.connection = null;
|
|
84
|
+
this.initialized = false;
|
|
85
|
+
}
|
|
86
|
+
async initialize() {
|
|
87
|
+
console.log('❄️ Initializing Snowflake mock database...');
|
|
88
|
+
// Simulate Snowflake connection
|
|
89
|
+
this.connection = {
|
|
90
|
+
execute: async (query) => {
|
|
91
|
+
console.log(`🔍 Snowflake Query: ${query}`);
|
|
92
|
+
return {
|
|
93
|
+
rows: [],
|
|
94
|
+
rowCount: 0
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
this.initialized = true;
|
|
99
|
+
}
|
|
100
|
+
async getUserByEmail(email) {
|
|
101
|
+
const query = `SELECT * FROM USERS WHERE EMAIL = '${email}'`;
|
|
102
|
+
const result = await this.connection.execute(query);
|
|
103
|
+
// Mock Snowflake user data
|
|
104
|
+
if (email === 'admin@siriux.dev') {
|
|
105
|
+
return {
|
|
106
|
+
ID: '1',
|
|
107
|
+
EMAIL: 'admin@siriux.dev',
|
|
108
|
+
PASSWORD: 'admin123',
|
|
109
|
+
FIRST_NAME: 'Admin',
|
|
110
|
+
LAST_NAME: 'User',
|
|
111
|
+
ROLE: 'admin',
|
|
112
|
+
CREATED_AT: new Date().toISOString(),
|
|
113
|
+
UPDATED_AT: new Date().toISOString()
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
if (email === 'user@siriux.dev') {
|
|
117
|
+
return {
|
|
118
|
+
ID: '2',
|
|
119
|
+
EMAIL: 'user@siriux.dev',
|
|
120
|
+
PASSWORD: 'user123',
|
|
121
|
+
FIRST_NAME: 'Demo',
|
|
122
|
+
LAST_NAME: 'User',
|
|
123
|
+
ROLE: 'user',
|
|
124
|
+
CREATED_AT: new Date().toISOString(),
|
|
125
|
+
UPDATED_AT: new Date().toISOString()
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
async getUserById(id) {
|
|
131
|
+
const query = `SELECT * FROM USERS WHERE ID = '${id}'`;
|
|
132
|
+
await this.connection.execute(query);
|
|
133
|
+
// Mock data based on ID
|
|
134
|
+
if (id === '1')
|
|
135
|
+
return this.getUserByEmail('admin@siriux.dev');
|
|
136
|
+
if (id === '2')
|
|
137
|
+
return this.getUserByEmail('user@siriux.dev');
|
|
138
|
+
if (id === '3')
|
|
139
|
+
return this.getUserByEmail('manager@siriux.dev');
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
async createUser(userData) {
|
|
143
|
+
const query = `INSERT INTO USERS (EMAIL, PASSWORD, FIRST_NAME, LAST_NAME, ROLE) VALUES ('${userData.email}', '${userData.password}', '${userData.firstName}', '${userData.lastName}', '${userData.role}')`;
|
|
144
|
+
await this.connection.execute(query);
|
|
145
|
+
return {
|
|
146
|
+
ID: Date.now().toString(),
|
|
147
|
+
...userData,
|
|
148
|
+
CREATED_AT: new Date().toISOString(),
|
|
149
|
+
UPDATED_AT: new Date().toISOString()
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
async createSession(data) {
|
|
153
|
+
const query = `INSERT INTO SESSIONS (USER_ID, ACCESS_TOKEN, REFRESH_TOKEN, EXPIRES_AT) VALUES ('${data.userId}', '${data.accessToken}', '${data.refreshToken}', '${data.expiresAt}')`;
|
|
154
|
+
await this.connection.execute(query);
|
|
155
|
+
return {
|
|
156
|
+
ID: Date.now().toString(),
|
|
157
|
+
...data,
|
|
158
|
+
CREATED_AT: new Date().toISOString()
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
async getSessionByToken(token) {
|
|
162
|
+
const query = `SELECT * FROM SESSIONS WHERE ACCESS_TOKEN = '${token}' AND EXPIRES_AT > CURRENT_TIMESTAMP()`;
|
|
163
|
+
const result = await this.connection.execute(query);
|
|
164
|
+
// Mock session data
|
|
165
|
+
return {
|
|
166
|
+
ID: 'session_1',
|
|
167
|
+
USER_ID: '1',
|
|
168
|
+
ACCESS_TOKEN: token,
|
|
169
|
+
REFRESH_TOKEN: 'refresh_token',
|
|
170
|
+
EXPIRES_AT: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
|
|
171
|
+
CREATED_AT: new Date().toISOString()
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
async deleteSession(token) {
|
|
175
|
+
const query = `DELETE FROM SESSIONS WHERE ACCESS_TOKEN = '${token}'`;
|
|
176
|
+
await this.connection.execute(query);
|
|
177
|
+
}
|
|
178
|
+
async logAudit(entry) {
|
|
179
|
+
const query = `INSERT INTO AUDIT_LOGS (USER_ID, ACTION, RESOURCE, METADATA, TIMESTAMP) VALUES ('${entry.userId || 'NULL'}', '${entry.action}', '${entry.resource}', '${entry.metadata || 'NULL'}', CURRENT_TIMESTAMP())`;
|
|
180
|
+
await this.connection.execute(query);
|
|
181
|
+
}
|
|
182
|
+
async getStats() {
|
|
183
|
+
const query = 'SELECT COUNT(*) AS TOTAL_USERS FROM USERS';
|
|
184
|
+
await this.connection.execute(query);
|
|
185
|
+
return {
|
|
186
|
+
totalUsers: 3,
|
|
187
|
+
totalSessions: 2,
|
|
188
|
+
totalAuditLogs: 15,
|
|
189
|
+
usersByRole: {
|
|
190
|
+
admin: 1,
|
|
191
|
+
user: 1,
|
|
192
|
+
manager: 1
|
|
193
|
+
},
|
|
194
|
+
databaseType: 'snowflake',
|
|
195
|
+
warehouse: 'DEMO_WAREHOUSE',
|
|
196
|
+
schema: 'SIRIUX_DEMO'
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
async getAuditLogs(userId) {
|
|
200
|
+
const whereClause = userId ? `WHERE USER_ID = '${userId}'` : '';
|
|
201
|
+
const query = `SELECT * FROM AUDIT_LOGS ${whereClause} ORDER BY TIMESTAMP DESC LIMIT 50`;
|
|
202
|
+
await this.connection.execute(query);
|
|
203
|
+
// Mock audit logs
|
|
204
|
+
return [
|
|
205
|
+
{
|
|
206
|
+
ID: '1',
|
|
207
|
+
USER_ID: '1',
|
|
208
|
+
ACTION: 'LOGIN_SUCCESS',
|
|
209
|
+
RESOURCE: 'auth',
|
|
210
|
+
METADATA: '{}',
|
|
211
|
+
TIMESTAMP: new Date().toISOString()
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
ID: '2',
|
|
215
|
+
USER_ID: '2',
|
|
216
|
+
ACTION: 'LOGIN_FAILED',
|
|
217
|
+
RESOURCE: 'auth',
|
|
218
|
+
METADATA: '{"reason": "invalid_password"}',
|
|
219
|
+
TIMESTAMP: new Date(Date.now() - 60000).toISOString()
|
|
220
|
+
}
|
|
221
|
+
];
|
|
222
|
+
}
|
|
223
|
+
async reset() {
|
|
224
|
+
console.log('🔄 Resetting Snowflake mock database...');
|
|
225
|
+
await this.initialize();
|
|
226
|
+
}
|
|
227
|
+
async close() {
|
|
228
|
+
this.connection = null;
|
|
229
|
+
this.initialized = false;
|
|
230
|
+
console.log('❄️ Snowflake mock database closed');
|
|
231
|
+
}
|
|
232
|
+
async healthCheck() {
|
|
233
|
+
return {
|
|
234
|
+
status: 'healthy',
|
|
235
|
+
databaseType: 'snowflake',
|
|
236
|
+
warehouse: 'DEMO_WAREHOUSE',
|
|
237
|
+
schema: 'SIRIUX_DEMO',
|
|
238
|
+
timestamp: new Date().toISOString(),
|
|
239
|
+
connectionState: 'connected'
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// Real Snowflake implementation
|
|
244
|
+
const snowflakeDatabase_1 = require("../databases/snowflakeDatabase");
|
|
245
|
+
// Factory function
|
|
246
|
+
class MockDatabaseFactory {
|
|
247
|
+
static async create(config) {
|
|
248
|
+
console.log(`🏭 Creating database: ${config.type}`);
|
|
249
|
+
switch (config.type) {
|
|
250
|
+
case DatabaseType.IN_MEMORY:
|
|
251
|
+
return new inMemoryMockDatabase_1.InMemoryMockDatabase();
|
|
252
|
+
case DatabaseType.SQLITE:
|
|
253
|
+
return new SQLiteMockDatabase();
|
|
254
|
+
case DatabaseType.SNOWFLAKE_MOCK:
|
|
255
|
+
return new SnowflakeMockDatabase();
|
|
256
|
+
case DatabaseType.SNOWFLAKE_REAL:
|
|
257
|
+
try {
|
|
258
|
+
const snowflakeConfig = (0, snowflakeDatabase_1.getSnowflakeConfig)();
|
|
259
|
+
return new snowflakeDatabase_1.SnowflakeDatabase(snowflakeConfig);
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
console.warn('⚠️ Snowflake config not found, falling back to mock:', error.message);
|
|
263
|
+
return new SnowflakeMockDatabase();
|
|
264
|
+
}
|
|
265
|
+
default:
|
|
266
|
+
throw new Error(`Unsupported database type: ${config.type}`);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
static async createWithAutoDetection() {
|
|
270
|
+
// Auto-detect based on environment (defaults to real Snowflake)
|
|
271
|
+
const dbType = process.env.MOCK_DB_TYPE || DatabaseType.SNOWFLAKE_REAL;
|
|
272
|
+
return this.create({
|
|
273
|
+
type: dbType,
|
|
274
|
+
connectionString: process.env.MOCK_DB_CONNECTION_STRING,
|
|
275
|
+
options: {
|
|
276
|
+
warehouse: process.env.SNOWFLAKE_WAREHOUSE,
|
|
277
|
+
schema: process.env.SNOWFLAKE_SCHEMA
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
static getSupportedTypes() {
|
|
282
|
+
return [
|
|
283
|
+
DatabaseType.IN_MEMORY,
|
|
284
|
+
DatabaseType.SQLITE,
|
|
285
|
+
DatabaseType.SNOWFLAKE_MOCK,
|
|
286
|
+
DatabaseType.SNOWFLAKE_REAL
|
|
287
|
+
];
|
|
288
|
+
}
|
|
289
|
+
static getDatabaseInfo(type) {
|
|
290
|
+
const databaseInfo = {
|
|
291
|
+
[DatabaseType.IN_MEMORY]: {
|
|
292
|
+
name: 'In-Memory',
|
|
293
|
+
description: 'Fast, zero-dependency in-memory database',
|
|
294
|
+
features: ['Zero setup', 'Fastest performance', 'No external deps', 'Auto-reset'],
|
|
295
|
+
useCase: 'Development, testing, demos'
|
|
296
|
+
},
|
|
297
|
+
[DatabaseType.SQLITE]: {
|
|
298
|
+
name: 'SQLite',
|
|
299
|
+
description: 'File-based SQL database with persistence',
|
|
300
|
+
features: ['Persistent storage', 'Real SQL queries', 'ACID compliance', 'Portable'],
|
|
301
|
+
useCase: 'Local development, small applications'
|
|
302
|
+
},
|
|
303
|
+
[DatabaseType.SNOWFLAKE_MOCK]: {
|
|
304
|
+
name: 'Snowflake (Mock)',
|
|
305
|
+
description: 'Simulated Snowflake for enterprise demos',
|
|
306
|
+
features: ['Cloud-native mock', 'Enterprise features', 'Data warehousing', 'Zero setup'],
|
|
307
|
+
useCase: 'Enterprise demos, training, sales'
|
|
308
|
+
},
|
|
309
|
+
[DatabaseType.SNOWFLAKE_REAL]: {
|
|
310
|
+
name: 'Snowflake (Real)',
|
|
311
|
+
description: 'Real Snowflake data warehouse connection',
|
|
312
|
+
features: ['Real Snowflake connection', 'Production queries', 'Enterprise features', 'Analytics'],
|
|
313
|
+
useCase: 'Production applications, enterprise deployments',
|
|
314
|
+
requiresConfig: true
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
return databaseInfo[type];
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
exports.MockDatabaseFactory = MockDatabaseFactory;
|
|
321
|
+
// Environment-based configuration
|
|
322
|
+
const getDatabaseConfig = () => {
|
|
323
|
+
const type = (process.env.MOCK_DB_TYPE || DatabaseType.IN_MEMORY);
|
|
324
|
+
return {
|
|
325
|
+
type,
|
|
326
|
+
connectionString: process.env.MOCK_DB_CONNECTION_STRING,
|
|
327
|
+
options: {
|
|
328
|
+
warehouse: process.env.SNOWFLAKE_WAREHOUSE,
|
|
329
|
+
schema: process.env.SNOWFLAKE_SCHEMA,
|
|
330
|
+
database: process.env.SNOWFLAKE_DATABASE
|
|
331
|
+
}
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
exports.getDatabaseConfig = getDatabaseConfig;
|
|
335
|
+
//# sourceMappingURL=mockDatabaseFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockDatabaseFactory.js","sourceRoot":"","sources":["../../src/mock/mockDatabaseFactory.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare enum UserRole {
|
|
2
2
|
USER = "user",
|
|
3
|
-
ADMIN = "admin"
|
|
3
|
+
ADMIN = "admin",
|
|
4
|
+
MANAGER = "manager"
|
|
4
5
|
}
|
|
5
6
|
export interface JwtPayload {
|
|
6
7
|
userId: string;
|
|
@@ -43,22 +44,79 @@ export interface DatabaseConfig {
|
|
|
43
44
|
connection: string;
|
|
44
45
|
options?: Record<string, any>;
|
|
45
46
|
}
|
|
46
|
-
export interface
|
|
47
|
+
export interface BaseSiriuxConfig {
|
|
47
48
|
jwtSecret: string;
|
|
48
49
|
jwtRefreshSecret: string;
|
|
49
50
|
database: DatabaseConfig;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
}
|
|
52
|
+
export interface EmailConfig {
|
|
53
|
+
host: string;
|
|
54
|
+
port: number;
|
|
55
|
+
user: string;
|
|
56
|
+
password: string;
|
|
57
|
+
from: string;
|
|
58
|
+
}
|
|
59
|
+
export interface FeatureFlags {
|
|
60
|
+
mfa?: boolean;
|
|
61
|
+
sso?: boolean;
|
|
62
|
+
rbac?: boolean;
|
|
63
|
+
emailVerification?: boolean;
|
|
64
|
+
auditLogging?: boolean;
|
|
65
|
+
analytics?: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface SiriuxConfig extends BaseSiriuxConfig {
|
|
68
|
+
email?: EmailConfig;
|
|
69
|
+
features?: FeatureFlags;
|
|
70
|
+
}
|
|
71
|
+
export interface SiriuxError {
|
|
72
|
+
code: string;
|
|
73
|
+
message: string;
|
|
74
|
+
statusCode?: number;
|
|
75
|
+
details?: Record<string, any>;
|
|
76
|
+
}
|
|
77
|
+
export interface ApiResponse<T = any> {
|
|
78
|
+
success: boolean;
|
|
79
|
+
data?: T;
|
|
80
|
+
error?: SiriuxError;
|
|
81
|
+
meta?: {
|
|
82
|
+
pagination?: {
|
|
83
|
+
page: number;
|
|
84
|
+
limit: number;
|
|
85
|
+
total: number;
|
|
86
|
+
};
|
|
87
|
+
timestamp: string;
|
|
62
88
|
};
|
|
63
89
|
}
|
|
90
|
+
export interface LifecycleHooks {
|
|
91
|
+
beforeAuth?: (credentials: LoginCredentials) => Promise<void>;
|
|
92
|
+
afterAuth?: (user: AuthenticatedUser) => Promise<void>;
|
|
93
|
+
beforeLogout?: (user: AuthenticatedUser) => Promise<void>;
|
|
94
|
+
afterLogout?: (userId: string) => Promise<void>;
|
|
95
|
+
}
|
|
96
|
+
export interface ServiceContainer {
|
|
97
|
+
get<T>(key: string): T;
|
|
98
|
+
register<T>(key: string, factory: () => T): void;
|
|
99
|
+
}
|
|
100
|
+
export interface EventBus {
|
|
101
|
+
emit<T>(event: string, data: T): void;
|
|
102
|
+
on<T>(event: string, handler: (data: T) => void): void;
|
|
103
|
+
off<T>(event: string, handler: (data: T) => void): void;
|
|
104
|
+
}
|
|
105
|
+
export interface Logger {
|
|
106
|
+
debug(message: string, meta?: Record<string, any>): void;
|
|
107
|
+
info(message: string, meta?: Record<string, any>): void;
|
|
108
|
+
warn(message: string, meta?: Record<string, any>): void;
|
|
109
|
+
error(message: string, error?: Error, meta?: Record<string, any>): void;
|
|
110
|
+
}
|
|
111
|
+
export interface Plugin {
|
|
112
|
+
name: string;
|
|
113
|
+
version: string;
|
|
114
|
+
initialize(container: ServiceContainer): Promise<void>;
|
|
115
|
+
destroy(): Promise<void>;
|
|
116
|
+
}
|
|
117
|
+
export interface PluginManager {
|
|
118
|
+
load(plugin: Plugin): Promise<void>;
|
|
119
|
+
unload(pluginName: string): Promise<void>;
|
|
120
|
+
getLoadedPlugins(): string[];
|
|
121
|
+
}
|
|
64
122
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// Core Siriux contracts and interfaces
|
|
3
|
+
// This is the stable center that all other packages depend on
|
|
2
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
5
|
exports.UserRole = void 0;
|
|
4
6
|
var UserRole;
|
|
5
7
|
(function (UserRole) {
|
|
6
8
|
UserRole["USER"] = "user";
|
|
7
9
|
UserRole["ADMIN"] = "admin";
|
|
10
|
+
UserRole["MANAGER"] = "manager"; // Extended role for future use
|
|
8
11
|
})(UserRole || (exports.UserRole = UserRole = {}));
|
|
9
12
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,8DAA8D;;;AAE9D,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,+BAAmB,CAAA,CAAC,+BAA+B;AACrD,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@siriux/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Siriux Core - Authentication, Database, and API utilities",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,30 +22,36 @@
|
|
|
22
22
|
"author": "jawwad@alsirius.co.uk",
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"
|
|
26
|
-
"jsonwebtoken": "^9.0.2",
|
|
25
|
+
"@types/snowflake-sdk": "^1.6.24",
|
|
27
26
|
"bcryptjs": "^2.4.3",
|
|
28
|
-
"joi": "^17.11.0",
|
|
29
27
|
"cors": "^2.8.5",
|
|
30
28
|
"dotenv": "^16.3.1",
|
|
29
|
+
"express": "^4.18.2",
|
|
30
|
+
"joi": "^17.11.0",
|
|
31
|
+
"jsonwebtoken": "^9.0.2",
|
|
32
|
+
"snowflake-sdk": "^2.3.6",
|
|
31
33
|
"uuid": "^9.0.1",
|
|
32
34
|
"winston": "^3.11.0"
|
|
33
35
|
},
|
|
34
36
|
"devDependencies": {
|
|
35
|
-
"@types/node": "^20.10.5",
|
|
36
|
-
"@types/express": "^4.17.21",
|
|
37
|
-
"@types/jsonwebtoken": "^9.0.5",
|
|
38
37
|
"@types/bcryptjs": "^2.4.6",
|
|
39
38
|
"@types/cors": "^2.8.17",
|
|
39
|
+
"@types/express": "^4.17.21",
|
|
40
|
+
"@types/jest": "^29.5.8",
|
|
41
|
+
"@types/jsonwebtoken": "^9.0.5",
|
|
42
|
+
"@types/node": "^20.10.5",
|
|
43
|
+
"@types/sqlite3": "^3.1.11",
|
|
40
44
|
"@types/uuid": "^9.0.7",
|
|
41
|
-
"typescript": "^5.3.3",
|
|
42
45
|
"jest": "^29.7.0",
|
|
43
|
-
"
|
|
46
|
+
"sqlite": "^5.1.1",
|
|
47
|
+
"sqlite3": "^6.0.1",
|
|
48
|
+
"typescript": "^5.3.3"
|
|
44
49
|
},
|
|
45
50
|
"files": [
|
|
46
51
|
"dist/**/*"
|
|
47
52
|
],
|
|
48
53
|
"publishConfig": {
|
|
49
54
|
"access": "public"
|
|
50
|
-
}
|
|
55
|
+
},
|
|
56
|
+
"gitHead": "7a9592f8e9ed3f1301046046e1e05811cecc24be"
|
|
51
57
|
}
|