@oneuptime/common 9.2.16 → 9.2.18

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