@vezlo/assistant-server 2.11.1 → 2.13.0
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/README.md +25 -1
- package/database-schema.sql +22 -0
- package/dist/src/bootstrap/initializeServices.d.ts +10 -0
- package/dist/src/bootstrap/initializeServices.d.ts.map +1 -1
- package/dist/src/bootstrap/initializeServices.js +25 -3
- package/dist/src/bootstrap/initializeServices.js.map +1 -1
- package/dist/src/config/defaultAISettings.d.ts +20 -0
- package/dist/src/config/defaultAISettings.d.ts.map +1 -0
- package/dist/src/config/defaultAISettings.js +52 -0
- package/dist/src/config/defaultAISettings.js.map +1 -0
- package/dist/src/controllers/AISettingsController.d.ts +22 -0
- package/dist/src/controllers/AISettingsController.d.ts.map +1 -0
- package/dist/src/controllers/AISettingsController.js +115 -0
- package/dist/src/controllers/AISettingsController.js.map +1 -0
- package/dist/src/controllers/AccountController.d.ts +20 -0
- package/dist/src/controllers/AccountController.d.ts.map +1 -0
- package/dist/src/controllers/AccountController.js +135 -0
- package/dist/src/controllers/AccountController.js.map +1 -0
- package/dist/src/controllers/ApiKeyController.d.ts.map +1 -1
- package/dist/src/controllers/ApiKeyController.js +2 -22
- package/dist/src/controllers/ApiKeyController.js.map +1 -1
- package/dist/src/controllers/ChatController.d.ts +3 -0
- package/dist/src/controllers/ChatController.d.ts.map +1 -1
- package/dist/src/controllers/ChatController.js +67 -5
- package/dist/src/controllers/ChatController.js.map +1 -1
- package/dist/src/controllers/GenerateKeyController.d.ts +22 -0
- package/dist/src/controllers/GenerateKeyController.d.ts.map +1 -0
- package/dist/src/controllers/GenerateKeyController.js +132 -0
- package/dist/src/controllers/GenerateKeyController.js.map +1 -0
- package/dist/src/controllers/TeamController.d.ts +30 -0
- package/dist/src/controllers/TeamController.d.ts.map +1 -0
- package/dist/src/controllers/TeamController.js +208 -0
- package/dist/src/controllers/TeamController.js.map +1 -0
- package/dist/src/middleware/roleGuard.d.ts +8 -0
- package/dist/src/middleware/roleGuard.d.ts.map +1 -0
- package/dist/src/middleware/roleGuard.js +26 -0
- package/dist/src/middleware/roleGuard.js.map +1 -0
- package/dist/src/migrations/012_create_ai_settings.d.ts +4 -0
- package/dist/src/migrations/012_create_ai_settings.d.ts.map +1 -0
- package/dist/src/migrations/012_create_ai_settings.js +36 -0
- package/dist/src/migrations/012_create_ai_settings.js.map +1 -0
- package/dist/src/server.js +405 -64
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/AIService.d.ts +7 -2
- package/dist/src/services/AIService.d.ts.map +1 -1
- package/dist/src/services/AIService.js +43 -66
- package/dist/src/services/AIService.js.map +1 -1
- package/dist/src/services/AISettingsService.d.ts +45 -0
- package/dist/src/services/AISettingsService.d.ts.map +1 -0
- package/dist/src/services/AISettingsService.js +162 -0
- package/dist/src/services/AISettingsService.js.map +1 -0
- package/dist/src/services/ApiKeyService.d.ts.map +1 -1
- package/dist/src/services/ApiKeyService.js.map +1 -1
- package/dist/src/services/IntentService.d.ts +7 -0
- package/dist/src/services/IntentService.d.ts.map +1 -1
- package/dist/src/services/IntentService.js +51 -27
- package/dist/src/services/IntentService.js.map +1 -1
- package/dist/src/services/PromptService.d.ts +59 -0
- package/dist/src/services/PromptService.d.ts.map +1 -0
- package/dist/src/services/PromptService.js +199 -0
- package/dist/src/services/PromptService.js.map +1 -0
- package/dist/src/services/ResponseGenerationService.d.ts +13 -0
- package/dist/src/services/ResponseGenerationService.d.ts.map +1 -1
- package/dist/src/services/ResponseGenerationService.js +10 -2
- package/dist/src/services/ResponseGenerationService.js.map +1 -1
- package/dist/src/services/SetupService.d.ts +1 -0
- package/dist/src/services/SetupService.d.ts.map +1 -1
- package/dist/src/services/SetupService.js +15 -17
- package/dist/src/services/SetupService.js.map +1 -1
- package/dist/src/services/TeamService.d.ts +53 -0
- package/dist/src/services/TeamService.d.ts.map +1 -0
- package/dist/src/services/TeamService.js +310 -0
- package/dist/src/services/TeamService.js.map +1 -0
- package/dist/src/storage/MessageRepository.d.ts.map +1 -1
- package/dist/src/storage/MessageRepository.js +10 -1
- package/dist/src/storage/MessageRepository.js.map +1 -1
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/env.example +2 -0
- package/package.json +3 -1
- package/scripts/generate-key.js +9 -69
- package/scripts/seed-ai-settings.js +120 -0
|
@@ -15,21 +15,7 @@ class ApiKeyController {
|
|
|
15
15
|
*/
|
|
16
16
|
async generateApiKey(req, res) {
|
|
17
17
|
try {
|
|
18
|
-
|
|
19
|
-
res.status(401).json({
|
|
20
|
-
success: false,
|
|
21
|
-
error: 'Not authenticated'
|
|
22
|
-
});
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
// Check if user is an admin
|
|
26
|
-
if (req.profile.role !== 'admin') {
|
|
27
|
-
res.status(403).json({
|
|
28
|
-
success: false,
|
|
29
|
-
error: 'Only admin users can generate API keys'
|
|
30
|
-
});
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
18
|
+
// requireAdmin middleware ensures req.profile exists and role is admin
|
|
33
19
|
const companyId = parseInt(req.profile.companyId);
|
|
34
20
|
const result = await this.apiKeyService.generateApiKey(companyId);
|
|
35
21
|
res.status(200).json({
|
|
@@ -53,13 +39,7 @@ class ApiKeyController {
|
|
|
53
39
|
*/
|
|
54
40
|
async getApiKeyStatus(req, res) {
|
|
55
41
|
try {
|
|
56
|
-
|
|
57
|
-
res.status(401).json({
|
|
58
|
-
success: false,
|
|
59
|
-
error: 'Not authenticated'
|
|
60
|
-
});
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
42
|
+
// requireAdmin middleware ensures req.profile exists and role is admin
|
|
63
43
|
const companyId = parseInt(req.profile.companyId);
|
|
64
44
|
const status = await this.apiKeyService.getApiKeyStatus(companyId);
|
|
65
45
|
res.status(200).json({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiKeyController.js","sourceRoot":"","sources":["../../../src/controllers/ApiKeyController.ts"],"names":[],"mappings":";;;;;;AAGA,8DAAsC;AAGtC,MAAa,gBAAgB;IAG3B,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,GAAyB,EAAE,GAAa;QAC3D,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"ApiKeyController.js","sourceRoot":"","sources":["../../../src/controllers/ApiKeyController.ts"],"names":[],"mappings":";;;;;;AAGA,8DAAsC;AAGtC,MAAa,gBAAgB;IAG3B,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,GAAyB,EAAE,GAAa;QAC3D,IAAI,CAAC;YACH,uEAAuE;YACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAElE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM;gBACtB,OAAO,EAAE,gCAAgC;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACjD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,4BAA4B;gBACrC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAyB,EAAE,GAAa;QAC5D,IAAI,CAAC;YACH,uEAAuE;YACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAEnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;gBACzB,OAAO,EAAE,MAAM,CAAC,MAAM;oBACpB,CAAC,CAAC,iCAAiC;oBACnC,CAAC,CAAC,oCAAoC;aACzC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,8BAA8B;gBACvC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA1DD,4CA0DC"}
|
|
@@ -7,6 +7,7 @@ import { IntentService } from '../services/IntentService';
|
|
|
7
7
|
import { RealtimePublisher } from '../services/RealtimePublisher';
|
|
8
8
|
import { ValidationService } from '../services/ValidationService';
|
|
9
9
|
import { DatabaseToolService } from '../services/DatabaseToolService';
|
|
10
|
+
import { AISettingsService } from '../services/AISettingsService';
|
|
10
11
|
export declare class ChatController {
|
|
11
12
|
private chatManager;
|
|
12
13
|
private storage;
|
|
@@ -18,12 +19,14 @@ export declare class ChatController {
|
|
|
18
19
|
private responseStreamingService;
|
|
19
20
|
private validationService?;
|
|
20
21
|
private databaseToolService?;
|
|
22
|
+
private aiSettingsService?;
|
|
21
23
|
constructor(chatManager: ChatManager, storage: UnifiedStorage, supabase: SupabaseClient, options?: {
|
|
22
24
|
historyLength?: number;
|
|
23
25
|
intentService?: IntentService;
|
|
24
26
|
realtimePublisher?: RealtimePublisher;
|
|
25
27
|
validationService?: ValidationService;
|
|
26
28
|
databaseToolService?: DatabaseToolService;
|
|
29
|
+
aiSettingsService?: AISettingsService;
|
|
27
30
|
});
|
|
28
31
|
createConversation(req: AuthenticatedRequest, res: Response): Promise<void>;
|
|
29
32
|
createUserMessage(req: Request, res: Response): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatController.d.ts","sourceRoot":"","sources":["../../../src/controllers/ChatController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatController.d.ts","sourceRoot":"","sources":["../../../src/controllers/ChatController.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ class ChatController {
|
|
|
18
18
|
this.realtimePublisher = options.realtimePublisher;
|
|
19
19
|
this.validationService = options.validationService;
|
|
20
20
|
this.databaseToolService = options.databaseToolService;
|
|
21
|
+
this.aiSettingsService = options.aiSettingsService;
|
|
21
22
|
// Initialize services
|
|
22
23
|
const aiService = chatManager.aiService;
|
|
23
24
|
this.responseGenerationService = new ResponseGenerationService_1.ResponseGenerationService(this.intentService, aiService, this.chatHistoryLength, this.databaseToolService);
|
|
@@ -264,8 +265,59 @@ class ChatController {
|
|
|
264
265
|
}
|
|
265
266
|
// Set up Server-Sent Events (SSE) headers for streaming
|
|
266
267
|
this.responseStreamingService.setupSSEHeaders(res);
|
|
267
|
-
//
|
|
268
|
+
// Load and apply AI settings for this company before generating response
|
|
268
269
|
const companyId = conversation?.organizationId ? parseInt(String(conversation.organizationId), 10) : undefined;
|
|
270
|
+
// Try to get company UUID from profile or fetch from database using companyId
|
|
271
|
+
let companyUuid = req.profile?.companyUuid;
|
|
272
|
+
if (!companyUuid && companyId && this.aiSettingsService) {
|
|
273
|
+
// Fallback: fetch company UUID from database using companyId
|
|
274
|
+
try {
|
|
275
|
+
const { data: company } = await this.supabase
|
|
276
|
+
.from('vezlo_companies')
|
|
277
|
+
.select('uuid')
|
|
278
|
+
.eq('id', companyId)
|
|
279
|
+
.single();
|
|
280
|
+
if (company) {
|
|
281
|
+
companyUuid = company.uuid;
|
|
282
|
+
logger_1.default.info(`🔍 Fetched company UUID from database: ${companyUuid}`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
logger_1.default.warn('⚠️ Failed to fetch company UUID from database:', error);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
if (this.aiSettingsService && companyUuid) {
|
|
290
|
+
try {
|
|
291
|
+
logger_1.default.info(`🔍 Loading AI settings for company: ${companyUuid}`);
|
|
292
|
+
const aiSettings = await this.aiSettingsService.getSettingsByCompanyUuid(companyUuid);
|
|
293
|
+
logger_1.default.info(`📦 AI Settings loaded:`, {
|
|
294
|
+
model: aiSettings.model,
|
|
295
|
+
temperature: aiSettings.temperature,
|
|
296
|
+
max_tokens: aiSettings.max_tokens,
|
|
297
|
+
hasPrompts: !!aiSettings.prompts,
|
|
298
|
+
promptKeys: aiSettings.prompts ? Object.keys(aiSettings.prompts) : []
|
|
299
|
+
});
|
|
300
|
+
const aiService = this.responseGenerationService.getAIService();
|
|
301
|
+
if (aiService) {
|
|
302
|
+
aiService.setAISettings(aiSettings);
|
|
303
|
+
logger_1.default.info(`✅ AI settings applied to AIService for company: ${companyUuid}`);
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
logger_1.default.warn('⚠️ AIService not available in ResponseGenerationService');
|
|
307
|
+
}
|
|
308
|
+
// Also set ALL AI settings prompts in ResponseGenerationService for intent classification
|
|
309
|
+
if (aiSettings.prompts) {
|
|
310
|
+
this.responseGenerationService.setAISettingsPrompts(aiSettings.prompts);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
catch (error) {
|
|
314
|
+
logger_1.default.warn('⚠️ Failed to load AI settings, using defaults:', error);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
logger_1.default.warn(`⚠️ Cannot load AI settings: aiSettingsService=${!!this.aiSettingsService}, companyUuid=${companyUuid}, companyId=${companyId}`);
|
|
319
|
+
}
|
|
320
|
+
// Run intent classification to decide handling strategy (with dynamic tools)
|
|
269
321
|
const intentResult = await this.responseGenerationService.classifyIntent(userMessageContent, messages, companyId);
|
|
270
322
|
const intentResponse = this.responseGenerationService.handleIntentResult(intentResult, userMessageContent);
|
|
271
323
|
let accumulatedContent = '';
|
|
@@ -298,9 +350,13 @@ class ChatController {
|
|
|
298
350
|
if (!aiService) {
|
|
299
351
|
throw new Error('AI service not available');
|
|
300
352
|
}
|
|
353
|
+
// Get AI settings from the AI service (model, temperature)
|
|
354
|
+
const aiSettings = aiService.aiSettings;
|
|
355
|
+
const modelToUse = aiSettings?.model || process.env.AI_MODEL || 'gpt-4o-mini';
|
|
356
|
+
const temperature = aiSettings?.temperature ?? parseFloat(process.env.AI_TEMPERATURE || '0.7');
|
|
357
|
+
const maxTokens = parseInt(process.env.AI_MAX_TOKENS || '500', 10);
|
|
301
358
|
// Direct OpenAI call bypassing the restrictive system prompt
|
|
302
359
|
const openai = aiService.openai;
|
|
303
|
-
const modelToUse = process.env.AI_MODEL || 'gpt-4o-mini';
|
|
304
360
|
const completion = await openai.chat.completions.create({
|
|
305
361
|
model: modelToUse,
|
|
306
362
|
messages: [
|
|
@@ -318,8 +374,8 @@ ${JSON.stringify(toolResult.data || toolResult, null, 2)}
|
|
|
318
374
|
Provide a natural, friendly response to the user's question using this data.`
|
|
319
375
|
}
|
|
320
376
|
],
|
|
321
|
-
temperature
|
|
322
|
-
max_tokens:
|
|
377
|
+
temperature,
|
|
378
|
+
max_tokens: maxTokens
|
|
323
379
|
});
|
|
324
380
|
const formattedContent = completion.choices[0]?.message?.content || 'Here is your information.';
|
|
325
381
|
logger_1.default.info('📤 Streaming database tool response');
|
|
@@ -522,7 +578,8 @@ Provide a natural, friendly response to the user's question using this data.`
|
|
|
522
578
|
content: msg.content,
|
|
523
579
|
status: 'completed',
|
|
524
580
|
created_at: toIso(msg.createdAt),
|
|
525
|
-
author_id: msg.authorId ?? null
|
|
581
|
+
author_id: msg.authorId ?? null,
|
|
582
|
+
author_name: msg.authorName ?? null
|
|
526
583
|
})),
|
|
527
584
|
pagination: {
|
|
528
585
|
page,
|
|
@@ -594,6 +651,7 @@ Provide a natural, friendly response to the user's question using this data.`
|
|
|
594
651
|
content: systemMessage.content,
|
|
595
652
|
type: systemMessage.role,
|
|
596
653
|
author_id: systemMessage.authorId,
|
|
654
|
+
author_name: req.user.name || null,
|
|
597
655
|
created_at: systemMessage.createdAt.toISOString()
|
|
598
656
|
},
|
|
599
657
|
conversation_update: {
|
|
@@ -679,6 +737,7 @@ Provide a natural, friendly response to the user's question using this data.`
|
|
|
679
737
|
content: systemMessage.content,
|
|
680
738
|
type: systemMessage.role,
|
|
681
739
|
author_id: systemMessage.authorId,
|
|
740
|
+
author_name: req.user.name || null,
|
|
682
741
|
created_at: systemMessage.createdAt.toISOString()
|
|
683
742
|
},
|
|
684
743
|
conversation_update: {
|
|
@@ -702,6 +761,7 @@ Provide a natural, friendly response to the user's question using this data.`
|
|
|
702
761
|
content: systemMessage.content,
|
|
703
762
|
type: systemMessage.role,
|
|
704
763
|
author_id: systemMessage.authorId,
|
|
764
|
+
author_name: req.user.name || null,
|
|
705
765
|
created_at: systemMessage.createdAt.toISOString()
|
|
706
766
|
}
|
|
707
767
|
});
|
|
@@ -832,6 +892,7 @@ Provide a natural, friendly response to the user's question using this data.`
|
|
|
832
892
|
content: agentMessage.content,
|
|
833
893
|
type: agentMessage.role,
|
|
834
894
|
author_id: agentMessage.authorId,
|
|
895
|
+
author_name: req.user.name || null,
|
|
835
896
|
created_at: agentMessage.createdAt.toISOString()
|
|
836
897
|
},
|
|
837
898
|
conversation_update: {
|
|
@@ -850,6 +911,7 @@ Provide a natural, friendly response to the user's question using this data.`
|
|
|
850
911
|
content: agentMessage.content,
|
|
851
912
|
type: agentMessage.role,
|
|
852
913
|
author_id: agentMessage.authorId,
|
|
914
|
+
author_name: req.user.name || null,
|
|
853
915
|
created_at: agentMessage.createdAt.toISOString()
|
|
854
916
|
});
|
|
855
917
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatController.js","sourceRoot":"","sources":["../../../src/controllers/ChatController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatController.js","sourceRoot":"","sources":["../../../src/controllers/ChatController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import { SupabaseClient } from '@supabase/supabase-js';
|
|
3
|
+
export declare class GenerateKeyController {
|
|
4
|
+
private supabase;
|
|
5
|
+
constructor(supabase: SupabaseClient);
|
|
6
|
+
/**
|
|
7
|
+
* Generate API key endpoint
|
|
8
|
+
* Supports two authentication methods:
|
|
9
|
+
* 1. Bearer token: For authenticated admin users, generates key for their company
|
|
10
|
+
* 2. Migration key: For Vercel deployments, generates key for default admin's company
|
|
11
|
+
*/
|
|
12
|
+
generateKey(req: Request, res: Response): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Handle Bearer token authentication and generate key for user's company
|
|
15
|
+
*/
|
|
16
|
+
private handleBearerTokenAuth;
|
|
17
|
+
/**
|
|
18
|
+
* Handle migration key authentication and generate key for default admin's company
|
|
19
|
+
*/
|
|
20
|
+
private handleMigrationKeyAuth;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=GenerateKeyController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenerateKeyController.d.ts","sourceRoot":"","sources":["../../../src/controllers/GenerateKeyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOvD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAiB;gBAErB,QAAQ,EAAE,cAAc;IAIpC;;;;;OAKG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7D;;OAEG;YACW,qBAAqB;IA4DnC;;OAEG;YACW,sBAAsB;CAqBrC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GenerateKeyController = void 0;
|
|
7
|
+
const logger_1 = __importDefault(require("../config/logger"));
|
|
8
|
+
const SetupService_1 = require("../services/SetupService");
|
|
9
|
+
const ApiKeyService_1 = require("../services/ApiKeyService");
|
|
10
|
+
const MigrationService_1 = require("../services/MigrationService");
|
|
11
|
+
const auth_1 = require("../middleware/auth");
|
|
12
|
+
class GenerateKeyController {
|
|
13
|
+
constructor(supabase) {
|
|
14
|
+
this.supabase = supabase;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generate API key endpoint
|
|
18
|
+
* Supports two authentication methods:
|
|
19
|
+
* 1. Bearer token: For authenticated admin users, generates key for their company
|
|
20
|
+
* 2. Migration key: For Vercel deployments, generates key for default admin's company
|
|
21
|
+
*/
|
|
22
|
+
async generateKey(req, res) {
|
|
23
|
+
try {
|
|
24
|
+
const authHeader = req.headers.authorization;
|
|
25
|
+
const migrationKey = req.query.key || undefined;
|
|
26
|
+
// Check for Bearer token first (frontend/admin access)
|
|
27
|
+
if (authHeader && authHeader.startsWith('Bearer ')) {
|
|
28
|
+
await this.handleBearerTokenAuth(req, res, authHeader);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// Fallback to migration key (Vercel deployment)
|
|
32
|
+
if (!migrationKey) {
|
|
33
|
+
res.status(401).json({
|
|
34
|
+
success: false,
|
|
35
|
+
message: 'No authentication provided',
|
|
36
|
+
error: 'UNAUTHORIZED'
|
|
37
|
+
});
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
await this.handleMigrationKeyAuth(req, res, migrationKey);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
logger_1.default.error('Generate key failed:', error);
|
|
44
|
+
res.status(500).json({
|
|
45
|
+
success: false,
|
|
46
|
+
message: 'Failed to generate API key',
|
|
47
|
+
error: error.message || 'GENERATE_KEY_FAILED',
|
|
48
|
+
details: {
|
|
49
|
+
error: error.message
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Handle Bearer token authentication and generate key for user's company
|
|
56
|
+
*/
|
|
57
|
+
async handleBearerTokenAuth(req, res, authHeader) {
|
|
58
|
+
const token = authHeader.substring(7);
|
|
59
|
+
const decoded = auth_1.JWTUtils.verifyToken(token);
|
|
60
|
+
const { data: user } = await this.supabase
|
|
61
|
+
.from('vezlo_users')
|
|
62
|
+
.select('*')
|
|
63
|
+
.eq('id', decoded.user_id)
|
|
64
|
+
.single();
|
|
65
|
+
if (!user || user.token_updated_at !== decoded.user_token_updated_at) {
|
|
66
|
+
res.status(401).json({
|
|
67
|
+
success: false,
|
|
68
|
+
message: 'Invalid or expired token',
|
|
69
|
+
error: 'UNAUTHORIZED'
|
|
70
|
+
});
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const { data: profile } = await this.supabase
|
|
74
|
+
.from('vezlo_user_company_profiles')
|
|
75
|
+
.select(`
|
|
76
|
+
role,
|
|
77
|
+
company_id,
|
|
78
|
+
companies:company_id(
|
|
79
|
+
id,
|
|
80
|
+
name
|
|
81
|
+
)
|
|
82
|
+
`)
|
|
83
|
+
.eq('user_id', user.id)
|
|
84
|
+
.eq('id', decoded.user_company_profile_id)
|
|
85
|
+
.single();
|
|
86
|
+
if (!profile || profile.role !== 'admin') {
|
|
87
|
+
res.status(403).json({
|
|
88
|
+
success: false,
|
|
89
|
+
message: 'Only admin users can generate API keys',
|
|
90
|
+
error: 'FORBIDDEN'
|
|
91
|
+
});
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const companyId = parseInt(profile.company_id);
|
|
95
|
+
const apiKeyService = new ApiKeyService_1.ApiKeyService(this.supabase);
|
|
96
|
+
const result = await apiKeyService.generateApiKey(companyId);
|
|
97
|
+
const companyName = profile.companies?.name || 'Unknown Company';
|
|
98
|
+
res.status(200).json({
|
|
99
|
+
success: true,
|
|
100
|
+
message: 'API key generated successfully',
|
|
101
|
+
api_key_details: {
|
|
102
|
+
uuid: result.uuid,
|
|
103
|
+
company_name: companyName,
|
|
104
|
+
user_name: user.name,
|
|
105
|
+
api_key: result.apiKey
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Handle migration key authentication and generate key for default admin's company
|
|
111
|
+
*/
|
|
112
|
+
async handleMigrationKeyAuth(req, res, migrationKey) {
|
|
113
|
+
const keyValid = MigrationService_1.MigrationService.validateApiKey(migrationKey);
|
|
114
|
+
if (!keyValid) {
|
|
115
|
+
res.status(401).json({
|
|
116
|
+
success: false,
|
|
117
|
+
message: 'Invalid or missing migration API key',
|
|
118
|
+
error: 'UNAUTHORIZED'
|
|
119
|
+
});
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const setupService = new SetupService_1.SetupService(this.supabase);
|
|
123
|
+
const response = await setupService.executeGenerateKey();
|
|
124
|
+
res.status(200).json({
|
|
125
|
+
success: true,
|
|
126
|
+
message: 'API key generated successfully',
|
|
127
|
+
api_key_details: response
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.GenerateKeyController = GenerateKeyController;
|
|
132
|
+
//# sourceMappingURL=GenerateKeyController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenerateKeyController.js","sourceRoot":"","sources":["../../../src/controllers/GenerateKeyController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { SupabaseClient } from '@supabase/supabase-js';
|
|
3
|
+
import { TeamService } from '../services/TeamService';
|
|
4
|
+
import { AuthenticatedRequest } from '../middleware/auth';
|
|
5
|
+
export declare class TeamController {
|
|
6
|
+
private teamService;
|
|
7
|
+
private supabase;
|
|
8
|
+
constructor(teamService: TeamService, supabase: SupabaseClient);
|
|
9
|
+
/**
|
|
10
|
+
* Create a new team member
|
|
11
|
+
* POST /api/companies/:companyUuid/team
|
|
12
|
+
*/
|
|
13
|
+
createTeamMember(req: AuthenticatedRequest, res: Response): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Get team members
|
|
16
|
+
* GET /api/companies/:companyUuid/team
|
|
17
|
+
*/
|
|
18
|
+
getTeamMembers(req: AuthenticatedRequest, res: Response): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Update team member
|
|
21
|
+
* PUT /api/companies/:companyUuid/team/:userUuid
|
|
22
|
+
*/
|
|
23
|
+
updateTeamMember(req: AuthenticatedRequest, res: Response): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Delete team member
|
|
26
|
+
* DELETE /api/companies/:companyUuid/team/:userUuid
|
|
27
|
+
*/
|
|
28
|
+
deleteTeamMember(req: AuthenticatedRequest, res: Response): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=TeamController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamController.d.ts","sourceRoot":"","sources":["../../../src/controllers/TeamController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAA0D,MAAM,yBAAyB,CAAC;AAE9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAiB;gBAErB,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc;IAK9D;;;OAGG;IACG,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD/E;;;OAGG;IACG,cAAc,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC7E;;;OAGG;IACG,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4E/E;;;OAGG;IACG,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA8BhF"}
|