eggi-ai-db-schema-2 12.54.2

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 +655 -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 +689 -0
  12. package/dist/lib/database-service.d.ts.map +1 -0
  13. package/dist/lib/database-service.js +1362 -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 +159 -0
  89. package/dist/utils/introduction-request-operations.d.ts.map +1 -0
  90. package/dist/utils/introduction-request-operations.js +481 -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 +266 -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 +275 -0
  145. package/dist/utils/organization-operations.d.ts.map +1 -0
  146. package/dist/utils/organization-operations.js +993 -0
  147. package/dist/utils/organization-operations.js.map +1 -0
  148. package/dist/utils/organization-relationship-operations.d.ts +59 -0
  149. package/dist/utils/organization-relationship-operations.d.ts.map +1 -0
  150. package/dist/utils/organization-relationship-operations.js +240 -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 +143 -0
  165. package/dist/utils/sales-pipeline-operations.d.ts.map +1 -0
  166. package/dist/utils/sales-pipeline-operations.js +649 -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":"mapping-job-operations.js","sourceRoot":"","sources":["../../src/utils/mapping-job-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Mapping Operations
3
+ *
4
+ * Database operations for mapping jobs and LinkedIn relationships.
5
+ * Provides functions for querying mapping job data and relationships.
6
+ */
7
+ import { Pool, PoolClient } from 'pg';
8
+ import type { Database } from "../lib/db";
9
+ import type { MappingJob, LinkedinRelationship, LinkedinAccount, User } from "../lib/schema";
10
+ /**
11
+ * Get the latest completed mapping job for a user
12
+ *
13
+ * Finds the user's LinkedIn account and retrieves the most recent
14
+ * completed mapping job (where completedAt is not null)
15
+ *
16
+ * @param db - Database instance
17
+ * @param userId - User ID
18
+ * @returns Latest completed mapping job or null if none found
19
+ */
20
+ export declare function getLatestCompletedMappingJobForUser(db: Database | Pool | PoolClient, userId: number): Promise<MappingJob | null>;
21
+ /**
22
+ * Get relationships for a mapping job (limited to max count)
23
+ *
24
+ * Returns relationships for a mapping job, deduplicated by connection person.
25
+ * When multiple relationships exist for the same connection (e.g., from different
26
+ * mapping jobs or duplicate data), only the highest-scoring one is returned.
27
+ *
28
+ * @param db - Database instance
29
+ * @param jobId - Mapping job ID
30
+ * @param maxCount - Maximum number of relationships to return (default 50)
31
+ * @returns Array of relationships, deduplicated by connection person
32
+ */
33
+ export declare function getRelationshipsForMappingJob(db: Database | Pool | PoolClient, jobId: number, maxCount?: number): Promise<LinkedinRelationship[]>;
34
+ /**
35
+ * Get ALL relationships for a mapping job WITHOUT deduplication
36
+ *
37
+ * This function returns all relationships from a mapping job as-is.
38
+ * Since mapping jobs have uniqueness constraints, there should be no duplicates
39
+ * within a single mapping job. Use this for assignment operations where we need
40
+ * to assign ALL relationships from the job.
41
+ *
42
+ * @param db - Database instance
43
+ * @param jobId - Mapping job ID
44
+ * @param maxCount - Maximum number of relationships to return (default: no limit, use null for all)
45
+ * @returns Array of ALL relationships from the mapping job
46
+ */
47
+ export declare function getAllRelationshipsForMappingJob(db: Database | Pool | PoolClient, jobId: number, maxCount?: number | null): Promise<LinkedinRelationship[]>;
48
+ /**
49
+ * Get relationship count for a mapping job
50
+ *
51
+ * @param db - Database instance
52
+ * @param jobId - Mapping job ID
53
+ * @returns Count of relationships
54
+ */
55
+ export declare function getRelationshipCountForMappingJob(db: Database | Pool | PoolClient, jobId: number): Promise<number>;
56
+ /**
57
+ * Get LinkedIn account by user ID
58
+ *
59
+ * @param db - Database instance
60
+ * @param userId - User ID
61
+ * @returns LinkedIn account or null if not found
62
+ */
63
+ export declare function getLinkedInAccountByUserId(db: Database | Pool | PoolClient, userId: number): Promise<LinkedinAccount | null>;
64
+ /**
65
+ * Get user by LinkedIn account ID
66
+ *
67
+ * @param db - Database instance
68
+ * @param linkedinAccountId - LinkedIn account ID
69
+ * @returns User or null if not found
70
+ */
71
+ export declare function getUserByLinkedInAccountId(db: Database | Pool | PoolClient, linkedinAccountId: number): Promise<User | null>;
72
+ /**
73
+ * Get LinkedIn account by ID
74
+ *
75
+ * @param db - Database instance
76
+ * @param linkedinAccountId - LinkedIn account ID
77
+ * @returns LinkedIn account or null if not found
78
+ */
79
+ export declare function getLinkedInAccountById(db: Database | Pool | PoolClient, linkedinAccountId: number): Promise<LinkedinAccount | null>;
80
+ //# sourceMappingURL=mapping-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping-operations.d.ts","sourceRoot":"","sources":["../../src/utils/mapping-operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE7F;;;;;;;;;GASG;AACH,wBAAsB,mCAAmC,CACvD,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA2B5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,EAChC,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAiEjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gCAAgC,CACpD,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,EAChC,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAiDjC;AAED;;;;;;GAMG;AACH,wBAAsB,iCAAiC,CACrD,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,EAChC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA8CjC;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,EAChC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAuBtB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,EAChC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA8CjC"}
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+ /**
3
+ * Mapping Operations
4
+ *
5
+ * Database operations for mapping jobs and LinkedIn relationships.
6
+ * Provides functions for querying mapping job data and relationships.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.getLatestCompletedMappingJobForUser = getLatestCompletedMappingJobForUser;
10
+ exports.getRelationshipsForMappingJob = getRelationshipsForMappingJob;
11
+ exports.getAllRelationshipsForMappingJob = getAllRelationshipsForMappingJob;
12
+ exports.getRelationshipCountForMappingJob = getRelationshipCountForMappingJob;
13
+ exports.getLinkedInAccountByUserId = getLinkedInAccountByUserId;
14
+ exports.getUserByLinkedInAccountId = getUserByLinkedInAccountId;
15
+ exports.getLinkedInAccountById = getLinkedInAccountById;
16
+ const pg_client_1 = require("../lib/pg-client");
17
+ /**
18
+ * Get the latest completed mapping job for a user
19
+ *
20
+ * Finds the user's LinkedIn account and retrieves the most recent
21
+ * completed mapping job (where completedAt is not null)
22
+ *
23
+ * @param db - Database instance
24
+ * @param userId - User ID
25
+ * @returns Latest completed mapping job or null if none found
26
+ */
27
+ async function getLatestCompletedMappingJobForUser(db, userId) {
28
+ // First, get the user's LinkedIn account
29
+ const linkedinAccountSql = `
30
+ SELECT id FROM linkedin.accounts WHERE user_id = $1 LIMIT 1
31
+ `;
32
+ const linkedinAccount = await (0, pg_client_1.queryOne)(db, linkedinAccountSql, [userId]);
33
+ if (!linkedinAccount) {
34
+ return null;
35
+ }
36
+ // Then get the latest completed mapping job for that account
37
+ const jobSql = `
38
+ SELECT *
39
+ FROM monitoring.mapping_jobs
40
+ WHERE linkedin_account_id = $1
41
+ AND completed_at IS NOT NULL
42
+ ORDER BY completed_at DESC
43
+ LIMIT 1
44
+ `;
45
+ return await (0, pg_client_1.queryOne)(db, jobSql, [linkedinAccount.id]);
46
+ }
47
+ /**
48
+ * Get relationships for a mapping job (limited to max count)
49
+ *
50
+ * Returns relationships for a mapping job, deduplicated by connection person.
51
+ * When multiple relationships exist for the same connection (e.g., from different
52
+ * mapping jobs or duplicate data), only the highest-scoring one is returned.
53
+ *
54
+ * @param db - Database instance
55
+ * @param jobId - Mapping job ID
56
+ * @param maxCount - Maximum number of relationships to return (default 50)
57
+ * @returns Array of relationships, deduplicated by connection person
58
+ */
59
+ async function getRelationshipsForMappingJob(db, jobId, maxCount = 50) {
60
+ // First, get the LinkedIn account ID for this mapping job
61
+ const jobSql = `
62
+ SELECT linkedin_account_id FROM monitoring.mapping_jobs WHERE id = $1 LIMIT 1
63
+ `;
64
+ const job = await (0, pg_client_1.queryOne)(db, jobSql, [jobId]);
65
+ if (!job || !job.linkedin_account_id) {
66
+ return [];
67
+ }
68
+ // Use raw SQL with DISTINCT ON to deduplicate by the "other" LinkedIn account
69
+ // while keeping the highest-scoring relationship for each unique connection
70
+ const relationshipsSql = `
71
+ SELECT DISTINCT ON (
72
+ CASE
73
+ WHEN r.linkedin_account_id_a = $1 THEN r.linkedin_account_id_b
74
+ ELSE r.linkedin_account_id_a
75
+ END
76
+ )
77
+ r.id,
78
+ r.linkedin_account_id_a,
79
+ r.linkedin_account_id_b,
80
+ r.score,
81
+ r.model_version,
82
+ r.analysis_type,
83
+ r.mapping_job_id,
84
+ r.metadata,
85
+ r.created_at
86
+ FROM linkedin.relationships r
87
+ WHERE
88
+ r.mapping_job_id = $2
89
+ ORDER BY
90
+ CASE
91
+ WHEN r.linkedin_account_id_a = $1 THEN r.linkedin_account_id_b
92
+ ELSE r.linkedin_account_id_a
93
+ END,
94
+ r.score DESC,
95
+ r.created_at DESC
96
+ LIMIT $3
97
+ `;
98
+ const rows = await (0, pg_client_1.query)(db, relationshipsSql, [job.linkedin_account_id, jobId, maxCount]);
99
+ // Map snake_case to camelCase
100
+ return rows.map((row) => ({
101
+ id: row.id,
102
+ linkedinAccountIdA: row.linkedin_account_id_a,
103
+ linkedinAccountIdB: row.linkedin_account_id_b,
104
+ score: row.score,
105
+ modelVersion: row.model_version,
106
+ analysisType: row.analysis_type,
107
+ mappingJobId: row.mapping_job_id,
108
+ metadata: row.metadata || {},
109
+ createdAt: row.created_at,
110
+ }));
111
+ }
112
+ /**
113
+ * Get ALL relationships for a mapping job WITHOUT deduplication
114
+ *
115
+ * This function returns all relationships from a mapping job as-is.
116
+ * Since mapping jobs have uniqueness constraints, there should be no duplicates
117
+ * within a single mapping job. Use this for assignment operations where we need
118
+ * to assign ALL relationships from the job.
119
+ *
120
+ * @param db - Database instance
121
+ * @param jobId - Mapping job ID
122
+ * @param maxCount - Maximum number of relationships to return (default: no limit, use null for all)
123
+ * @returns Array of ALL relationships from the mapping job
124
+ */
125
+ async function getAllRelationshipsForMappingJob(db, jobId, maxCount = null) {
126
+ const relationshipsSql = maxCount !== null
127
+ ? `
128
+ SELECT
129
+ r.id,
130
+ r.linkedin_account_id_a,
131
+ r.linkedin_account_id_b,
132
+ r.score,
133
+ r.model_version,
134
+ r.analysis_type,
135
+ r.mapping_job_id,
136
+ r.metadata,
137
+ r.created_at
138
+ FROM linkedin.relationships r
139
+ WHERE r.mapping_job_id = $1
140
+ ORDER BY r.score DESC, r.created_at DESC
141
+ LIMIT $2
142
+ `
143
+ : `
144
+ SELECT
145
+ r.id,
146
+ r.linkedin_account_id_a,
147
+ r.linkedin_account_id_b,
148
+ r.score,
149
+ r.model_version,
150
+ r.analysis_type,
151
+ r.mapping_job_id,
152
+ r.metadata,
153
+ r.created_at
154
+ FROM linkedin.relationships r
155
+ WHERE r.mapping_job_id = $1
156
+ ORDER BY r.score DESC, r.created_at DESC
157
+ `;
158
+ const params = maxCount !== null ? [jobId, maxCount] : [jobId];
159
+ const rows = await (0, pg_client_1.query)(db, relationshipsSql, params);
160
+ // Map snake_case to camelCase
161
+ return rows.map((row) => ({
162
+ id: row.id,
163
+ linkedinAccountIdA: row.linkedin_account_id_a,
164
+ linkedinAccountIdB: row.linkedin_account_id_b,
165
+ score: row.score,
166
+ modelVersion: row.model_version,
167
+ analysisType: row.analysis_type,
168
+ mappingJobId: row.mapping_job_id,
169
+ metadata: row.metadata || {},
170
+ createdAt: row.created_at,
171
+ }));
172
+ }
173
+ /**
174
+ * Get relationship count for a mapping job
175
+ *
176
+ * @param db - Database instance
177
+ * @param jobId - Mapping job ID
178
+ * @returns Count of relationships
179
+ */
180
+ async function getRelationshipCountForMappingJob(db, jobId) {
181
+ const sql = `
182
+ SELECT COUNT(*) as count
183
+ FROM linkedin.relationships
184
+ WHERE mapping_job_id = $1
185
+ `;
186
+ const result = await (0, pg_client_1.queryOne)(db, sql, [jobId]);
187
+ return result ? parseInt(result.count, 10) : 0;
188
+ }
189
+ /**
190
+ * Get LinkedIn account by user ID
191
+ *
192
+ * @param db - Database instance
193
+ * @param userId - User ID
194
+ * @returns LinkedIn account or null if not found
195
+ */
196
+ async function getLinkedInAccountByUserId(db, userId) {
197
+ const sql = `
198
+ SELECT
199
+ id,
200
+ user_id,
201
+ linkedin_identifier_acoa,
202
+ public_identifier,
203
+ forager_id,
204
+ first_name,
205
+ last_name,
206
+ headline,
207
+ summary,
208
+ location,
209
+ COALESCE(profile_image_cloudfront_url, profile_picture_url) as profile_picture_url,
210
+ NULL as profile_image_cloudfront_url,
211
+ follower_count,
212
+ connections_count,
213
+ profiles_updated_at,
214
+ created_at
215
+ FROM linkedin.accounts
216
+ WHERE user_id = $1
217
+ LIMIT 1
218
+ `;
219
+ const row = await (0, pg_client_1.queryOne)(db, sql, [userId]);
220
+ if (!row)
221
+ return null;
222
+ // Map snake_case to camelCase
223
+ return {
224
+ id: row.id,
225
+ userId: row.user_id,
226
+ linkedinIdentifierAcoa: row.linkedin_identifier_acoa,
227
+ publicIdentifier: row.public_identifier,
228
+ foragerId: row.forager_id,
229
+ firstName: row.first_name,
230
+ lastName: row.last_name,
231
+ headline: row.headline,
232
+ summary: row.summary,
233
+ location: row.location,
234
+ profilePictureUrl: row.profile_picture_url,
235
+ profileImageCloudFrontUrl: row.profile_image_cloudfront_url,
236
+ followerCount: row.follower_count,
237
+ connectionsCount: row.connections_count,
238
+ profilesUpdatedAt: row.profiles_updated_at,
239
+ createdAt: row.created_at,
240
+ };
241
+ }
242
+ /**
243
+ * Get user by LinkedIn account ID
244
+ *
245
+ * @param db - Database instance
246
+ * @param linkedinAccountId - LinkedIn account ID
247
+ * @returns User or null if not found
248
+ */
249
+ async function getUserByLinkedInAccountId(db, linkedinAccountId) {
250
+ const accountSql = `
251
+ SELECT user_id FROM linkedin.accounts WHERE id = $1 LIMIT 1
252
+ `;
253
+ const linkedinAccount = await (0, pg_client_1.queryOne)(db, accountSql, [linkedinAccountId]);
254
+ if (!linkedinAccount || !linkedinAccount.user_id) {
255
+ return null;
256
+ }
257
+ const userSql = `
258
+ SELECT id, given_name, family_name, summary, embedding_summary, embedding, created_at
259
+ FROM public.users
260
+ WHERE id = $1
261
+ LIMIT 1
262
+ `;
263
+ return await (0, pg_client_1.queryOne)(db, userSql, [linkedinAccount.user_id]);
264
+ }
265
+ /**
266
+ * Get LinkedIn account by ID
267
+ *
268
+ * @param db - Database instance
269
+ * @param linkedinAccountId - LinkedIn account ID
270
+ * @returns LinkedIn account or null if not found
271
+ */
272
+ async function getLinkedInAccountById(db, linkedinAccountId) {
273
+ const sql = `
274
+ SELECT
275
+ id,
276
+ user_id,
277
+ linkedin_identifier_acoa,
278
+ public_identifier,
279
+ forager_id,
280
+ first_name,
281
+ last_name,
282
+ headline,
283
+ summary,
284
+ location,
285
+ COALESCE(profile_image_cloudfront_url, profile_picture_url) as profile_picture_url,
286
+ NULL as profile_image_cloudfront_url,
287
+ follower_count,
288
+ connections_count,
289
+ profiles_updated_at,
290
+ created_at
291
+ FROM linkedin.accounts
292
+ WHERE id = $1
293
+ LIMIT 1
294
+ `;
295
+ const row = await (0, pg_client_1.queryOne)(db, sql, [linkedinAccountId]);
296
+ if (!row)
297
+ return null;
298
+ // Map snake_case to camelCase
299
+ return {
300
+ id: row.id,
301
+ userId: row.user_id,
302
+ linkedinIdentifierAcoa: row.linkedin_identifier_acoa,
303
+ publicIdentifier: row.public_identifier,
304
+ foragerId: row.forager_id,
305
+ firstName: row.first_name,
306
+ lastName: row.last_name,
307
+ headline: row.headline,
308
+ summary: row.summary,
309
+ location: row.location,
310
+ profilePictureUrl: row.profile_picture_url,
311
+ profileImageCloudFrontUrl: row.profile_image_cloudfront_url,
312
+ followerCount: row.follower_count,
313
+ connectionsCount: row.connections_count,
314
+ profilesUpdatedAt: row.profiles_updated_at,
315
+ createdAt: row.created_at,
316
+ };
317
+ }
318
+ //# sourceMappingURL=mapping-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping-operations.js","sourceRoot":"","sources":["../../src/utils/mapping-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ /**
2
+ * =============================================================================
3
+ * ON-DEMAND MAPPING OPERATIONS UTILITIES - CONSOLIDATED SCHEMA
4
+ * =============================================================================
5
+ * Utility functions for creating and managing on-demand mapping jobs from Chrome extension
6
+ * Updated to work with the new consolidated linkedin.accounts schema
7
+ *
8
+ * USAGE EXAMPLES:
9
+ *
10
+ * 1. CREATE ON-DEMAND REQUEST:
11
+ * ```typescript
12
+ * const request = await createOnDemandMappingJob({
13
+ * requesterLinkedinAccountId: 123,
14
+ * internalIdentifierAcoa: "ACoAABCDEFG...", // Target ACoA identifier
15
+ * metadata: {
16
+ * source: "chrome_extension",
17
+ * user_agent: "Mozilla/5.0...",
18
+ * requested_by: "user_456"
19
+ * }
20
+ * });
21
+ * ```
22
+ *
23
+ * 2. GET REQUEST WITH STATUS:
24
+ * ```typescript
25
+ * const requestWithStatus = await getOnDemandMappingJobWithStatus(123, "ACoAABCDEFG...");
26
+ * // Returns: { id, mappingJobId, status: "completed", progress: 100, ... }
27
+ * ```
28
+ *
29
+ * 3. UPDATE MAPPING JOB ASSOCIATION:
30
+ * ```typescript
31
+ * await updateOnDemandMappingJobId(123, "ACoAABCDEFG...", 789);
32
+ * ```
33
+ */
34
+ import { Pool, PoolClient } from "pg";
35
+ import type { Database } from "../lib/db";
36
+ export interface OnDemandMappingJob {
37
+ id: number;
38
+ requesterLinkedinAccountId: number;
39
+ internalIdentifierAcoa: string;
40
+ mappingJobId: number | null;
41
+ metadata: any;
42
+ createdAt: Date;
43
+ updatedAt: Date;
44
+ }
45
+ /**
46
+ * Status of an on-demand mapping job
47
+ */
48
+ export type OnDemandMappingJobStatus = "pending" | "queued" | "processing" | "completed" | "failed" | "cancelled";
49
+ /**
50
+ * Progress information for an on-demand mapping job
51
+ */
52
+ export interface OnDemandMappingJobProgress {
53
+ status: OnDemandMappingJobStatus;
54
+ progress: number;
55
+ message?: string;
56
+ estimatedTimeRemaining?: number;
57
+ processedItems?: number;
58
+ totalItems?: number;
59
+ errorMessage?: string;
60
+ }
61
+ /**
62
+ * Complete on-demand mapping job information with status
63
+ */
64
+ export interface OnDemandMappingJobWithStatus extends OnDemandMappingJob {
65
+ status: OnDemandMappingJobStatus;
66
+ progress: number;
67
+ requesterLinkedInIdentifier?: string | undefined;
68
+ targetLinkedInIdentifier?: string | undefined;
69
+ mappingJobDetails?: {
70
+ createdAt: Date;
71
+ queuedAt: Date;
72
+ startedAt?: Date | undefined;
73
+ completedAt?: Date | undefined;
74
+ metadata: Record<string, any>;
75
+ } | undefined;
76
+ linkedinRelationshipsCount?: number | undefined;
77
+ }
78
+ /**
79
+ * Organization assignment job status
80
+ * Tracks the status of exporting relationships to the eggi.ai frontend
81
+ */
82
+ export type OrganizationAssignmentJobStatus = "pending" | "queued" | "processing" | "completed";
83
+ /**
84
+ * Minimal on-demand mapping job information for Chrome extension
85
+ * Excludes large metadata blocks to reduce payload size
86
+ */
87
+ export interface OnDemandMappingJobMinimal {
88
+ id: number;
89
+ requesterLinkedinAccountId: number;
90
+ internalIdentifierAcoa: string;
91
+ mappingJobId: number | null;
92
+ createdAt: Date;
93
+ updatedAt: Date;
94
+ status: OnDemandMappingJobStatus;
95
+ progress: number;
96
+ targetLinkedInIdentifier: string;
97
+ mappingJobDetails?: {
98
+ createdAt: Date;
99
+ queuedAt: Date;
100
+ startedAt?: Date | undefined;
101
+ completedAt?: Date | undefined;
102
+ } | undefined;
103
+ linkedinRelationshipsCount?: string | undefined;
104
+ organizationAssignmentStatus?: OrganizationAssignmentJobStatus | null;
105
+ organizationAssignmentJobDetails?: {
106
+ id: number;
107
+ createdAt: Date;
108
+ startedAt?: Date | undefined;
109
+ completedAt?: Date | undefined;
110
+ } | null;
111
+ organizations?: Array<{
112
+ id: number;
113
+ name: string;
114
+ workspaceType: "INDIVIDUALS" | "BUSINESS";
115
+ }> | null;
116
+ targetProfile?: {
117
+ name: string;
118
+ profileImageUrl: string | null;
119
+ position: string | null;
120
+ currentCompany: string | null;
121
+ headline: string | null;
122
+ } | null;
123
+ }
124
+ /**
125
+ * Parameters for creating an on-demand mapping job
126
+ */
127
+ export interface CreateOnDemandMappingJobParams {
128
+ requesterLinkedinAccountId: number;
129
+ internalIdentifierAcoa: string;
130
+ metadata?: Record<string, any>;
131
+ }
132
+ /**
133
+ * Create a new on-demand mapping job
134
+ */
135
+ export declare function createOnDemandMappingJob(params: CreateOnDemandMappingJobParams): Promise<OnDemandMappingJob>;
136
+ /**
137
+ * Get on-demand mapping job by requester and target identifiers
138
+ */
139
+ export declare function getOnDemandMappingJob(requesterLinkedinAccountId: number, internalIdentifierAcoa: string): Promise<OnDemandMappingJob | null>;
140
+ /**
141
+ * Get on-demand mapping job by ID
142
+ */
143
+ export declare function getOnDemandMappingJobById(jobId: number): Promise<OnDemandMappingJob | null>;
144
+ /**
145
+ * Get on-demand mapping job with complete status information
146
+ */
147
+ export declare function getOnDemandMappingJobWithStatus(requesterLinkedinAccountId: number, internalIdentifierAcoa: string): Promise<OnDemandMappingJobWithStatus | null>;
148
+ /**
149
+ * Update the mapping job ID for an on-demand mapping job
150
+ */
151
+ export declare function updateOnDemandMappingJobId(requesterLinkedinAccountId: number, internalIdentifierAcoa: string, mappingJobId: number): Promise<OnDemandMappingJob>;
152
+ /**
153
+ * Get minimal on-demand mapping jobs for Chrome extension with pagination
154
+ * Excludes large metadata blocks to reduce response size
155
+ * Includes self-targeting jobs (where requester maps themselves)
156
+ */
157
+ export declare function getOnDemandMappingJobsMinimal(db: Database, requesterLinkedinAccountId: number, limit?: number, offset?: number): Promise<{
158
+ jobs: OnDemandMappingJobMinimal[];
159
+ total_items: number;
160
+ }>;
161
+ /**
162
+ * Get pending on-demand mapping jobs (no mapping job assigned yet)
163
+ */
164
+ export declare function getPendingOnDemandMappingJobs(options?: {
165
+ limit?: number;
166
+ }): Promise<OnDemandMappingJob[]>;
167
+ /**
168
+ * Check if an on-demand mapping job exists for the given parameters
169
+ */
170
+ export declare function checkOnDemandMappingJobExists(requesterLinkedinAccountId: number, internalIdentifierAcoa: string): Promise<OnDemandMappingJob | null>;
171
+ /**
172
+ * Get or create an on-demand mapping job
173
+ */
174
+ export declare function getOrCreateOnDemandMappingJob(params: CreateOnDemandMappingJobParams): Promise<{
175
+ onDemandJob: OnDemandMappingJob;
176
+ wasCreated: boolean;
177
+ }>;
178
+ /**
179
+ * Get target LinkedIn account ID for on-demand mapping job in an organization
180
+ *
181
+ * For on-demand mapping jobs, relationships are mapped for the TARGET but assigned
182
+ * to the REQUESTER's personal workspace. This function helps identify which account
183
+ * to use when querying relationships (the target's account, not the requester's).
184
+ *
185
+ * @param db - Database instance
186
+ * @param requesterLinkedinAccountId - The requester's LinkedIn account ID
187
+ * @param organizationId - The organization ID (personal workspace)
188
+ * @returns Target LinkedIn account ID if on-demand job exists, null otherwise
189
+ */
190
+ export declare function getTargetLinkedInAccountIdForOnDemandJobInOrganization(db: Database | Pool | PoolClient, requesterLinkedinAccountId: number, organizationId: number): Promise<number | null>;
191
+ export declare function deleteOnDemandMappingJob(requesterLinkedinAccountId: number, internalIdentifierAcoa: string): Promise<boolean>;
192
+ /**
193
+ * Get relationship scores for an on-demand mapping job
194
+ */
195
+ export declare function getRelationshipScoresForOnDemandJob(requesterLinkedinAccountId: number, internalIdentifierAcoa: string, options?: {
196
+ limit?: number;
197
+ minScore?: number;
198
+ }): Promise<any[]>;
199
+ //# sourceMappingURL=on-demand-mapping-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-demand-mapping-operations.d.ts","sourceRoot":"","sources":["../../src/utils/on-demand-mapping-operations.ts"],"names":[],"mappings":"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"}