@oneuptime/common 9.2.15 → 9.2.17

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 (441) hide show
  1. package/Models/DatabaseModels/Alert.ts +11 -0
  2. package/Models/DatabaseModels/AlertCustomField.ts +7 -0
  3. package/Models/DatabaseModels/AlertFeed.ts +9 -0
  4. package/Models/DatabaseModels/AlertInternalNote.ts +7 -0
  5. package/Models/DatabaseModels/AlertNoteTemplate.ts +11 -0
  6. package/Models/DatabaseModels/AlertOwnerTeam.ts +11 -0
  7. package/Models/DatabaseModels/AlertOwnerUser.ts +11 -0
  8. package/Models/DatabaseModels/AlertSeverity.ts +4 -0
  9. package/Models/DatabaseModels/AlertState.ts +4 -0
  10. package/Models/DatabaseModels/AlertStateTimeline.ts +20 -0
  11. package/Models/DatabaseModels/ApiKey.ts +8 -0
  12. package/Models/DatabaseModels/ApiKeyPermission.ts +11 -0
  13. package/Models/DatabaseModels/BillingInvoice.ts +42 -9
  14. package/Models/DatabaseModels/CallLog.ts +30 -0
  15. package/Models/DatabaseModels/CodeRepository.ts +664 -0
  16. package/Models/DatabaseModels/Dashboard.ts +11 -0
  17. package/Models/DatabaseModels/Domain.ts +5 -0
  18. package/Models/DatabaseModels/EmailLog.ts +31 -0
  19. package/Models/DatabaseModels/Incident.ts +8 -0
  20. package/Models/DatabaseModels/IncidentCustomField.ts +7 -0
  21. package/Models/DatabaseModels/IncidentFeed.ts +17 -0
  22. package/Models/DatabaseModels/IncidentInternalNote.ts +7 -0
  23. package/Models/DatabaseModels/IncidentNoteTemplate.ts +11 -0
  24. package/Models/DatabaseModels/IncidentOwnerTeam.ts +11 -0
  25. package/Models/DatabaseModels/IncidentOwnerUser.ts +11 -0
  26. package/Models/DatabaseModels/IncidentPublicNote.ts +8 -0
  27. package/Models/DatabaseModels/IncidentSeverity.ts +4 -0
  28. package/Models/DatabaseModels/IncidentState.ts +4 -0
  29. package/Models/DatabaseModels/IncidentStateTimeline.ts +25 -0
  30. package/Models/DatabaseModels/IncidentTemplate.ts +18 -0
  31. package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +6 -0
  32. package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +6 -0
  33. package/Models/DatabaseModels/Index.ts +8 -0
  34. package/Models/DatabaseModels/Label.ts +6 -0
  35. package/Models/DatabaseModels/LlmLog.ts +818 -0
  36. package/Models/DatabaseModels/LlmProvider.ts +21 -0
  37. package/Models/DatabaseModels/Monitor.ts +9 -0
  38. package/Models/DatabaseModels/MonitorCustomField.ts +7 -0
  39. package/Models/DatabaseModels/MonitorFeed.ts +17 -0
  40. package/Models/DatabaseModels/MonitorGroup.ts +5 -0
  41. package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +11 -0
  42. package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +11 -0
  43. package/Models/DatabaseModels/MonitorGroupResource.ts +10 -0
  44. package/Models/DatabaseModels/MonitorOwnerTeam.ts +11 -0
  45. package/Models/DatabaseModels/MonitorOwnerUser.ts +11 -0
  46. package/Models/DatabaseModels/MonitorProbe.ts +26 -2
  47. package/Models/DatabaseModels/MonitorSecret.ts +10 -0
  48. package/Models/DatabaseModels/MonitorStatus.ts +5 -0
  49. package/Models/DatabaseModels/MonitorStatusTimeline.ts +21 -0
  50. package/Models/DatabaseModels/MonitorTest.ts +18 -1
  51. package/Models/DatabaseModels/OnCallDutyPolicy.ts +6 -0
  52. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +13 -0
  53. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +34 -1
  54. package/Models/DatabaseModels/OnCallDutyPolicyFeed.ts +17 -0
  55. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +19 -0
  56. package/Models/DatabaseModels/OnCallDutyPolicyTimeLog.ts +16 -0
  57. package/Models/DatabaseModels/Probe.ts +11 -1
  58. package/Models/DatabaseModels/ProbeOwnerTeam.ts +11 -0
  59. package/Models/DatabaseModels/ProbeOwnerUser.ts +11 -0
  60. package/Models/DatabaseModels/Project.ts +222 -0
  61. package/Models/DatabaseModels/ProjectCallSMSConfig.ts +13 -0
  62. package/Models/DatabaseModels/ProjectSmtpConfig.ts +41 -6
  63. package/Models/DatabaseModels/ProjectSso.ts +17 -0
  64. package/Models/DatabaseModels/PromoCode.ts +20 -1
  65. package/Models/DatabaseModels/PushNotificationLog.ts +31 -0
  66. package/Models/DatabaseModels/Reseller.ts +12 -0
  67. package/Models/DatabaseModels/ResellerPlan.ts +13 -0
  68. package/Models/DatabaseModels/ScheduledMaintenance.ts +8 -0
  69. package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +7 -0
  70. package/Models/DatabaseModels/ScheduledMaintenanceFeed.ts +17 -0
  71. package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +7 -0
  72. package/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.ts +11 -0
  73. package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +11 -0
  74. package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +11 -0
  75. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +12 -0
  76. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +17 -0
  77. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +29 -0
  78. package/Models/DatabaseModels/ServiceCatalog.ts +6 -0
  79. package/Models/DatabaseModels/ServiceCatalogCodeRepository.ts +549 -0
  80. package/Models/DatabaseModels/ServiceCatalogDependency.ts +10 -0
  81. package/Models/DatabaseModels/ServiceCatalogMonitor.ts +10 -0
  82. package/Models/DatabaseModels/ServiceCatalogOwnerTeam.ts +10 -0
  83. package/Models/DatabaseModels/ServiceCatalogOwnerUser.ts +10 -0
  84. package/Models/DatabaseModels/ServiceCatalogTelemetryService.ts +10 -0
  85. package/Models/DatabaseModels/ShortLink.ts +4 -0
  86. package/Models/DatabaseModels/SmsLog.ts +31 -0
  87. package/Models/DatabaseModels/StatusPage.ts +6 -0
  88. package/Models/DatabaseModels/StatusPageAnnouncement.ts +5 -0
  89. package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +21 -0
  90. package/Models/DatabaseModels/StatusPageDomain.ts +10 -1
  91. package/Models/DatabaseModels/StatusPageFooterLink.ts +7 -0
  92. package/Models/DatabaseModels/StatusPageGroup.ts +8 -0
  93. package/Models/DatabaseModels/StatusPageHeaderLink.ts +5 -0
  94. package/Models/DatabaseModels/StatusPageOwnerTeam.ts +6 -0
  95. package/Models/DatabaseModels/StatusPageOwnerUser.ts +6 -0
  96. package/Models/DatabaseModels/StatusPageResource.ts +9 -0
  97. package/Models/DatabaseModels/StatusPageSso.ts +14 -0
  98. package/Models/DatabaseModels/StatusPageSubscriber.ts +5 -0
  99. package/Models/DatabaseModels/TableView.ts +12 -0
  100. package/Models/DatabaseModels/Team.ts +10 -0
  101. package/Models/DatabaseModels/TeamMember.ts +12 -0
  102. package/Models/DatabaseModels/TeamPermission.ts +11 -0
  103. package/Models/DatabaseModels/TelemetryException.ts +28 -0
  104. package/Models/DatabaseModels/TelemetryIngestionKey.ts +10 -0
  105. package/Models/DatabaseModels/TelemetryService.ts +6 -0
  106. package/Models/DatabaseModels/TelemetryUsageBilling.ts +15 -0
  107. package/Models/DatabaseModels/User.ts +9 -1
  108. package/Models/DatabaseModels/UserCall.ts +7 -0
  109. package/Models/DatabaseModels/UserEmail.ts +7 -0
  110. package/Models/DatabaseModels/UserNotificationRule.ts +13 -0
  111. package/Models/DatabaseModels/UserNotificationSetting.ts +10 -0
  112. package/Models/DatabaseModels/UserOnCallLog.ts +28 -2
  113. package/Models/DatabaseModels/UserSMS.ts +7 -0
  114. package/Models/DatabaseModels/Workflow.ts +6 -0
  115. package/Server/API/AIBillingAPI.ts +126 -0
  116. package/Server/API/GitHubAPI.ts +360 -0
  117. package/Server/API/IncidentAPI.ts +126 -0
  118. package/Server/EnvironmentConfig.ts +44 -0
  119. package/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.ts +79 -0
  120. package/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.ts +75 -0
  121. package/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.ts +32 -0
  122. package/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.ts +69 -0
  123. package/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.ts +111 -0
  124. package/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.ts +39 -0
  125. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
  126. package/Server/Services/AIBillingService.ts +247 -0
  127. package/Server/Services/AIService.ts +239 -0
  128. package/Server/Services/CodeRepositoryService.ts +10 -0
  129. package/Server/Services/IncidentService.ts +89 -0
  130. package/Server/Services/Index.ts +2 -0
  131. package/Server/Services/LlmLogService.ts +14 -0
  132. package/Server/Services/LlmProviderService.ts +58 -0
  133. package/Server/Services/ServiceCatalogCodeRepositoryService.ts +55 -0
  134. package/Server/Utils/AI/IncidentAIContextBuilder.ts +498 -0
  135. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +226 -0
  136. package/Server/Utils/LLM/LLMService.ts +276 -0
  137. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +166 -0
  138. package/Server/Utils/Workspace/Slack/Slack.ts +134 -0
  139. package/Server/Utils/Workspace/Workspace.ts +126 -0
  140. package/Types/CodeRepository/CodeRepositoryType.ts +1 -1
  141. package/Types/Database/TableColumn.ts +1 -0
  142. package/Types/LlmLogStatus.ts +7 -0
  143. package/Types/Permission.ts +87 -0
  144. package/Types/ServiceCatalog/CodeRepositoryImprovementAction.ts +9 -0
  145. package/UI/Components/AI/AILoader.tsx +95 -0
  146. package/UI/Components/AI/GenerateFromAIModal.tsx +295 -0
  147. package/UI/Components/Modal/Modal.tsx +6 -1
  148. package/build/dist/Models/DatabaseModels/Alert.js +8 -0
  149. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  150. package/build/dist/Models/DatabaseModels/AlertCustomField.js +6 -0
  151. package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
  152. package/build/dist/Models/DatabaseModels/AlertFeed.js +8 -0
  153. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
  154. package/build/dist/Models/DatabaseModels/AlertInternalNote.js +6 -0
  155. package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
  156. package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js +9 -0
  157. package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js.map +1 -1
  158. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +11 -0
  159. package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -1
  160. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +11 -0
  161. package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -1
  162. package/build/dist/Models/DatabaseModels/AlertSeverity.js +3 -0
  163. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  164. package/build/dist/Models/DatabaseModels/AlertState.js +3 -0
  165. package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
  166. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +19 -0
  167. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
  168. package/build/dist/Models/DatabaseModels/ApiKey.js +7 -0
  169. package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -1
  170. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +11 -0
  171. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
  172. package/build/dist/Models/DatabaseModels/BillingInvoice.js +42 -9
  173. package/build/dist/Models/DatabaseModels/BillingInvoice.js.map +1 -1
  174. package/build/dist/Models/DatabaseModels/CallLog.js +30 -0
  175. package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -1
  176. package/build/dist/Models/DatabaseModels/CodeRepository.js +689 -0
  177. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -0
  178. package/build/dist/Models/DatabaseModels/Dashboard.js +11 -0
  179. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  180. package/build/dist/Models/DatabaseModels/Domain.js +5 -0
  181. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
  182. package/build/dist/Models/DatabaseModels/EmailLog.js +31 -0
  183. package/build/dist/Models/DatabaseModels/EmailLog.js.map +1 -1
  184. package/build/dist/Models/DatabaseModels/Incident.js +7 -0
  185. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  186. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +6 -0
  187. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
  188. package/build/dist/Models/DatabaseModels/IncidentFeed.js +15 -0
  189. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
  190. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +6 -0
  191. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
  192. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js +9 -0
  193. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js.map +1 -1
  194. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +11 -0
  195. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -1
  196. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +11 -0
  197. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -1
  198. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +7 -0
  199. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  200. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +3 -0
  201. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  202. package/build/dist/Models/DatabaseModels/IncidentState.js +3 -0
  203. package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -1
  204. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +23 -0
  205. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  206. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +16 -0
  207. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  208. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +6 -0
  209. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -1
  210. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +6 -0
  211. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -1
  212. package/build/dist/Models/DatabaseModels/Index.js +7 -0
  213. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  214. package/build/dist/Models/DatabaseModels/Label.js +6 -0
  215. package/build/dist/Models/DatabaseModels/Label.js.map +1 -1
  216. package/build/dist/Models/DatabaseModels/LlmLog.js +856 -0
  217. package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -0
  218. package/build/dist/Models/DatabaseModels/LlmProvider.js +22 -0
  219. package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
  220. package/build/dist/Models/DatabaseModels/Monitor.js +8 -0
  221. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  222. package/build/dist/Models/DatabaseModels/MonitorCustomField.js +6 -0
  223. package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
  224. package/build/dist/Models/DatabaseModels/MonitorFeed.js +15 -0
  225. package/build/dist/Models/DatabaseModels/MonitorFeed.js.map +1 -1
  226. package/build/dist/Models/DatabaseModels/MonitorGroup.js +5 -0
  227. package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -1
  228. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +11 -0
  229. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -1
  230. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +11 -0
  231. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -1
  232. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js +10 -0
  233. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js.map +1 -1
  234. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +11 -0
  235. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -1
  236. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +11 -0
  237. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -1
  238. package/build/dist/Models/DatabaseModels/MonitorProbe.js +26 -2
  239. package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
  240. package/build/dist/Models/DatabaseModels/MonitorSecret.js +10 -0
  241. package/build/dist/Models/DatabaseModels/MonitorSecret.js.map +1 -1
  242. package/build/dist/Models/DatabaseModels/MonitorStatus.js +5 -0
  243. package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
  244. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +20 -0
  245. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
  246. package/build/dist/Models/DatabaseModels/MonitorTest.js +18 -1
  247. package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
  248. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +5 -0
  249. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -1
  250. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +12 -0
  251. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -1
  252. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +33 -1
  253. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
  254. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js +15 -0
  255. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js.map +1 -1
  256. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +18 -0
  257. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  258. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js +15 -0
  259. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js.map +1 -1
  260. package/build/dist/Models/DatabaseModels/Probe.js +11 -1
  261. package/build/dist/Models/DatabaseModels/Probe.js.map +1 -1
  262. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +11 -0
  263. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -1
  264. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +11 -0
  265. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -1
  266. package/build/dist/Models/DatabaseModels/Project.js +235 -0
  267. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  268. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +13 -0
  269. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -1
  270. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +40 -6
  271. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -1
  272. package/build/dist/Models/DatabaseModels/ProjectSso.js +16 -0
  273. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
  274. package/build/dist/Models/DatabaseModels/PromoCode.js +20 -1
  275. package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -1
  276. package/build/dist/Models/DatabaseModels/PushNotificationLog.js +30 -0
  277. package/build/dist/Models/DatabaseModels/PushNotificationLog.js.map +1 -1
  278. package/build/dist/Models/DatabaseModels/Reseller.js +12 -0
  279. package/build/dist/Models/DatabaseModels/Reseller.js.map +1 -1
  280. package/build/dist/Models/DatabaseModels/ResellerPlan.js +13 -0
  281. package/build/dist/Models/DatabaseModels/ResellerPlan.js.map +1 -1
  282. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +7 -0
  283. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  284. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +6 -0
  285. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
  286. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js +15 -0
  287. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js.map +1 -1
  288. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +6 -0
  289. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
  290. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js +9 -0
  291. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js.map +1 -1
  292. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +11 -0
  293. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -1
  294. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +11 -0
  295. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -1
  296. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +11 -0
  297. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  298. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +16 -0
  299. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  300. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +27 -0
  301. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  302. package/build/dist/Models/DatabaseModels/ServiceCatalog.js +5 -0
  303. package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +1 -1
  304. package/build/dist/Models/DatabaseModels/ServiceCatalogCodeRepository.js +565 -0
  305. package/build/dist/Models/DatabaseModels/ServiceCatalogCodeRepository.js.map +1 -0
  306. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js +10 -0
  307. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js.map +1 -1
  308. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js +10 -0
  309. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js +10 -0
  311. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js.map +1 -1
  312. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js +10 -0
  313. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js.map +1 -1
  314. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js +10 -0
  315. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js.map +1 -1
  316. package/build/dist/Models/DatabaseModels/ShortLink.js +4 -0
  317. package/build/dist/Models/DatabaseModels/ShortLink.js.map +1 -1
  318. package/build/dist/Models/DatabaseModels/SmsLog.js +30 -0
  319. package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -1
  320. package/build/dist/Models/DatabaseModels/StatusPage.js +5 -0
  321. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  322. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +4 -0
  323. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  324. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +19 -0
  325. package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
  326. package/build/dist/Models/DatabaseModels/StatusPageDomain.js +10 -1
  327. package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
  328. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js +7 -0
  329. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js.map +1 -1
  330. package/build/dist/Models/DatabaseModels/StatusPageGroup.js +7 -0
  331. package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
  332. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js +5 -0
  333. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js.map +1 -1
  334. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +6 -0
  335. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -1
  336. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +6 -0
  337. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -1
  338. package/build/dist/Models/DatabaseModels/StatusPageResource.js +9 -0
  339. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
  340. package/build/dist/Models/DatabaseModels/StatusPageSso.js +13 -0
  341. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
  342. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +5 -0
  343. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  344. package/build/dist/Models/DatabaseModels/TableView.js +12 -0
  345. package/build/dist/Models/DatabaseModels/TableView.js.map +1 -1
  346. package/build/dist/Models/DatabaseModels/Team.js +9 -0
  347. package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
  348. package/build/dist/Models/DatabaseModels/TeamMember.js +12 -0
  349. package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
  350. package/build/dist/Models/DatabaseModels/TeamPermission.js +11 -0
  351. package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
  352. package/build/dist/Models/DatabaseModels/TelemetryException.js +27 -0
  353. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  354. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +9 -0
  355. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
  356. package/build/dist/Models/DatabaseModels/TelemetryService.js +6 -0
  357. package/build/dist/Models/DatabaseModels/TelemetryService.js.map +1 -1
  358. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +15 -0
  359. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  360. package/build/dist/Models/DatabaseModels/User.js +9 -1
  361. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  362. package/build/dist/Models/DatabaseModels/UserCall.js +7 -0
  363. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
  364. package/build/dist/Models/DatabaseModels/UserEmail.js +7 -0
  365. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
  366. package/build/dist/Models/DatabaseModels/UserNotificationRule.js +13 -0
  367. package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -1
  368. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +10 -0
  369. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -1
  370. package/build/dist/Models/DatabaseModels/UserOnCallLog.js +28 -2
  371. package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
  372. package/build/dist/Models/DatabaseModels/UserSMS.js +7 -0
  373. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
  374. package/build/dist/Models/DatabaseModels/Workflow.js +5 -0
  375. package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
  376. package/build/dist/Server/API/AIBillingAPI.js +58 -0
  377. package/build/dist/Server/API/AIBillingAPI.js.map +1 -0
  378. package/build/dist/Server/API/GitHubAPI.js +207 -0
  379. package/build/dist/Server/API/GitHubAPI.js.map +1 -0
  380. package/build/dist/Server/API/IncidentAPI.js +84 -1
  381. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  382. package/build/dist/Server/EnvironmentConfig.js +31 -0
  383. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  384. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.js +34 -0
  385. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.js.map +1 -0
  386. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.js +32 -0
  387. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.js.map +1 -0
  388. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.js +38 -0
  389. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.js.map +1 -0
  390. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.js +30 -0
  391. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.js.map +1 -0
  392. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.js +44 -0
  393. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.js.map +1 -0
  394. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.js +22 -0
  395. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.js.map +1 -0
  396. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  397. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  398. package/build/dist/Server/Services/AIBillingService.js +187 -0
  399. package/build/dist/Server/Services/AIBillingService.js.map +1 -0
  400. package/build/dist/Server/Services/AIService.js +185 -0
  401. package/build/dist/Server/Services/AIService.js.map +1 -0
  402. package/build/dist/Server/Services/CodeRepositoryService.js +9 -0
  403. package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -0
  404. package/build/dist/Server/Services/IncidentService.js +61 -0
  405. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  406. package/build/dist/Server/Services/Index.js +2 -0
  407. package/build/dist/Server/Services/Index.js.map +1 -1
  408. package/build/dist/Server/Services/LlmLogService.js +13 -0
  409. package/build/dist/Server/Services/LlmLogService.js.map +1 -0
  410. package/build/dist/Server/Services/LlmProviderService.js +65 -0
  411. package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
  412. package/build/dist/Server/Services/ServiceCatalogCodeRepositoryService.js +54 -0
  413. package/build/dist/Server/Services/ServiceCatalogCodeRepositoryService.js.map +1 -0
  414. package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js +408 -0
  415. package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js.map +1 -0
  416. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +163 -0
  417. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  418. package/build/dist/Server/Utils/LLM/LLMService.js +225 -0
  419. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -0
  420. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +110 -0
  421. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  422. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +89 -0
  423. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  424. package/build/dist/Server/Utils/Workspace/Workspace.js +80 -0
  425. package/build/dist/Server/Utils/Workspace/Workspace.js.map +1 -1
  426. package/build/dist/Types/CodeRepository/CodeRepositoryType.js +1 -1
  427. package/build/dist/Types/CodeRepository/CodeRepositoryType.js.map +1 -1
  428. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  429. package/build/dist/Types/LlmLogStatus.js +8 -0
  430. package/build/dist/Types/LlmLogStatus.js.map +1 -0
  431. package/build/dist/Types/Permission.js +74 -0
  432. package/build/dist/Types/Permission.js.map +1 -1
  433. package/build/dist/Types/ServiceCatalog/CodeRepositoryImprovementAction.js +10 -0
  434. package/build/dist/Types/ServiceCatalog/CodeRepositoryImprovementAction.js.map +1 -0
  435. package/build/dist/UI/Components/AI/AILoader.js +64 -0
  436. package/build/dist/UI/Components/AI/AILoader.js.map +1 -0
  437. package/build/dist/UI/Components/AI/GenerateFromAIModal.js +207 -0
  438. package/build/dist/UI/Components/AI/GenerateFromAIModal.js.map +1 -0
  439. package/build/dist/UI/Components/Modal/Modal.js +6 -1
  440. package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
  441. package/package.json +1 -1
@@ -0,0 +1,664 @@
1
+ import Label from "./Label";
2
+ import Project from "./Project";
3
+ import User from "./User";
4
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
5
+ import Route from "../../Types/API/Route";
6
+ import { PlanType } from "../../Types/Billing/SubscriptionPlan";
7
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
8
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
9
+ import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
10
+ import AccessControlColumn from "../../Types/Database/AccessControlColumn";
11
+ import ColumnLength from "../../Types/Database/ColumnLength";
12
+ import ColumnType from "../../Types/Database/ColumnType";
13
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
14
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
15
+ import EnableWorkflow from "../../Types/Database/EnableWorkflow";
16
+ import SlugifyColumn from "../../Types/Database/SlugifyColumn";
17
+ import TableColumn from "../../Types/Database/TableColumn";
18
+ import TableColumnType from "../../Types/Database/TableColumnType";
19
+ import TableMetadata from "../../Types/Database/TableMetadata";
20
+ import TenantColumn from "../../Types/Database/TenantColumn";
21
+ import UniqueColumnBy from "../../Types/Database/UniqueColumnBy";
22
+ import IconProp from "../../Types/Icon/IconProp";
23
+ import ObjectID from "../../Types/ObjectID";
24
+ import Permission from "../../Types/Permission";
25
+ import CodeRepositoryType from "../../Types/CodeRepository/CodeRepositoryType";
26
+ import URL from "../../Types/API/URL";
27
+ import {
28
+ Column,
29
+ Entity,
30
+ Index,
31
+ JoinColumn,
32
+ JoinTable,
33
+ ManyToMany,
34
+ ManyToOne,
35
+ } from "typeorm";
36
+
37
+ @AccessControlColumn("labels")
38
+ @EnableDocumentation()
39
+ @TenantColumn("projectId")
40
+ @TableBillingAccessControl({
41
+ create: PlanType.Growth,
42
+ read: PlanType.Growth,
43
+ update: PlanType.Growth,
44
+ delete: PlanType.Growth,
45
+ })
46
+ @TableAccessControl({
47
+ create: [
48
+ Permission.ProjectOwner,
49
+ Permission.ProjectAdmin,
50
+ Permission.ProjectMember,
51
+ Permission.CreateCodeRepository,
52
+ ],
53
+ read: [
54
+ Permission.ProjectOwner,
55
+ Permission.ProjectAdmin,
56
+ Permission.ProjectMember,
57
+ Permission.ReadCodeRepository,
58
+ ],
59
+ delete: [
60
+ Permission.ProjectOwner,
61
+ Permission.ProjectAdmin,
62
+ Permission.DeleteCodeRepository,
63
+ ],
64
+ update: [
65
+ Permission.ProjectOwner,
66
+ Permission.ProjectAdmin,
67
+ Permission.ProjectMember,
68
+ Permission.EditCodeRepository,
69
+ ],
70
+ })
71
+ @EnableWorkflow({
72
+ create: true,
73
+ delete: true,
74
+ update: true,
75
+ read: true,
76
+ })
77
+ @CrudApiEndpoint(new Route("/code-repository"))
78
+ @SlugifyColumn("name", "slug")
79
+ @TableMetadata({
80
+ tableName: "CodeRepository",
81
+ singularName: "Code Repository",
82
+ pluralName: "Code Repositories",
83
+ icon: IconProp.Code,
84
+ tableDescription:
85
+ "Connect and manage code repositories from GitHub, GitLab, and other providers",
86
+ })
87
+ @Entity({
88
+ name: "CodeRepository",
89
+ })
90
+ export default class CodeRepository extends BaseModel {
91
+ @ColumnAccessControl({
92
+ create: [
93
+ Permission.ProjectOwner,
94
+ Permission.ProjectAdmin,
95
+ Permission.ProjectMember,
96
+ Permission.CreateCodeRepository,
97
+ ],
98
+ read: [
99
+ Permission.ProjectOwner,
100
+ Permission.ProjectAdmin,
101
+ Permission.ProjectMember,
102
+ Permission.ReadCodeRepository,
103
+ ],
104
+ update: [],
105
+ })
106
+ @TableColumn({
107
+ manyToOneRelationColumn: "projectId",
108
+ type: TableColumnType.Entity,
109
+ modelType: Project,
110
+ title: "Project",
111
+ description: "Relation to Project Resource in which this object belongs",
112
+ })
113
+ @ManyToOne(
114
+ () => {
115
+ return Project;
116
+ },
117
+ {
118
+ eager: false,
119
+ nullable: true,
120
+ onDelete: "CASCADE",
121
+ orphanedRowAction: "nullify",
122
+ },
123
+ )
124
+ @JoinColumn({ name: "projectId" })
125
+ public project?: Project = undefined;
126
+
127
+ @ColumnAccessControl({
128
+ create: [
129
+ Permission.ProjectOwner,
130
+ Permission.ProjectAdmin,
131
+ Permission.ProjectMember,
132
+ Permission.CreateCodeRepository,
133
+ ],
134
+ read: [
135
+ Permission.ProjectOwner,
136
+ Permission.ProjectAdmin,
137
+ Permission.ProjectMember,
138
+ Permission.ReadCodeRepository,
139
+ ],
140
+ update: [],
141
+ })
142
+ @Index()
143
+ @TableColumn({
144
+ type: TableColumnType.ObjectID,
145
+ required: true,
146
+ canReadOnRelationQuery: true,
147
+ title: "Project ID",
148
+ description: "ID of your OneUptime Project in which this object belongs",
149
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
150
+ })
151
+ @Column({
152
+ type: ColumnType.ObjectID,
153
+ nullable: false,
154
+ transformer: ObjectID.getDatabaseTransformer(),
155
+ })
156
+ public projectId?: ObjectID = undefined;
157
+
158
+ @ColumnAccessControl({
159
+ create: [
160
+ Permission.ProjectOwner,
161
+ Permission.ProjectAdmin,
162
+ Permission.ProjectMember,
163
+ Permission.CreateCodeRepository,
164
+ ],
165
+ read: [
166
+ Permission.ProjectOwner,
167
+ Permission.ProjectAdmin,
168
+ Permission.ProjectMember,
169
+ Permission.ReadCodeRepository,
170
+ ],
171
+ update: [
172
+ Permission.ProjectOwner,
173
+ Permission.ProjectAdmin,
174
+ Permission.ProjectMember,
175
+ Permission.EditCodeRepository,
176
+ ],
177
+ })
178
+ @TableColumn({
179
+ required: true,
180
+ type: TableColumnType.ShortText,
181
+ canReadOnRelationQuery: true,
182
+ title: "Name",
183
+ description: "A friendly name for this code repository",
184
+ example: "My Backend API",
185
+ })
186
+ @Column({
187
+ nullable: false,
188
+ type: ColumnType.ShortText,
189
+ length: ColumnLength.ShortText,
190
+ })
191
+ @UniqueColumnBy("projectId")
192
+ public name?: string = undefined;
193
+
194
+ @ColumnAccessControl({
195
+ create: [],
196
+ read: [
197
+ Permission.ProjectOwner,
198
+ Permission.ProjectAdmin,
199
+ Permission.ProjectMember,
200
+ Permission.ReadCodeRepository,
201
+ ],
202
+ update: [],
203
+ })
204
+ @TableColumn({
205
+ required: true,
206
+ unique: true,
207
+ type: TableColumnType.Slug,
208
+ computed: true,
209
+ title: "Slug",
210
+ description: "Friendly globally unique name for your object",
211
+ })
212
+ @Column({
213
+ nullable: false,
214
+ type: ColumnType.Slug,
215
+ length: ColumnLength.Slug,
216
+ })
217
+ public slug?: string = undefined;
218
+
219
+ @ColumnAccessControl({
220
+ create: [
221
+ Permission.ProjectOwner,
222
+ Permission.ProjectAdmin,
223
+ Permission.ProjectMember,
224
+ Permission.CreateCodeRepository,
225
+ ],
226
+ read: [
227
+ Permission.ProjectOwner,
228
+ Permission.ProjectAdmin,
229
+ Permission.ProjectMember,
230
+ Permission.ReadCodeRepository,
231
+ ],
232
+ update: [
233
+ Permission.ProjectOwner,
234
+ Permission.ProjectAdmin,
235
+ Permission.ProjectMember,
236
+ Permission.EditCodeRepository,
237
+ ],
238
+ })
239
+ @TableColumn({
240
+ required: false,
241
+ type: TableColumnType.LongText,
242
+ title: "Description",
243
+ description: "A description of this code repository",
244
+ example: "Main backend API service for user authentication and data access",
245
+ })
246
+ @Column({
247
+ nullable: true,
248
+ type: ColumnType.LongText,
249
+ length: ColumnLength.LongText,
250
+ })
251
+ public description?: string = undefined;
252
+
253
+ @ColumnAccessControl({
254
+ create: [
255
+ Permission.ProjectOwner,
256
+ Permission.ProjectAdmin,
257
+ Permission.ProjectMember,
258
+ Permission.CreateCodeRepository,
259
+ ],
260
+ read: [
261
+ Permission.ProjectOwner,
262
+ Permission.ProjectAdmin,
263
+ Permission.ProjectMember,
264
+ Permission.ReadCodeRepository,
265
+ ],
266
+ update: [],
267
+ })
268
+ @TableColumn({
269
+ required: true,
270
+ type: TableColumnType.ShortText,
271
+ canReadOnRelationQuery: true,
272
+ title: "Repository Hosted At",
273
+ description: "Where is this repository hosted (GitHub, GitLab, etc.)",
274
+ example: "GitHub",
275
+ })
276
+ @Column({
277
+ nullable: false,
278
+ type: ColumnType.ShortText,
279
+ length: ColumnLength.ShortText,
280
+ })
281
+ public repositoryHostedAt?: CodeRepositoryType = undefined;
282
+
283
+ @ColumnAccessControl({
284
+ create: [
285
+ Permission.ProjectOwner,
286
+ Permission.ProjectAdmin,
287
+ Permission.ProjectMember,
288
+ Permission.CreateCodeRepository,
289
+ ],
290
+ read: [
291
+ Permission.ProjectOwner,
292
+ Permission.ProjectAdmin,
293
+ Permission.ProjectMember,
294
+ Permission.ReadCodeRepository,
295
+ ],
296
+ update: [],
297
+ })
298
+ @TableColumn({
299
+ required: true,
300
+ type: TableColumnType.ShortText,
301
+ canReadOnRelationQuery: true,
302
+ title: "Organization Name",
303
+ description: "GitHub organization or username that owns this repository",
304
+ example: "my-organization",
305
+ })
306
+ @Column({
307
+ nullable: false,
308
+ type: ColumnType.ShortText,
309
+ length: ColumnLength.ShortText,
310
+ })
311
+ public organizationName?: string = undefined;
312
+
313
+ @ColumnAccessControl({
314
+ create: [
315
+ Permission.ProjectOwner,
316
+ Permission.ProjectAdmin,
317
+ Permission.ProjectMember,
318
+ Permission.CreateCodeRepository,
319
+ ],
320
+ read: [
321
+ Permission.ProjectOwner,
322
+ Permission.ProjectAdmin,
323
+ Permission.ProjectMember,
324
+ Permission.ReadCodeRepository,
325
+ ],
326
+ update: [],
327
+ })
328
+ @TableColumn({
329
+ required: true,
330
+ type: TableColumnType.ShortText,
331
+ canReadOnRelationQuery: true,
332
+ title: "Repository Name",
333
+ description: "The name of the repository",
334
+ example: "my-backend-api",
335
+ })
336
+ @Column({
337
+ nullable: false,
338
+ type: ColumnType.ShortText,
339
+ length: ColumnLength.ShortText,
340
+ })
341
+ public repositoryName?: string = undefined;
342
+
343
+ @ColumnAccessControl({
344
+ create: [
345
+ Permission.ProjectOwner,
346
+ Permission.ProjectAdmin,
347
+ Permission.ProjectMember,
348
+ Permission.CreateCodeRepository,
349
+ ],
350
+ read: [
351
+ Permission.ProjectOwner,
352
+ Permission.ProjectAdmin,
353
+ Permission.ProjectMember,
354
+ Permission.ReadCodeRepository,
355
+ ],
356
+ update: [
357
+ Permission.ProjectOwner,
358
+ Permission.ProjectAdmin,
359
+ Permission.ProjectMember,
360
+ Permission.EditCodeRepository,
361
+ ],
362
+ })
363
+ @TableColumn({
364
+ required: false,
365
+ type: TableColumnType.ShortText,
366
+ canReadOnRelationQuery: true,
367
+ title: "Main Branch Name",
368
+ description: "The name of the main/default branch",
369
+ example: "main",
370
+ })
371
+ @Column({
372
+ nullable: true,
373
+ type: ColumnType.ShortText,
374
+ length: ColumnLength.ShortText,
375
+ default: "main",
376
+ })
377
+ public mainBranchName?: string = undefined;
378
+
379
+ @ColumnAccessControl({
380
+ create: [
381
+ Permission.ProjectOwner,
382
+ Permission.ProjectAdmin,
383
+ Permission.ProjectMember,
384
+ Permission.CreateCodeRepository,
385
+ ],
386
+ read: [
387
+ Permission.ProjectOwner,
388
+ Permission.ProjectAdmin,
389
+ Permission.ProjectMember,
390
+ Permission.ReadCodeRepository,
391
+ ],
392
+ update: [],
393
+ })
394
+ @TableColumn({
395
+ required: false,
396
+ type: TableColumnType.LongURL,
397
+ canReadOnRelationQuery: true,
398
+ title: "Repository URL",
399
+ description: "The HTTPS URL to the repository",
400
+ example: "https://github.com/my-organization/my-backend-api",
401
+ })
402
+ @Column({
403
+ nullable: true,
404
+ type: ColumnType.LongURL,
405
+ transformer: URL.getDatabaseTransformer(),
406
+ })
407
+ public repositoryUrl?: URL = undefined;
408
+
409
+ // GitHub App specific fields
410
+ @ColumnAccessControl({
411
+ create: [
412
+ Permission.ProjectOwner,
413
+ Permission.ProjectAdmin,
414
+ Permission.CreateCodeRepository,
415
+ ],
416
+ read: [
417
+ Permission.ProjectOwner,
418
+ Permission.ProjectAdmin,
419
+ Permission.ReadCodeRepository,
420
+ ],
421
+ update: [],
422
+ })
423
+ @TableColumn({
424
+ required: false,
425
+ type: TableColumnType.LongText,
426
+ canReadOnRelationQuery: false,
427
+ title: "GitHub App Installation ID",
428
+ description:
429
+ "The GitHub App installation ID used to authenticate with this repository",
430
+ example: "12345678",
431
+ })
432
+ @Column({
433
+ nullable: true,
434
+ type: ColumnType.LongText,
435
+ length: ColumnLength.LongText,
436
+ })
437
+ public gitHubAppInstallationId?: string = undefined;
438
+
439
+ // GitLab specific fields
440
+ @ColumnAccessControl({
441
+ create: [
442
+ Permission.ProjectOwner,
443
+ Permission.ProjectAdmin,
444
+ Permission.CreateCodeRepository,
445
+ ],
446
+ read: [
447
+ Permission.ProjectOwner,
448
+ Permission.ProjectAdmin,
449
+ Permission.ReadCodeRepository,
450
+ ],
451
+ update: [],
452
+ })
453
+ @TableColumn({
454
+ required: false,
455
+ type: TableColumnType.LongText,
456
+ canReadOnRelationQuery: false,
457
+ title: "GitLab Project ID",
458
+ description: "The GitLab project ID for this repository",
459
+ example: "12345678",
460
+ })
461
+ @Column({
462
+ nullable: true,
463
+ type: ColumnType.LongText,
464
+ length: ColumnLength.LongText,
465
+ })
466
+ public gitLabProjectId?: string = undefined;
467
+
468
+ // Webhook secret for verifying incoming webhooks
469
+ @ColumnAccessControl({
470
+ create: [
471
+ Permission.ProjectOwner,
472
+ Permission.ProjectAdmin,
473
+ Permission.CreateCodeRepository,
474
+ ],
475
+ read: [],
476
+ update: [
477
+ Permission.ProjectOwner,
478
+ Permission.ProjectAdmin,
479
+ Permission.EditCodeRepository,
480
+ ],
481
+ })
482
+ @TableColumn({
483
+ required: false,
484
+ type: TableColumnType.VeryLongText,
485
+ canReadOnRelationQuery: false,
486
+ title: "Secret Token",
487
+ description: "Secret token used to verify incoming webhooks",
488
+ })
489
+ @Column({
490
+ nullable: true,
491
+ type: ColumnType.VeryLongText,
492
+ })
493
+ public secretToken?: string = undefined;
494
+
495
+ @ColumnAccessControl({
496
+ create: [
497
+ Permission.ProjectOwner,
498
+ Permission.ProjectAdmin,
499
+ Permission.ProjectMember,
500
+ Permission.CreateCodeRepository,
501
+ ],
502
+ read: [
503
+ Permission.ProjectOwner,
504
+ Permission.ProjectAdmin,
505
+ Permission.ProjectMember,
506
+ Permission.ReadCodeRepository,
507
+ ],
508
+ update: [],
509
+ })
510
+ @TableColumn({
511
+ manyToOneRelationColumn: "createdByUserId",
512
+ type: TableColumnType.Entity,
513
+ modelType: User,
514
+ title: "Created by User",
515
+ description:
516
+ "Relation to User who created this object (if this object was created by a User)",
517
+ })
518
+ @ManyToOne(
519
+ () => {
520
+ return User;
521
+ },
522
+ {
523
+ eager: false,
524
+ nullable: true,
525
+ onDelete: "SET NULL",
526
+ orphanedRowAction: "nullify",
527
+ },
528
+ )
529
+ @JoinColumn({ name: "createdByUserId" })
530
+ public createdByUser?: User = undefined;
531
+
532
+ @ColumnAccessControl({
533
+ create: [
534
+ Permission.ProjectOwner,
535
+ Permission.ProjectAdmin,
536
+ Permission.ProjectMember,
537
+ Permission.CreateCodeRepository,
538
+ ],
539
+ read: [
540
+ Permission.ProjectOwner,
541
+ Permission.ProjectAdmin,
542
+ Permission.ProjectMember,
543
+ Permission.ReadCodeRepository,
544
+ ],
545
+ update: [],
546
+ })
547
+ @TableColumn({
548
+ type: TableColumnType.ObjectID,
549
+ title: "Created by User ID",
550
+ description:
551
+ "User ID who created this object (if this object was created by a User)",
552
+ example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
553
+ })
554
+ @Column({
555
+ type: ColumnType.ObjectID,
556
+ nullable: true,
557
+ transformer: ObjectID.getDatabaseTransformer(),
558
+ })
559
+ public createdByUserId?: ObjectID = undefined;
560
+
561
+ @ColumnAccessControl({
562
+ create: [],
563
+ read: [
564
+ Permission.ProjectOwner,
565
+ Permission.ProjectAdmin,
566
+ Permission.ProjectMember,
567
+ Permission.ReadCodeRepository,
568
+ ],
569
+ update: [],
570
+ })
571
+ @TableColumn({
572
+ manyToOneRelationColumn: "deletedByUserId",
573
+ type: TableColumnType.Entity,
574
+ title: "Deleted by User",
575
+ modelType: User,
576
+ description:
577
+ "Relation to User who deleted this object (if this object was deleted by a User)",
578
+ })
579
+ @ManyToOne(
580
+ () => {
581
+ return User;
582
+ },
583
+ {
584
+ cascade: false,
585
+ eager: false,
586
+ nullable: true,
587
+ onDelete: "SET NULL",
588
+ orphanedRowAction: "nullify",
589
+ },
590
+ )
591
+ @JoinColumn({ name: "deletedByUserId" })
592
+ public deletedByUser?: User = undefined;
593
+
594
+ @ColumnAccessControl({
595
+ create: [],
596
+ read: [
597
+ Permission.ProjectOwner,
598
+ Permission.ProjectAdmin,
599
+ Permission.ProjectMember,
600
+ Permission.ReadCodeRepository,
601
+ ],
602
+ update: [],
603
+ })
604
+ @TableColumn({
605
+ type: TableColumnType.ObjectID,
606
+ title: "Deleted by User ID",
607
+ description:
608
+ "User ID who deleted this object (if this object was deleted by a User)",
609
+ example: "b2c3d4e5-f6a7-8901-bcde-f12345678901",
610
+ })
611
+ @Column({
612
+ type: ColumnType.ObjectID,
613
+ nullable: true,
614
+ transformer: ObjectID.getDatabaseTransformer(),
615
+ })
616
+ public deletedByUserId?: ObjectID = undefined;
617
+
618
+ @ColumnAccessControl({
619
+ create: [
620
+ Permission.ProjectOwner,
621
+ Permission.ProjectAdmin,
622
+ Permission.ProjectMember,
623
+ Permission.CreateCodeRepository,
624
+ ],
625
+ read: [
626
+ Permission.ProjectOwner,
627
+ Permission.ProjectAdmin,
628
+ Permission.ProjectMember,
629
+ Permission.ReadCodeRepository,
630
+ ],
631
+ update: [
632
+ Permission.ProjectOwner,
633
+ Permission.ProjectAdmin,
634
+ Permission.ProjectMember,
635
+ Permission.EditCodeRepository,
636
+ ],
637
+ })
638
+ @TableColumn({
639
+ required: false,
640
+ type: TableColumnType.EntityArray,
641
+ modelType: Label,
642
+ title: "Labels",
643
+ description:
644
+ "Relation to Labels Array where this object is categorized in.",
645
+ })
646
+ @ManyToMany(
647
+ () => {
648
+ return Label;
649
+ },
650
+ { eager: false },
651
+ )
652
+ @JoinTable({
653
+ name: "CodeRepositoryLabel",
654
+ inverseJoinColumn: {
655
+ name: "labelId",
656
+ referencedColumnName: "_id",
657
+ },
658
+ joinColumn: {
659
+ name: "codeRepositoryId",
660
+ referencedColumnName: "_id",
661
+ },
662
+ })
663
+ public labels?: Array<Label> = undefined;
664
+ }