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":"database-service.js","sourceRoot":"","sources":["../../src/lib/database-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * TypeScript interfaces for database tables
3
+ *
4
+ * These types define the shape of data returned from PostgreSQL queries.
5
+ * Column names use snake_case to match database schema.
6
+ */
7
+ export interface User {
8
+ id: number;
9
+ given_name: string | null;
10
+ family_name: string | null;
11
+ created_at: Date;
12
+ }
13
+ export interface AuthenticatedUser {
14
+ id: number;
15
+ user_id: number | null;
16
+ cognito_user_id: string;
17
+ auth_provider: string;
18
+ created_at: Date;
19
+ contact_info_id: number | null;
20
+ is_admin: boolean;
21
+ }
22
+ export interface LinkedInAccount {
23
+ id: number;
24
+ user_id: number | null;
25
+ forager_id: number | null;
26
+ public_identifier: string | null;
27
+ linkedin_identifier_acoa: string;
28
+ first_name: string | null;
29
+ last_name: string | null;
30
+ headline: string | null;
31
+ summary: string | null;
32
+ location: string | null;
33
+ profile_picture_url: string | null;
34
+ profile_image_cloudfront_url: string | null;
35
+ profile_image_hash: string | null;
36
+ follower_count: number | null;
37
+ connections_count: number | null;
38
+ profiles_updated_at: Date | null;
39
+ created_at: Date;
40
+ }
41
+ export interface LinkedInProfile {
42
+ id: number;
43
+ linkedin_account_id: number;
44
+ first_name: string | null;
45
+ last_name: string | null;
46
+ headline: string | null;
47
+ summary: string | null;
48
+ location: string | null;
49
+ profile_picture_url: string | null;
50
+ follower_count: number | null;
51
+ connections_count: number | null;
52
+ created_at: Date;
53
+ updated_at: Date | null;
54
+ }
55
+ export interface LinkedInWorkExperience {
56
+ id: number;
57
+ linkedin_account_id: number;
58
+ position: string | null;
59
+ company: string | null;
60
+ company_id: string | null;
61
+ company_linkedin_url: string | null;
62
+ location: string | null;
63
+ employment_type: string | null;
64
+ description: string | null;
65
+ is_current: boolean;
66
+ start_date: string | null;
67
+ end_date: string | null;
68
+ created_at: Date;
69
+ updated_at: Date | null;
70
+ }
71
+ export interface LinkedInEducation {
72
+ id: number;
73
+ linkedin_account_id: number;
74
+ degree: string | null;
75
+ school: string | null;
76
+ school_id: string | null;
77
+ field_of_study: string | null;
78
+ grade: string | null;
79
+ description: string | null;
80
+ activities_and_societies: string | null;
81
+ school_linkedin_url: string | null;
82
+ start_date: string | null;
83
+ end_date: string | null;
84
+ created_at: Date;
85
+ updated_at: Date | null;
86
+ }
87
+ export interface LinkedInProfileSkill {
88
+ id: number;
89
+ linkedin_account_id: number;
90
+ skill_name: string;
91
+ created_at: Date;
92
+ }
93
+ export interface LinkedInWorkExperienceSkill {
94
+ id: number;
95
+ work_experience_id: number;
96
+ skill_name: string;
97
+ created_at: Date;
98
+ }
99
+ export interface LinkedInEducationSkill {
100
+ id: number;
101
+ education_id: number;
102
+ skill_name: string;
103
+ created_at: Date;
104
+ }
105
+ export interface LinkedInProject {
106
+ id: number;
107
+ linkedin_account_id: number;
108
+ title: string;
109
+ description: string | null;
110
+ url: string | null;
111
+ start_date: string | null;
112
+ end_date: string | null;
113
+ created_at: Date;
114
+ updated_at: Date | null;
115
+ }
116
+ /**
117
+ * Partial update type - all fields optional except ID
118
+ */
119
+ export type PartialUpdate<T> = Partial<Omit<T, 'id' | 'created_at'>> & {
120
+ id: number;
121
+ };
122
+ /**
123
+ * Insert type - omit auto-generated fields
124
+ */
125
+ export type InsertType<T> = Omit<T, 'id' | 'created_at' | 'updated_at'>;
126
+ /**
127
+ * Common result types
128
+ */
129
+ export interface FindOrCreateResult {
130
+ id: number;
131
+ wasNewlyCreated: boolean;
132
+ wasUpdated: boolean;
133
+ }
134
+ export interface ProfileFetchResult {
135
+ user_id: number;
136
+ linkedin_account_id: number;
137
+ isNewUser: boolean;
138
+ linkedinAccountWasCreated: boolean;
139
+ linkedinAccountWasUpdated: boolean;
140
+ profileData?: CompleteLinkedInProfileResult;
141
+ }
142
+ export interface CompleteLinkedInProfileResult {
143
+ user: import('../lib/schema').User | undefined;
144
+ linkedinAccount: LinkedInAccount | any;
145
+ profile?: LinkedInProfile | null;
146
+ workExperience: any[];
147
+ workExperiences?: LinkedInWorkExperience[];
148
+ education: any[];
149
+ educations?: LinkedInEducation[];
150
+ certifications: any[];
151
+ projects: any[];
152
+ skills?: LinkedInProfileSkill[];
153
+ skillsAdded: number;
154
+ contactInfosAdded: number;
155
+ userWasCreated: boolean;
156
+ linkedinAccountWasCreated: boolean;
157
+ linkedinAccountWasUpdated: boolean;
158
+ }
159
+ /**
160
+ * Type guard to check if a value is a valid Date
161
+ */
162
+ export declare function isValidDate(date: any): date is Date;
163
+ /**
164
+ * Convert database timestamp string to Date
165
+ */
166
+ export declare function parseTimestamp(timestamp: string | Date | null): Date | null;
167
+ //# sourceMappingURL=db-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-types.d.ts","sourceRoot":"","sources":["../../src/lib/db-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAMD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAMD;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;IACnC,WAAW,CAAC,EAAE,6BAA6B,CAAC;CAC7C;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,OAAO,eAAe,EAAE,IAAI,GAAG,SAAS,CAAC;IAC/C,eAAe,EAAE,eAAe,GAAG,GAAG,CAAC;IACvC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,yBAAyB,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAK3E"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * TypeScript interfaces for database tables
4
+ *
5
+ * These types define the shape of data returned from PostgreSQL queries.
6
+ * Column names use snake_case to match database schema.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.isValidDate = isValidDate;
10
+ exports.parseTimestamp = parseTimestamp;
11
+ /**
12
+ * Type guard to check if a value is a valid Date
13
+ */
14
+ function isValidDate(date) {
15
+ return date instanceof Date && !isNaN(date.getTime());
16
+ }
17
+ /**
18
+ * Convert database timestamp string to Date
19
+ */
20
+ function parseTimestamp(timestamp) {
21
+ if (!timestamp)
22
+ return null;
23
+ if (timestamp instanceof Date)
24
+ return timestamp;
25
+ const date = new Date(timestamp);
26
+ return isValidDate(date) ? date : null;
27
+ }
28
+ //# sourceMappingURL=db-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-types.js","sourceRoot":"","sources":["../../src/lib/db-types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwLH,kCAEC;AAKD,wCAKC;AAfD;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAS;IACnC,OAAO,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,SAA+B;IAC5D,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,SAAS,YAAY,IAAI;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * =============================================================================
3
+ * NATIVE POSTGRESQL DATABASE CLIENT
4
+ * =============================================================================
5
+ * Native PostgreSQL client using the pg library for direct database access
6
+ */
7
+ import { Pool, PoolClient } from "pg";
8
+ /**
9
+ * Debug log database operations with structured data
10
+ * @param operation - The type of operation (e.g., 'insert', 'upsert', 'select', 'update', 'delete')
11
+ * @param tableName - Name of the table being operated on
12
+ * @param data - The data being used (for inserts/updates) or conditions (for selects/deletes)
13
+ * @param result - The result from the database operation (optional)
14
+ * @param metadata - Additional metadata about the operation (optional)
15
+ */
16
+ export declare function debugLogDbOperation(operation: string, tableName: string, data: any, result?: any, metadata?: Record<string, any>): void;
17
+ /**
18
+ * Test database connectivity with comprehensive logging
19
+ * @returns {Promise<boolean>} True if connection successful, false otherwise
20
+ */
21
+ export declare function testDatabaseConnectivity(): Promise<boolean>;
22
+ export interface ConnectionPoolConfig {
23
+ max?: number;
24
+ idleTimeoutMillis?: number;
25
+ connectionTimeoutMillis?: number;
26
+ maxUses?: number;
27
+ }
28
+ export interface DbConfig {
29
+ poolConfig?: ConnectionPoolConfig;
30
+ testConnectivity?: boolean | undefined;
31
+ }
32
+ /**
33
+ * Initialize database connection with explicit configuration
34
+ * This function ensures race-condition-free initialization
35
+ *
36
+ * @param config - Database configuration options with smart defaults
37
+ * @returns Promise resolving to the database pool instance
38
+ */
39
+ export declare function initializeDb(config?: DbConfig): Promise<Pool>;
40
+ /**
41
+ * Get database pool instance - requires explicit initialization
42
+ * Call initializeDb() first before using any database operations
43
+ *
44
+ * @returns Promise resolving to the database pool instance
45
+ * @throws Error if database is not initialized
46
+ */
47
+ export declare function getDb(): Promise<Pool>;
48
+ /**
49
+ * Get a client from the pool for transaction handling
50
+ */
51
+ export declare function getClient(): Promise<PoolClient>;
52
+ /**
53
+ * Close the database pool
54
+ */
55
+ export declare function closeDb(): Promise<void>;
56
+ export type Database = Pool;
57
+ export type DatabaseOrTransaction = Pool | PoolClient;
58
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAc,MAAM,IAAI,CAAC;AAMlD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,GAAG,EACT,MAAM,CAAC,EAAE,GAAG,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,IAAI,CA8CN;AASD;;;GAGG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAqCjE;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAyGD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,MAAM,GAAE,QAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCvE;AAED;;;;;;GAMG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ3C;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAGrD;AAED;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAM7C;AAMD,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC;AAG5B,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,UAAU,CAAC"}
package/dist/lib/db.js ADDED
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+ /**
3
+ * =============================================================================
4
+ * NATIVE POSTGRESQL DATABASE CLIENT
5
+ * =============================================================================
6
+ * Native PostgreSQL client using the pg library for direct database access
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.debugLogDbOperation = debugLogDbOperation;
10
+ exports.testDatabaseConnectivity = testDatabaseConnectivity;
11
+ exports.initializeDb = initializeDb;
12
+ exports.getDb = getDb;
13
+ exports.getClient = getClient;
14
+ exports.closeDb = closeDb;
15
+ const pg_1 = require("pg");
16
+ // =============================================================================
17
+ // DEBUG LOGGING UTILITIES
18
+ // =============================================================================
19
+ /**
20
+ * Debug log database operations with structured data
21
+ * @param operation - The type of operation (e.g., 'insert', 'upsert', 'select', 'update', 'delete')
22
+ * @param tableName - Name of the table being operated on
23
+ * @param data - The data being used (for inserts/updates) or conditions (for selects/deletes)
24
+ * @param result - The result from the database operation (optional)
25
+ * @param metadata - Additional metadata about the operation (optional)
26
+ */
27
+ function debugLogDbOperation(operation, tableName, data, result, metadata) {
28
+ // Only log DB operations in debug mode or when explicitly enabled
29
+ const logLevel = (process.env.LOG_LEVEL || "info").toLowerCase();
30
+ const shouldLogDebug = logLevel === "debug" || process.env.NODE_ENV === "dev";
31
+ if (shouldLogDebug) {
32
+ const logData = {
33
+ operation,
34
+ table: tableName,
35
+ timestamp: new Date().toISOString(),
36
+ };
37
+ // Add data information
38
+ if (Array.isArray(data)) {
39
+ logData.data_type = "array";
40
+ logData.data_count = data.length;
41
+ logData.sample_data = data.length > 0 ? data[0] : null;
42
+ if (data.length > 1) {
43
+ logData.data_preview = `[${data.length} items: ${JSON.stringify(data[0])}, ...]`;
44
+ }
45
+ else {
46
+ logData.data_preview = JSON.stringify(data);
47
+ }
48
+ }
49
+ else {
50
+ logData.data_type = "object";
51
+ logData.data_count = 1;
52
+ logData.data_preview = JSON.stringify(data);
53
+ }
54
+ // Add result information if provided
55
+ if (result) {
56
+ if (Array.isArray(result)) {
57
+ logData.result_count = result.length;
58
+ logData.result_sample = result.length > 0 ? result[0] : null;
59
+ }
60
+ else {
61
+ logData.result_count = 1;
62
+ logData.result_sample = result;
63
+ }
64
+ }
65
+ // Add metadata if provided
66
+ if (metadata) {
67
+ logData.metadata = metadata;
68
+ }
69
+ console.debug(`📊 DB_OPERATION: ${operation.toUpperCase()} ${tableName}`, logData);
70
+ }
71
+ }
72
+ // =============================================================================
73
+ // DATABASE CONNECTION
74
+ // =============================================================================
75
+ let pool = null;
76
+ let dbInitializationPromise = null;
77
+ /**
78
+ * Test database connectivity with comprehensive logging
79
+ * @returns {Promise<boolean>} True if connection successful, false otherwise
80
+ */
81
+ async function testDatabaseConnectivity() {
82
+ if (!pool) {
83
+ console.error("❌ Cannot test connectivity: pool not initialized");
84
+ return false;
85
+ }
86
+ try {
87
+ console.log("🔍 Testing database connectivity...");
88
+ const startTime = Date.now();
89
+ // Test basic connectivity with a simple query
90
+ const result = await pool.query("SELECT NOW() as current_time, version() as db_version");
91
+ const executionTime = Date.now() - startTime;
92
+ const dbInfo = result.rows[0];
93
+ console.log("✅ Database connectivity test successful", {
94
+ executionTime: `${executionTime}ms`,
95
+ currentTime: dbInfo?.current_time,
96
+ dbVersion: typeof dbInfo?.db_version === "string"
97
+ ? dbInfo.db_version.substring(0, 50) + "..."
98
+ : dbInfo?.db_version,
99
+ connectionStatus: "success",
100
+ });
101
+ return true;
102
+ }
103
+ catch (error) {
104
+ console.error("❌ Database connectivity test failed", {
105
+ error: error.message,
106
+ errorCode: error.code,
107
+ errorDetail: error.detail,
108
+ connectionStatus: "failed",
109
+ stack: typeof error.stack === "string" ? error.stack.substring(0, 200) + "..." : error.stack,
110
+ });
111
+ return false;
112
+ }
113
+ }
114
+ /**
115
+ * Internal async initialization function
116
+ * This handles the actual database connection setup
117
+ */
118
+ async function initializeDatabaseConnection(config) {
119
+ console.log("⚡ Initializing database connection...");
120
+ const connectionStartTime = Date.now();
121
+ // Log connection type for debugging
122
+ const isLocal = !process.env.AWS_REGION && !process.env.AWS_LAMBDA_FUNCTION_NAME;
123
+ const useProxy = isLocal
124
+ ? false // Local: default to direct connection
125
+ : process.env.USE_DIRECT_CONNECTION !== "true"; // Production: default to proxy
126
+ // Default connection pool settings based on environment
127
+ const defaultPoolConfig = {
128
+ max: useProxy ? 5 : 10, // Lower for proxy (proxy handles pooling), higher for direct
129
+ idleTimeoutMillis: 120000, // 2 minutes (shorter for Lambda)
130
+ connectionTimeoutMillis: 60000, // 60 seconds connection timeout
131
+ maxUses: 7500, // Max uses per connection (for connection cycling)
132
+ };
133
+ // Merge user config with defaults and environment overrides
134
+ const poolConfig = {
135
+ ...defaultPoolConfig,
136
+ ...config?.poolConfig,
137
+ // Allow environment variable overrides
138
+ max: config?.poolConfig?.max ??
139
+ parseInt(process.env.DB_MAX_CONNECTIONS || String(defaultPoolConfig.max)),
140
+ idleTimeoutMillis: config?.poolConfig?.idleTimeoutMillis ??
141
+ parseInt(process.env.DB_IDLE_TIMEOUT || String(defaultPoolConfig.idleTimeoutMillis)),
142
+ connectionTimeoutMillis: config?.poolConfig?.connectionTimeoutMillis ??
143
+ parseInt(process.env.DB_CONNECT_TIMEOUT || String(defaultPoolConfig.connectionTimeoutMillis)),
144
+ };
145
+ console.log("🔧 Database connection configuration", {
146
+ environment: isLocal ? "local" : "cloud/lambda",
147
+ connectionType: useProxy ? "proxy" : "direct",
148
+ useDirectConnection: process.env.USE_DIRECT_CONNECTION,
149
+ awsRegion: process.env.AWS_REGION,
150
+ poolConfig,
151
+ });
152
+ const databaseUrl = process.env.DATABASE_URL;
153
+ if (!databaseUrl) {
154
+ throw new Error("DATABASE_URL environment variable is required for database initialization");
155
+ }
156
+ // Parse DATABASE_URL to extract connection parameters
157
+ const url = new URL(databaseUrl);
158
+ const pgPoolConfig = {
159
+ host: url.hostname,
160
+ port: parseInt(url.port) || 5432,
161
+ database: url.pathname.slice(1), // Remove leading '/'
162
+ user: url.username,
163
+ password: url.password,
164
+ ssl: url.searchParams.get('sslmode') === 'disable' ? false : { rejectUnauthorized: false },
165
+ ...poolConfig,
166
+ };
167
+ pool = new pg_1.Pool(pgPoolConfig);
168
+ // Set up error handlers
169
+ pool.on('error', (err) => {
170
+ console.error('❌ Unexpected error on idle client', err);
171
+ });
172
+ pool.on('connect', () => {
173
+ console.log('🔗 New client connected to pool');
174
+ });
175
+ pool.on('remove', () => {
176
+ console.log('🔌 Client removed from pool');
177
+ });
178
+ const initTime = Date.now() - connectionStartTime;
179
+ console.log("🔗 Database connection pool initialized", {
180
+ initializationTime: `${initTime}ms`,
181
+ poolConfig,
182
+ });
183
+ // Test connectivity if requested (default: true)
184
+ const shouldTestConnectivity = config?.testConnectivity !== false;
185
+ if (shouldTestConnectivity) {
186
+ const connectivityTest = await testDatabaseConnectivity();
187
+ if (!connectivityTest) {
188
+ console.warn("⚠️ Database connectivity test failed, but proceeding with initialized connection");
189
+ }
190
+ }
191
+ return pool;
192
+ }
193
+ /**
194
+ * Initialize database connection with explicit configuration
195
+ * This function ensures race-condition-free initialization
196
+ *
197
+ * @param config - Database configuration options with smart defaults
198
+ * @returns Promise resolving to the database pool instance
199
+ */
200
+ async function initializeDb(config = {}) {
201
+ if (!dbInitializationPromise) {
202
+ // Smart defaults based on environment
203
+ const isLambda = !!process.env.AWS_LAMBDA_FUNCTION_NAME;
204
+ const isLocal = !process.env.AWS_REGION && !isLambda;
205
+ const defaultConfig = {
206
+ poolConfig: {
207
+ max: isLambda ? 1 : isLocal ? 3 : 5, // Lambda: 1, Local: 3, ECS: 5
208
+ idleTimeoutMillis: isLambda ? 120000 : 300000, // Lambda: 2min, Others: 5min
209
+ connectionTimeoutMillis: 30000, // Always 30 seconds
210
+ },
211
+ testConnectivity: !isLambda, // Skip test in Lambda for faster startup
212
+ };
213
+ // Merge with user config
214
+ const finalConfig = {
215
+ poolConfig: {
216
+ ...defaultConfig.poolConfig,
217
+ ...config.poolConfig,
218
+ },
219
+ testConnectivity: config.testConnectivity !== undefined
220
+ ? config.testConnectivity
221
+ : defaultConfig.testConnectivity,
222
+ };
223
+ console.log("🚀 Starting database initialization", {
224
+ environment: isLambda ? "lambda" : isLocal ? "local" : "cloud",
225
+ config: finalConfig.poolConfig,
226
+ testConnectivity: finalConfig.testConnectivity,
227
+ });
228
+ dbInitializationPromise = initializeDatabaseConnection(finalConfig);
229
+ }
230
+ return await dbInitializationPromise;
231
+ }
232
+ /**
233
+ * Get database pool instance - requires explicit initialization
234
+ * Call initializeDb() first before using any database operations
235
+ *
236
+ * @returns Promise resolving to the database pool instance
237
+ * @throws Error if database is not initialized
238
+ */
239
+ async function getDb() {
240
+ if (!dbInitializationPromise) {
241
+ throw new Error("Database not initialized! Call initializeDb() first before any database operations.\n" +
242
+ "Example: await initializeDb({ poolConfig: { max: 1 } });");
243
+ }
244
+ return await dbInitializationPromise;
245
+ }
246
+ /**
247
+ * Get a client from the pool for transaction handling
248
+ */
249
+ async function getClient() {
250
+ const db = await getDb();
251
+ return await db.connect();
252
+ }
253
+ /**
254
+ * Close the database pool
255
+ */
256
+ async function closeDb() {
257
+ if (pool) {
258
+ await pool.end();
259
+ pool = null;
260
+ dbInitializationPromise = null;
261
+ }
262
+ }
263
+ // =============================================================================
264
+ // EXAMPLE USAGE WITH NATIVE SQL
265
+ // =============================================================================
266
+ /*
267
+ // Example 1: Simple query
268
+ const db = await getDb();
269
+ const users = await db.query('SELECT * FROM public.users WHERE id = $1', [123]);
270
+
271
+ // Example 2: Insert with RETURNING
272
+ const result = await db.query(
273
+ 'INSERT INTO public.users (given_name, family_name) VALUES ($1, $2) RETURNING *',
274
+ ['John', 'Doe']
275
+ );
276
+ const newUser = result.rows[0];
277
+
278
+ // Example 3: Transactions
279
+ const client = await getClient();
280
+ try {
281
+ await client.query('BEGIN');
282
+ await client.query('INSERT INTO public.users (given_name) VALUES ($1)', ['Jane']);
283
+ await client.query('INSERT INTO linkedin.accounts (user_id, forager_id) VALUES ($1, $2)', [123, 456]);
284
+ await client.query('COMMIT');
285
+ } catch (error) {
286
+ await client.query('ROLLBACK');
287
+ throw error;
288
+ } finally {
289
+ client.release();
290
+ }
291
+ */
292
+ //# sourceMappingURL=db.js.map