eggi-ai-db-schema-2 0.1.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.
Files changed (188) hide show
  1. package/CHANGELOG.md +750 -0
  2. package/README.md +660 -0
  3. package/dist/config/database.d.ts +28 -0
  4. package/dist/config/database.d.ts.map +1 -0
  5. package/dist/config/database.js +72 -0
  6. package/dist/config/database.js.map +1 -0
  7. package/dist/index.d.ts +28 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +199 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/lib/database-service.d.ts +714 -0
  12. package/dist/lib/database-service.d.ts.map +1 -0
  13. package/dist/lib/database-service.js +1394 -0
  14. package/dist/lib/database-service.js.map +1 -0
  15. package/dist/lib/db-types.d.ts +167 -0
  16. package/dist/lib/db-types.d.ts.map +1 -0
  17. package/dist/lib/db-types.js +28 -0
  18. package/dist/lib/db-types.js.map +1 -0
  19. package/dist/lib/db.d.ts +58 -0
  20. package/dist/lib/db.d.ts.map +1 -0
  21. package/dist/lib/db.js +292 -0
  22. package/dist/lib/db.js.map +1 -0
  23. package/dist/lib/index.d.ts +11 -0
  24. package/dist/lib/index.d.ts.map +1 -0
  25. package/dist/lib/index.js +26 -0
  26. package/dist/lib/index.js.map +1 -0
  27. package/dist/lib/pg-client.d.ts +50 -0
  28. package/dist/lib/pg-client.d.ts.map +1 -0
  29. package/dist/lib/pg-client.js +106 -0
  30. package/dist/lib/pg-client.js.map +1 -0
  31. package/dist/lib/schema.d.ts +298 -0
  32. package/dist/lib/schema.d.ts.map +1 -0
  33. package/dist/lib/schema.js +12 -0
  34. package/dist/lib/schema.js.map +1 -0
  35. package/dist/migration-manager.d.ts +49 -0
  36. package/dist/migration-manager.d.ts.map +1 -0
  37. package/dist/migration-manager.js +282 -0
  38. package/dist/migration-manager.js.map +1 -0
  39. package/dist/queries/minimal-connections.d.ts +31 -0
  40. package/dist/queries/minimal-connections.d.ts.map +1 -0
  41. package/dist/queries/minimal-connections.js +143 -0
  42. package/dist/queries/minimal-connections.js.map +1 -0
  43. package/dist/schema.ts +340 -0
  44. package/dist/seed.d.ts +8 -0
  45. package/dist/seed.d.ts.map +1 -0
  46. package/dist/seed.js +40 -0
  47. package/dist/seed.js.map +1 -0
  48. package/dist/types/index.d.ts +7 -0
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/types/index.js +23 -0
  51. package/dist/types/index.js.map +1 -0
  52. package/dist/types/types.d.ts +77 -0
  53. package/dist/types/types.d.ts.map +1 -0
  54. package/dist/types/types.js +3 -0
  55. package/dist/types/types.js.map +1 -0
  56. package/dist/utils/authenticated-user-operations.d.ts +110 -0
  57. package/dist/utils/authenticated-user-operations.d.ts.map +1 -0
  58. package/dist/utils/authenticated-user-operations.js +292 -0
  59. package/dist/utils/authenticated-user-operations.js.map +1 -0
  60. package/dist/utils/authentication-operations.d.ts +48 -0
  61. package/dist/utils/authentication-operations.d.ts.map +1 -0
  62. package/dist/utils/authentication-operations.js +172 -0
  63. package/dist/utils/authentication-operations.js.map +1 -0
  64. package/dist/utils/company-mapping-job-operations.d.ts +103 -0
  65. package/dist/utils/company-mapping-job-operations.d.ts.map +1 -0
  66. package/dist/utils/company-mapping-job-operations.js +413 -0
  67. package/dist/utils/company-mapping-job-operations.js.map +1 -0
  68. package/dist/utils/company-sheet-upload-operations.d.ts +53 -0
  69. package/dist/utils/company-sheet-upload-operations.d.ts.map +1 -0
  70. package/dist/utils/company-sheet-upload-operations.js +135 -0
  71. package/dist/utils/company-sheet-upload-operations.js.map +1 -0
  72. package/dist/utils/contact-operations.d.ts +70 -0
  73. package/dist/utils/contact-operations.d.ts.map +1 -0
  74. package/dist/utils/contact-operations.js +294 -0
  75. package/dist/utils/contact-operations.js.map +1 -0
  76. package/dist/utils/forager-linkedin-operations.d.ts +74 -0
  77. package/dist/utils/forager-linkedin-operations.d.ts.map +1 -0
  78. package/dist/utils/forager-linkedin-operations.js +778 -0
  79. package/dist/utils/forager-linkedin-operations.js.map +1 -0
  80. package/dist/utils/ghost-genius-linkedin-operations.d.ts +23 -0
  81. package/dist/utils/ghost-genius-linkedin-operations.d.ts.map +1 -0
  82. package/dist/utils/ghost-genius-linkedin-operations.js +282 -0
  83. package/dist/utils/ghost-genius-linkedin-operations.js.map +1 -0
  84. package/dist/utils/index.d.ts +29 -0
  85. package/dist/utils/index.d.ts.map +1 -0
  86. package/dist/utils/index.js +77 -0
  87. package/dist/utils/index.js.map +1 -0
  88. package/dist/utils/introduction-request-operations.d.ts +160 -0
  89. package/dist/utils/introduction-request-operations.d.ts.map +1 -0
  90. package/dist/utils/introduction-request-operations.js +492 -0
  91. package/dist/utils/introduction-request-operations.js.map +1 -0
  92. package/dist/utils/invitation-operations.d.ts +141 -0
  93. package/dist/utils/invitation-operations.d.ts.map +1 -0
  94. package/dist/utils/invitation-operations.js +749 -0
  95. package/dist/utils/invitation-operations.js.map +1 -0
  96. package/dist/utils/linkedin-account-operations.d.ts +45 -0
  97. package/dist/utils/linkedin-account-operations.d.ts.map +1 -0
  98. package/dist/utils/linkedin-account-operations.js +279 -0
  99. package/dist/utils/linkedin-account-operations.js.map +1 -0
  100. package/dist/utils/linkedin-account-relationship-operations.d.ts +77 -0
  101. package/dist/utils/linkedin-account-relationship-operations.d.ts.map +1 -0
  102. package/dist/utils/linkedin-account-relationship-operations.js +274 -0
  103. package/dist/utils/linkedin-account-relationship-operations.js.map +1 -0
  104. package/dist/utils/linkedin-data-operations.d.ts +102 -0
  105. package/dist/utils/linkedin-data-operations.d.ts.map +1 -0
  106. package/dist/utils/linkedin-data-operations.js +613 -0
  107. package/dist/utils/linkedin-data-operations.js.map +1 -0
  108. package/dist/utils/linkedin-identifier-utils.d.ts +31 -0
  109. package/dist/utils/linkedin-identifier-utils.d.ts.map +1 -0
  110. package/dist/utils/linkedin-identifier-utils.js +63 -0
  111. package/dist/utils/linkedin-identifier-utils.js.map +1 -0
  112. package/dist/utils/linkedin-profile-cache.d.ts +131 -0
  113. package/dist/utils/linkedin-profile-cache.d.ts.map +1 -0
  114. package/dist/utils/linkedin-profile-cache.js +418 -0
  115. package/dist/utils/linkedin-profile-cache.js.map +1 -0
  116. package/dist/utils/llm-inference-job-operations.d.ts +116 -0
  117. package/dist/utils/llm-inference-job-operations.d.ts.map +1 -0
  118. package/dist/utils/llm-inference-job-operations.js +267 -0
  119. package/dist/utils/llm-inference-job-operations.js.map +1 -0
  120. package/dist/utils/mapping-job-operations.d.ts +272 -0
  121. package/dist/utils/mapping-job-operations.d.ts.map +1 -0
  122. package/dist/utils/mapping-job-operations.js +833 -0
  123. package/dist/utils/mapping-job-operations.js.map +1 -0
  124. package/dist/utils/mapping-operations.d.ts +80 -0
  125. package/dist/utils/mapping-operations.d.ts.map +1 -0
  126. package/dist/utils/mapping-operations.js +318 -0
  127. package/dist/utils/mapping-operations.js.map +1 -0
  128. package/dist/utils/on-demand-mapping-operations.d.ts +199 -0
  129. package/dist/utils/on-demand-mapping-operations.d.ts.map +1 -0
  130. package/dist/utils/on-demand-mapping-operations.js +728 -0
  131. package/dist/utils/on-demand-mapping-operations.js.map +1 -0
  132. package/dist/utils/onboarding-operations.d.ts +53 -0
  133. package/dist/utils/onboarding-operations.d.ts.map +1 -0
  134. package/dist/utils/onboarding-operations.js +223 -0
  135. package/dist/utils/onboarding-operations.js.map +1 -0
  136. package/dist/utils/organization-assignment-job-operations.d.ts +258 -0
  137. package/dist/utils/organization-assignment-job-operations.d.ts.map +1 -0
  138. package/dist/utils/organization-assignment-job-operations.js +881 -0
  139. package/dist/utils/organization-assignment-job-operations.js.map +1 -0
  140. package/dist/utils/organization-assignment-operations.d.ts +59 -0
  141. package/dist/utils/organization-assignment-operations.d.ts.map +1 -0
  142. package/dist/utils/organization-assignment-operations.js +130 -0
  143. package/dist/utils/organization-assignment-operations.js.map +1 -0
  144. package/dist/utils/organization-operations.d.ts +284 -0
  145. package/dist/utils/organization-operations.d.ts.map +1 -0
  146. package/dist/utils/organization-operations.js +1030 -0
  147. package/dist/utils/organization-operations.js.map +1 -0
  148. package/dist/utils/organization-relationship-operations.d.ts +79 -0
  149. package/dist/utils/organization-relationship-operations.d.ts.map +1 -0
  150. package/dist/utils/organization-relationship-operations.js +294 -0
  151. package/dist/utils/organization-relationship-operations.js.map +1 -0
  152. package/dist/utils/quota-operations.d.ts +107 -0
  153. package/dist/utils/quota-operations.d.ts.map +1 -0
  154. package/dist/utils/quota-operations.js +692 -0
  155. package/dist/utils/quota-operations.js.map +1 -0
  156. package/dist/utils/recursive-mapping-job-operations.d.ts +42 -0
  157. package/dist/utils/recursive-mapping-job-operations.d.ts.map +1 -0
  158. package/dist/utils/recursive-mapping-job-operations.js +169 -0
  159. package/dist/utils/recursive-mapping-job-operations.js.map +1 -0
  160. package/dist/utils/relationship-operations.d.ts +130 -0
  161. package/dist/utils/relationship-operations.d.ts.map +1 -0
  162. package/dist/utils/relationship-operations.js +329 -0
  163. package/dist/utils/relationship-operations.js.map +1 -0
  164. package/dist/utils/sales-pipeline-operations.d.ts +163 -0
  165. package/dist/utils/sales-pipeline-operations.d.ts.map +1 -0
  166. package/dist/utils/sales-pipeline-operations.js +725 -0
  167. package/dist/utils/sales-pipeline-operations.js.map +1 -0
  168. package/dist/utils/skills-operations.d.ts +117 -0
  169. package/dist/utils/skills-operations.d.ts.map +1 -0
  170. package/dist/utils/skills-operations.js +487 -0
  171. package/dist/utils/skills-operations.js.map +1 -0
  172. package/dist/utils/subscription-operations.d.ts +123 -0
  173. package/dist/utils/subscription-operations.d.ts.map +1 -0
  174. package/dist/utils/subscription-operations.js +391 -0
  175. package/dist/utils/subscription-operations.js.map +1 -0
  176. package/dist/utils/unipile-account-operations.d.ts +96 -0
  177. package/dist/utils/unipile-account-operations.d.ts.map +1 -0
  178. package/dist/utils/unipile-account-operations.js +255 -0
  179. package/dist/utils/unipile-account-operations.js.map +1 -0
  180. package/dist/utils/user-industry-operations.d.ts +80 -0
  181. package/dist/utils/user-industry-operations.d.ts.map +1 -0
  182. package/dist/utils/user-industry-operations.js +237 -0
  183. package/dist/utils/user-industry-operations.js.map +1 -0
  184. package/dist/utils/user-operations.d.ts +87 -0
  185. package/dist/utils/user-operations.d.ts.map +1 -0
  186. package/dist/utils/user-operations.js +212 -0
  187. package/dist/utils/user-operations.js.map +1 -0
  188. package/package.json +98 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-demand-mapping-operations.js","sourceRoot":"","sources":["../../src/utils/on-demand-mapping-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Onboarding Operations
3
+ *
4
+ * Database operations for managing user onboarding progress
5
+ */
6
+ import { Pool, PoolClient } from 'pg';
7
+ import type { DatabaseOrTransaction } from "../lib/db";
8
+ export interface CreateOnboardingJobData {
9
+ userId: number;
10
+ currentStep: string;
11
+ nextStep?: string;
12
+ metadata?: Record<string, any>;
13
+ }
14
+ export interface OnboardingJobResult {
15
+ id: number;
16
+ userId: number;
17
+ currentStep: string;
18
+ nextStep: string | null;
19
+ createdAt: Date;
20
+ updatedAt: Date;
21
+ completedAt: Date | null;
22
+ metadata: Record<string, any>;
23
+ }
24
+ /**
25
+ * Create a new onboarding job for a user
26
+ */
27
+ export declare function createOnboardingJob(db: DatabaseOrTransaction | Pool | PoolClient, data: CreateOnboardingJobData): Promise<OnboardingJobResult>;
28
+ /**
29
+ * Update an onboarding job's current step and next step
30
+ */
31
+ export declare function updateOnboardingJobStep(db: DatabaseOrTransaction | Pool | PoolClient, onboardingJobId: number, currentStep: string, nextStep?: string, metadata?: Record<string, any>): Promise<OnboardingJobResult>;
32
+ /**
33
+ * Update an onboarding job with flexible parameters
34
+ */
35
+ export declare function updateOnboardingJob(db: DatabaseOrTransaction | Pool | PoolClient, onboardingJobId: number, updates: {
36
+ currentStep?: string;
37
+ nextStep?: string | null;
38
+ completedAt?: Date | null;
39
+ metadata?: Record<string, any>;
40
+ }): Promise<OnboardingJobResult>;
41
+ /**
42
+ * Mark an onboarding job as completed
43
+ */
44
+ export declare function completeOnboardingJob(db: DatabaseOrTransaction | Pool | PoolClient, onboardingJobId: number, completionMetadata?: Record<string, any>): Promise<OnboardingJobResult>;
45
+ /**
46
+ * Get an onboarding job by user ID
47
+ */
48
+ export declare function getOnboardingJobByUserId(db: DatabaseOrTransaction | Pool | PoolClient, userId: number): Promise<OnboardingJobResult | null>;
49
+ /**
50
+ * Get an onboarding job by ID
51
+ */
52
+ export declare function getOnboardingJobById(db: DatabaseOrTransaction | Pool | PoolClient, onboardingJobId: number): Promise<OnboardingJobResult | null>;
53
+ //# sourceMappingURL=onboarding-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-operations.d.ts","sourceRoot":"","sources":["../../src/utils/onboarding-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,qBAAqB,GAAG,IAAI,GAAG,UAAU,EAC7C,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAoC9B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,qBAAqB,GAAG,IAAI,GAAG,UAAU,EAC7C,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAiD9B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,qBAAqB,GAAG,IAAI,GAAG,UAAU,EAC7C,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC,GACA,OAAO,CAAC,mBAAmB,CAAC,CA0D9B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,qBAAqB,GAAG,IAAI,GAAG,UAAU,EAC7C,eAAe,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACvC,OAAO,CAAC,mBAAmB,CAAC,CAwD9B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,qBAAqB,GAAG,IAAI,GAAG,UAAU,EAC7C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiCrC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,qBAAqB,GAAG,IAAI,GAAG,UAAU,EAC7C,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiCrC"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ /**
3
+ * Onboarding Operations
4
+ *
5
+ * Database operations for managing user onboarding progress
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.createOnboardingJob = createOnboardingJob;
9
+ exports.updateOnboardingJobStep = updateOnboardingJobStep;
10
+ exports.updateOnboardingJob = updateOnboardingJob;
11
+ exports.completeOnboardingJob = completeOnboardingJob;
12
+ exports.getOnboardingJobByUserId = getOnboardingJobByUserId;
13
+ exports.getOnboardingJobById = getOnboardingJobById;
14
+ const pg_client_1 = require("../lib/pg-client");
15
+ /**
16
+ * Create a new onboarding job for a user
17
+ */
18
+ async function createOnboardingJob(db, data) {
19
+ const sql = `
20
+ INSERT INTO monitoring.onboarding_jobs (user_id, current_step, next_step, metadata, created_at, updated_at)
21
+ VALUES ($1, $2, $3, $4, NOW(), NOW())
22
+ RETURNING id, user_id, current_step, next_step, metadata, created_at, updated_at, completed_at
23
+ `;
24
+ const onboardingJob = await (0, pg_client_1.queryOne)(db, sql, [data.userId, data.currentStep, data.nextStep || null, JSON.stringify(data.metadata || {})]);
25
+ if (!onboardingJob) {
26
+ throw new Error("Failed to create onboarding job");
27
+ }
28
+ return {
29
+ id: onboardingJob.id,
30
+ userId: onboardingJob.user_id,
31
+ currentStep: onboardingJob.current_step,
32
+ nextStep: onboardingJob.next_step,
33
+ createdAt: onboardingJob.created_at,
34
+ updatedAt: onboardingJob.updated_at,
35
+ completedAt: onboardingJob.completed_at,
36
+ metadata: onboardingJob.metadata,
37
+ };
38
+ }
39
+ /**
40
+ * Update an onboarding job's current step and next step
41
+ */
42
+ async function updateOnboardingJobStep(db, onboardingJobId, currentStep, nextStep, metadata) {
43
+ const updates = ['current_step = $2', 'updated_at = NOW()'];
44
+ const params = [onboardingJobId, currentStep];
45
+ let paramIndex = 3;
46
+ if (nextStep !== undefined) {
47
+ updates.push(`next_step = $${paramIndex}`);
48
+ params.push(nextStep);
49
+ paramIndex++;
50
+ }
51
+ if (metadata !== undefined) {
52
+ updates.push(`metadata = $${paramIndex}`);
53
+ params.push(JSON.stringify(metadata));
54
+ paramIndex++;
55
+ }
56
+ const sql = `
57
+ UPDATE monitoring.onboarding_jobs
58
+ SET ${updates.join(', ')}
59
+ WHERE id = $1
60
+ RETURNING id, user_id, current_step, next_step, metadata, created_at, updated_at, completed_at
61
+ `;
62
+ const onboardingJob = await (0, pg_client_1.queryOne)(db, sql, params);
63
+ if (!onboardingJob) {
64
+ throw new Error("Failed to update onboarding job");
65
+ }
66
+ return {
67
+ id: onboardingJob.id,
68
+ userId: onboardingJob.user_id,
69
+ currentStep: onboardingJob.current_step,
70
+ nextStep: onboardingJob.next_step,
71
+ createdAt: onboardingJob.created_at,
72
+ updatedAt: onboardingJob.updated_at,
73
+ completedAt: onboardingJob.completed_at,
74
+ metadata: onboardingJob.metadata,
75
+ };
76
+ }
77
+ /**
78
+ * Update an onboarding job with flexible parameters
79
+ */
80
+ async function updateOnboardingJob(db, onboardingJobId, updates) {
81
+ const updateFields = ['updated_at = NOW()'];
82
+ const params = [onboardingJobId];
83
+ let paramIndex = 2;
84
+ if (updates.currentStep !== undefined) {
85
+ updateFields.push(`current_step = $${paramIndex}`);
86
+ params.push(updates.currentStep);
87
+ paramIndex++;
88
+ }
89
+ if (updates.nextStep !== undefined) {
90
+ updateFields.push(`next_step = $${paramIndex}`);
91
+ params.push(updates.nextStep);
92
+ paramIndex++;
93
+ }
94
+ if (updates.completedAt !== undefined) {
95
+ updateFields.push(`completed_at = $${paramIndex}`);
96
+ params.push(updates.completedAt);
97
+ paramIndex++;
98
+ }
99
+ if (updates.metadata !== undefined) {
100
+ updateFields.push(`metadata = $${paramIndex}`);
101
+ params.push(JSON.stringify(updates.metadata));
102
+ paramIndex++;
103
+ }
104
+ const sql = `
105
+ UPDATE monitoring.onboarding_jobs
106
+ SET ${updateFields.join(', ')}
107
+ WHERE id = $1
108
+ RETURNING id, user_id, current_step, next_step, metadata, created_at, updated_at, completed_at
109
+ `;
110
+ const onboardingJob = await (0, pg_client_1.queryOne)(db, sql, params);
111
+ if (!onboardingJob) {
112
+ throw new Error(`Onboarding job not found: ${onboardingJobId}`);
113
+ }
114
+ return {
115
+ id: onboardingJob.id,
116
+ userId: onboardingJob.user_id,
117
+ currentStep: onboardingJob.current_step,
118
+ nextStep: onboardingJob.next_step,
119
+ createdAt: onboardingJob.created_at,
120
+ updatedAt: onboardingJob.updated_at,
121
+ completedAt: onboardingJob.completed_at,
122
+ metadata: onboardingJob.metadata,
123
+ };
124
+ }
125
+ /**
126
+ * Mark an onboarding job as completed
127
+ */
128
+ async function completeOnboardingJob(db, onboardingJobId, completionMetadata) {
129
+ let sql;
130
+ let params;
131
+ if (completionMetadata !== undefined) {
132
+ sql = `
133
+ UPDATE monitoring.onboarding_jobs
134
+ SET
135
+ current_step = 'ONBOARDING_COMPLETED',
136
+ next_step = NULL,
137
+ completed_at = NOW(),
138
+ updated_at = NOW(),
139
+ metadata = $2
140
+ WHERE id = $1
141
+ RETURNING id, user_id, current_step, next_step, metadata, created_at, updated_at, completed_at
142
+ `;
143
+ params = [onboardingJobId, JSON.stringify(completionMetadata)];
144
+ }
145
+ else {
146
+ sql = `
147
+ UPDATE monitoring.onboarding_jobs
148
+ SET
149
+ current_step = 'ONBOARDING_COMPLETED',
150
+ next_step = NULL,
151
+ completed_at = NOW(),
152
+ updated_at = NOW()
153
+ WHERE id = $1
154
+ RETURNING id, user_id, current_step, next_step, metadata, created_at, updated_at, completed_at
155
+ `;
156
+ params = [onboardingJobId];
157
+ }
158
+ const onboardingJob = await (0, pg_client_1.queryOne)(db, sql, params);
159
+ if (!onboardingJob) {
160
+ throw new Error("Failed to update onboarding job");
161
+ }
162
+ return {
163
+ id: onboardingJob.id,
164
+ userId: onboardingJob.user_id,
165
+ currentStep: onboardingJob.current_step,
166
+ nextStep: onboardingJob.next_step,
167
+ createdAt: onboardingJob.created_at,
168
+ updatedAt: onboardingJob.updated_at,
169
+ completedAt: onboardingJob.completed_at,
170
+ metadata: onboardingJob.metadata,
171
+ };
172
+ }
173
+ /**
174
+ * Get an onboarding job by user ID
175
+ */
176
+ async function getOnboardingJobByUserId(db, userId) {
177
+ const sql = `
178
+ SELECT id, user_id, current_step, next_step, metadata, created_at, updated_at, completed_at
179
+ FROM monitoring.onboarding_jobs
180
+ WHERE user_id = $1
181
+ LIMIT 1
182
+ `;
183
+ const onboardingJob = await (0, pg_client_1.queryOne)(db, sql, [userId]);
184
+ if (!onboardingJob) {
185
+ return null;
186
+ }
187
+ return {
188
+ id: onboardingJob.id,
189
+ userId: onboardingJob.user_id,
190
+ currentStep: onboardingJob.current_step,
191
+ nextStep: onboardingJob.next_step,
192
+ createdAt: onboardingJob.created_at,
193
+ updatedAt: onboardingJob.updated_at,
194
+ completedAt: onboardingJob.completed_at,
195
+ metadata: onboardingJob.metadata,
196
+ };
197
+ }
198
+ /**
199
+ * Get an onboarding job by ID
200
+ */
201
+ async function getOnboardingJobById(db, onboardingJobId) {
202
+ const sql = `
203
+ SELECT id, user_id, current_step, next_step, metadata, created_at, updated_at, completed_at
204
+ FROM monitoring.onboarding_jobs
205
+ WHERE id = $1
206
+ LIMIT 1
207
+ `;
208
+ const onboardingJob = await (0, pg_client_1.queryOne)(db, sql, [onboardingJobId]);
209
+ if (!onboardingJob) {
210
+ return null;
211
+ }
212
+ return {
213
+ id: onboardingJob.id,
214
+ userId: onboardingJob.user_id,
215
+ currentStep: onboardingJob.current_step,
216
+ nextStep: onboardingJob.next_step,
217
+ createdAt: onboardingJob.created_at,
218
+ updatedAt: onboardingJob.updated_at,
219
+ completedAt: onboardingJob.completed_at,
220
+ metadata: onboardingJob.metadata,
221
+ };
222
+ }
223
+ //# sourceMappingURL=onboarding-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-operations.js","sourceRoot":"","sources":["../../src/utils/onboarding-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Organization Assignment Job Operations
3
+ *
4
+ * This module provides functions for managing organization assignment job lifecycle.
5
+ * These jobs track when the organization_assignments_handler Lambda processes
6
+ * contributor and relationship assignments to organizations.
7
+ */
8
+ import { Pool, PoolClient } from "pg";
9
+ import type { DatabaseOrTransaction } from "../lib/db";
10
+ export interface OrganizationAssignmentJob {
11
+ id: number;
12
+ mappingJobId: number;
13
+ organizationId: number;
14
+ metadata: any;
15
+ createdAt: Date;
16
+ completedAt: Date | null;
17
+ }
18
+ /**
19
+ * Metadata structure for organization assignment jobs
20
+ */
21
+ export interface OrganizationAssignmentJobMetadata {
22
+ relationships_removed?: number;
23
+ relationships_added?: number;
24
+ contributor_role_action?: "created" | "promoted" | "unchanged";
25
+ error_details?: string;
26
+ [key: string]: any;
27
+ }
28
+ /**
29
+ * Create a new organization assignment job record
30
+ * Called when the organization_assignments_handler Lambda starts processing
31
+ *
32
+ * @param db - Database instance
33
+ * @param params - Job parameters
34
+ * @returns The created job record
35
+ */
36
+ export declare function createOrganizationAssignmentJob(db: DatabaseOrTransaction | Pool | PoolClient, params: {
37
+ mappingJobId: number;
38
+ organizationId: number;
39
+ jobMetadata?: OrganizationAssignmentJobMetadata;
40
+ }): Promise<OrganizationAssignmentJob>;
41
+ /**
42
+ * Mark an organization assignment job as completed
43
+ * Updates completed_at timestamp and stores final statistics
44
+ *
45
+ * @param db - Database instance
46
+ * @param organizationAssignmentJobId - Job ID
47
+ * @param completionMetadata - Final job statistics
48
+ * @returns Updated job record
49
+ */
50
+ export declare function completeOrganizationAssignmentJob(db: DatabaseOrTransaction | Pool | PoolClient, organizationAssignmentJobId: number, completionMetadata?: OrganizationAssignmentJobMetadata): Promise<OrganizationAssignmentJob>;
51
+ /**
52
+ * Update job metadata (for incremental statistics during processing)
53
+ *
54
+ * @param db - Database instance
55
+ * @param organizationAssignmentJobId - Job ID
56
+ * @param metadata - Updated metadata
57
+ * @returns Updated job record
58
+ */
59
+ export declare function updateOrganizationAssignmentJobMetadata(db: DatabaseOrTransaction | Pool | PoolClient, organizationAssignmentJobId: number, metadata: OrganizationAssignmentJobMetadata): Promise<OrganizationAssignmentJob>;
60
+ /**
61
+ * Get all organization assignment jobs for a specific mapping job
62
+ *
63
+ * @param db - Database instance
64
+ * @param mappingJobId - Mapping job ID
65
+ * @param options - Query options
66
+ * @returns Array of organization assignment jobs
67
+ */
68
+ export declare function getOrganizationAssignmentJobsForMappingJob(db: DatabaseOrTransaction | Pool | PoolClient, mappingJobId: number, options?: {
69
+ limit?: number;
70
+ onlyCompleted?: boolean;
71
+ }): Promise<OrganizationAssignmentJob[]>;
72
+ /**
73
+ * Get all organization assignment jobs for a specific organization
74
+ *
75
+ * @param db - Database instance
76
+ * @param organizationId - Organization ID
77
+ * @param options - Query options
78
+ * @returns Array of organization assignment jobs
79
+ */
80
+ export declare function getOrganizationAssignmentJobsForOrganization(db: DatabaseOrTransaction | Pool | PoolClient, organizationId: number, options?: {
81
+ limit?: number;
82
+ onlyCompleted?: boolean;
83
+ }): Promise<OrganizationAssignmentJob[]>;
84
+ /**
85
+ * Get pending organization assignment jobs (not completed)
86
+ *
87
+ * @param db - Database instance
88
+ * @param options - Query options
89
+ * @returns Array of pending jobs
90
+ */
91
+ export declare function getPendingOrganizationAssignmentJobs(db: DatabaseOrTransaction | Pool | PoolClient, options?: {
92
+ limit?: number;
93
+ }): Promise<OrganizationAssignmentJob[]>;
94
+ /**
95
+ * Get a specific organization assignment job by ID
96
+ *
97
+ * @param db - Database instance
98
+ * @param organizationAssignmentJobId - Job ID
99
+ * @returns Job record or null if not found
100
+ */
101
+ export declare function getOrganizationAssignmentJobById(db: DatabaseOrTransaction | Pool | PoolClient, organizationAssignmentJobId: number): Promise<OrganizationAssignmentJob | null>;
102
+ /**
103
+ * Get the latest organization assignment job for a specific organization and mapping job
104
+ *
105
+ * @param db - Database instance
106
+ * @param mappingJobId - Mapping job ID
107
+ * @param organizationId - Organization ID
108
+ * @returns Latest job record or null if not found
109
+ */
110
+ export declare function getLatestOrganizationAssignmentJob(db: DatabaseOrTransaction | Pool | PoolClient, mappingJobId: number, organizationId: number): Promise<OrganizationAssignmentJob | null>;
111
+ /**
112
+ * Get the latest organization assignment job for a user in an organization
113
+ *
114
+ * Finds the most recent organization assignment job for a user by joining
115
+ * through mapping_jobs and linkedin_accounts to find the user's mapping job.
116
+ *
117
+ * @param db - Database instance
118
+ * @param userId - User ID
119
+ * @param organizationId - Organization ID
120
+ * @returns Latest organization assignment job or null if not found
121
+ */
122
+ export declare function getLatestOrganizationAssignmentJobForUser(db: DatabaseOrTransaction | Pool | PoolClient, userId: number, organizationId: number): Promise<OrganizationAssignmentJob | null>;
123
+ /**
124
+ * Check export availability for a mapping job to a specific organization
125
+ *
126
+ * @param db - Database instance
127
+ * @param mappingJobId - Mapping job ID (null if not completed)
128
+ * @param organizationId - Organization ID to check
129
+ * @returns Export availability information
130
+ */
131
+ export interface ExportAvailabilityResult {
132
+ can_export: boolean;
133
+ is_exported: boolean;
134
+ export_status: "not_exported" | "exporting" | "exported" | "not_available";
135
+ organization_id: number;
136
+ organization_name?: string | null;
137
+ on_demand_mapping_job_id?: number | null;
138
+ mapping_job_id?: number | null;
139
+ linkedin_identifier_acoa?: string | null;
140
+ org_assignment_job?: {
141
+ id: number;
142
+ created_at: Date;
143
+ started_at: Date | null;
144
+ completed_at: Date | null;
145
+ } | null;
146
+ }
147
+ export declare function checkExportAvailability(db: DatabaseOrTransaction | Pool | PoolClient, mappingJobId: number | null, organizationId: number): Promise<ExportAvailabilityResult>;
148
+ /**
149
+ * Check export availability for a LinkedIn account to a specific organization
150
+ * This checks ALL mapping jobs for the account, not just the latest one
151
+ *
152
+ * @param db - Database instance
153
+ * @param linkedinAccountId - LinkedIn account ID
154
+ * @param organizationId - Organization ID to check
155
+ * @returns Export availability information
156
+ */
157
+ export declare function checkExportAvailabilityForLinkedInAccount(db: DatabaseOrTransaction | Pool | PoolClient, linkedinAccountId: number, organizationId: number): Promise<ExportAvailabilityResult>;
158
+ /**
159
+ * Get paginated exports for a user (requester)
160
+ * Returns all organization assignment jobs where the user was the requester
161
+ *
162
+ * @param db - Database instance
163
+ * @param requesterLinkedinAccountId - LinkedIn account ID of the requester
164
+ * @param options - Query options
165
+ * @returns Paginated list of exports with profile and organization details
166
+ */
167
+ export interface UserExport {
168
+ id: number;
169
+ status: "pending" | "completed" | "failed";
170
+ created_at: Date;
171
+ started_at: Date | null;
172
+ completed_at: Date | null;
173
+ mapping_job_id: number;
174
+ organization: {
175
+ id: number;
176
+ name: string;
177
+ workspace_type: "INDIVIDUALS" | "BUSINESS";
178
+ };
179
+ profile: {
180
+ name: string;
181
+ position: string | null;
182
+ current_company: string | null;
183
+ profile_image_url: string | null;
184
+ linkedin_identifier: string;
185
+ linkedin_url: string;
186
+ };
187
+ }
188
+ export interface UserExportsResult {
189
+ exports: UserExport[];
190
+ pagination: {
191
+ page: number;
192
+ pageSize: number;
193
+ totalItems: number;
194
+ totalPages: number;
195
+ };
196
+ }
197
+ export declare function getUserExports(db: DatabaseOrTransaction | Pool | PoolClient, requesterLinkedinAccountId: number, options?: {
198
+ page?: number;
199
+ pageSize?: number;
200
+ sort?: "asc" | "desc";
201
+ organizationId?: number;
202
+ status?: "pending" | "completed" | "failed" | "all";
203
+ }): Promise<UserExportsResult>;
204
+ /**
205
+ * Export status result with full profile and organization details
206
+ */
207
+ export interface ExportStatusResult {
208
+ found: boolean;
209
+ export?: {
210
+ id: number;
211
+ status: "pending" | "completed" | "failed";
212
+ created_at: Date;
213
+ started_at: Date | null;
214
+ completed_at: Date | null;
215
+ mapping_job_id: number;
216
+ organization: {
217
+ id: number;
218
+ name: string;
219
+ workspace_type: "INDIVIDUALS" | "BUSINESS";
220
+ };
221
+ profile: {
222
+ name: string;
223
+ position: string | null;
224
+ current_company: string | null;
225
+ profile_image_url: string | null;
226
+ linkedin_identifier: string;
227
+ linkedin_url: string | null;
228
+ };
229
+ };
230
+ }
231
+ /**
232
+ * Get export status for a specific LinkedIn identifier (ACoA) in an organization
233
+ * Returns full export details including profile and organization information
234
+ *
235
+ * @param db - Database instance
236
+ * @param linkedinIdentifierAcoa - LinkedIn ACoA identifier
237
+ * @param organizationId - Organization ID
238
+ * @returns Export status result
239
+ */
240
+ export declare function getExportStatusByLinkedInIdentifier(db: DatabaseOrTransaction | Pool | PoolClient, linkedinIdentifierAcoa: string, organizationId: number): Promise<ExportStatusResult>;
241
+ /**
242
+ * Validate that an organization assignment job exists and is completed
243
+ *
244
+ * @param db - Database instance
245
+ * @param organizationAssignmentJobId - Job ID
246
+ * @returns True if valid and completed, false otherwise
247
+ */
248
+ export declare function validateOrganizationAssignmentJobCompletion(db: DatabaseOrTransaction | Pool | PoolClient, organizationAssignmentJobId: number): Promise<boolean>;
249
+ /**
250
+ * Delete an organization assignment job
251
+ * Use with caution - this will cascade delete related records
252
+ *
253
+ * @param db - Database instance
254
+ * @param organizationAssignmentJobId - Job ID
255
+ * @returns Deleted job record
256
+ */
257
+ export declare function deleteOrganizationAssignmentJob(db: DatabaseOrTransaction | Pool | PoolClient, organizationAssignmentJobId: number): Promise<OrganizationAssignmentJob>;
258
+ //# sourceMappingURL=organization-assignment-job-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-assignment-job-operations.d.ts","sourceRoot":"","sources":["../../src/utils/organization-assignment-job-operations.ts"],"names":[],"mappings":"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"}