@oneuptime/common 9.2.12 → 9.2.14

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 (190) hide show
  1. package/Models/DatabaseModels/AlertInternalNote.ts +29 -0
  2. package/Models/DatabaseModels/IncidentInternalNote.ts +29 -0
  3. package/Models/DatabaseModels/IncidentPublicNote.ts +29 -0
  4. package/Models/DatabaseModels/Index.ts +3 -11
  5. package/Models/DatabaseModels/{CopilotPullRequest.ts → LlmProvider.ts} +243 -248
  6. package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +29 -0
  7. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +29 -0
  8. package/Server/API/LlmProviderAPI.ts +57 -0
  9. package/Server/API/MicrosoftTeamsAPI.ts +2 -146
  10. package/Server/API/SlackAPI.ts +105 -0
  11. package/Server/API/StatusPageAPI.ts +6 -0
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1765477339178-MigrationName.ts +71 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1765540325149-MigrationName.ts +45 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1765540549739-MigrationName.ts +61 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1765544010078-MigrationName.ts +35 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  17. package/Server/Middleware/SlackAuthorization.ts +4 -1
  18. package/Server/Services/AlertInternalNoteService.ts +26 -0
  19. package/Server/Services/IncidentInternalNoteService.ts +26 -0
  20. package/Server/Services/IncidentPublicNoteService.ts +26 -0
  21. package/Server/Services/Index.ts +2 -11
  22. package/Server/Services/LlmProviderService.ts +100 -0
  23. package/Server/Services/ScheduledMaintenanceInternalNoteService.ts +26 -0
  24. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +26 -0
  25. package/Server/Services/StatusPageService.ts +3 -0
  26. package/Server/Utils/Express.ts +1 -0
  27. package/Server/Utils/StartServer.ts +5 -0
  28. package/Server/Utils/StatusPageResource.ts +89 -0
  29. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +96 -55
  30. package/Server/Utils/Workspace/Slack/Actions/ActionTypes.ts +16 -0
  31. package/Server/Utils/Workspace/Slack/Actions/Alert.ts +184 -1
  32. package/Server/Utils/Workspace/Slack/Actions/Incident.ts +224 -1
  33. package/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts +232 -1
  34. package/Server/Utils/Workspace/Slack/Slack.ts +113 -0
  35. package/Server/Utils/Workspace/Slack/app-manifest.json +13 -2
  36. package/Tests/Server/Utils/StatusPageResource.test.ts +161 -0
  37. package/Types/Icon/IconProp.ts +1 -0
  38. package/Types/LLM/Index.ts +4 -0
  39. package/Types/LLM/LlmType.ts +7 -0
  40. package/Types/Permission.ts +38 -113
  41. package/UI/Components/Icon/Icon.tsx +8 -0
  42. package/UI/Components/Link/Link.tsx +5 -1
  43. package/build/dist/Models/DatabaseModels/AlertInternalNote.js +30 -0
  44. package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
  45. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +30 -0
  46. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
  47. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +30 -0
  48. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  49. package/build/dist/Models/DatabaseModels/Index.js +2 -10
  50. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  51. package/build/dist/Models/DatabaseModels/{CopilotPullRequest.js → LlmProvider.js} +263 -255
  52. package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -0
  53. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +30 -0
  54. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
  55. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +30 -0
  56. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  57. package/build/dist/Server/API/LlmProviderAPI.js +36 -0
  58. package/build/dist/Server/API/LlmProviderAPI.js.map +1 -0
  59. package/build/dist/Server/API/MicrosoftTeamsAPI.js +2 -91
  60. package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
  61. package/build/dist/Server/API/SlackAPI.js +74 -0
  62. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  63. package/build/dist/Server/API/StatusPageAPI.js +6 -0
  64. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  65. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765477339178-MigrationName.js +30 -0
  66. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765477339178-MigrationName.js.map +1 -0
  67. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765540325149-MigrationName.js +22 -0
  68. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765540325149-MigrationName.js.map +1 -0
  69. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765540549739-MigrationName.js +39 -0
  70. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765540549739-MigrationName.js.map +1 -0
  71. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765544010078-MigrationName.js +18 -0
  72. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765544010078-MigrationName.js.map +1 -0
  73. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  74. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  75. package/build/dist/Server/Middleware/SlackAuthorization.js +4 -1
  76. package/build/dist/Server/Middleware/SlackAuthorization.js.map +1 -1
  77. package/build/dist/Server/Services/AlertInternalNoteService.js +24 -0
  78. package/build/dist/Server/Services/AlertInternalNoteService.js.map +1 -1
  79. package/build/dist/Server/Services/IncidentInternalNoteService.js +24 -0
  80. package/build/dist/Server/Services/IncidentInternalNoteService.js.map +1 -1
  81. package/build/dist/Server/Services/IncidentPublicNoteService.js +24 -0
  82. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  83. package/build/dist/Server/Services/Index.js +2 -10
  84. package/build/dist/Server/Services/Index.js.map +1 -1
  85. package/build/dist/Server/Services/LlmProviderService.js +85 -0
  86. package/build/dist/Server/Services/LlmProviderService.js.map +1 -0
  87. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js +24 -0
  88. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js.map +1 -1
  89. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +24 -0
  90. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  91. package/build/dist/Server/Services/StatusPageService.js +3 -0
  92. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  93. package/build/dist/Server/Utils/Express.js.map +1 -1
  94. package/build/dist/Server/Utils/StartServer.js +5 -0
  95. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  96. package/build/dist/Server/Utils/StatusPageResource.js +68 -0
  97. package/build/dist/Server/Utils/StatusPageResource.js.map +1 -0
  98. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +73 -42
  99. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  100. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js +13 -0
  101. package/build/dist/Server/Utils/Workspace/Slack/Actions/ActionTypes.js.map +1 -1
  102. package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js +143 -1
  103. package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js.map +1 -1
  104. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js +173 -1
  105. package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js.map +1 -1
  106. package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js +173 -1
  107. package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js.map +1 -1
  108. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +92 -0
  109. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  110. package/build/dist/Server/Utils/Workspace/Slack/app-manifest.json +12 -2
  111. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js +122 -0
  112. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js.map +1 -0
  113. package/build/dist/Types/Icon/IconProp.js +1 -0
  114. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  115. package/build/dist/Types/LLM/Index.js +4 -0
  116. package/build/dist/Types/LLM/Index.js.map +1 -0
  117. package/build/dist/Types/LLM/LlmType.js +8 -0
  118. package/build/dist/Types/LLM/LlmType.js.map +1 -0
  119. package/build/dist/Types/Permission.js +32 -97
  120. package/build/dist/Types/Permission.js.map +1 -1
  121. package/build/dist/UI/Components/Icon/Icon.js +3 -0
  122. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  123. package/build/dist/UI/Components/Link/Link.js +4 -1
  124. package/build/dist/UI/Components/Link/Link.js.map +1 -1
  125. package/package.json +5 -1
  126. package/Models/DatabaseModels/CopilotAction.ts +0 -772
  127. package/Models/DatabaseModels/CopilotActionTypePriority.ts +0 -340
  128. package/Models/DatabaseModels/CopilotCodeRepository.ts +0 -637
  129. package/Models/DatabaseModels/ServiceCopilotCodeRepository.ts +0 -544
  130. package/Server/API/CopilotActionAPI.ts +0 -418
  131. package/Server/API/CopilotCodeRepositoryAPI.ts +0 -127
  132. package/Server/API/CopilotPullRequestAPI.ts +0 -243
  133. package/Server/Docs/CodeRepository.md +0 -43
  134. package/Server/Middleware/CodeRepositoryAuthorization.ts +0 -50
  135. package/Server/Services/CopilotActionService.ts +0 -10
  136. package/Server/Services/CopilotActionTypePriorityService.ts +0 -67
  137. package/Server/Services/CopilotCodeRepositoryService.ts +0 -62
  138. package/Server/Services/CopilotPullRequestService.ts +0 -10
  139. package/Server/Services/ServiceCopilotCodeRepositoryService.ts +0 -10
  140. package/Types/Copilot/CopilotActionProps/DirectoryActionProp.ts +0 -3
  141. package/Types/Copilot/CopilotActionProps/ExceptionActionProp.ts +0 -4
  142. package/Types/Copilot/CopilotActionProps/FileActionProp.ts +0 -7
  143. package/Types/Copilot/CopilotActionProps/FunctionActionProp.ts +0 -5
  144. package/Types/Copilot/CopilotActionProps/Index.ts +0 -96
  145. package/Types/Copilot/CopilotActionProps/SpanActionProp.ts +0 -4
  146. package/Types/Copilot/CopilotActionStatus.ts +0 -114
  147. package/Types/Copilot/CopilotActionType.ts +0 -212
  148. package/build/dist/Models/DatabaseModels/CopilotAction.js +0 -793
  149. package/build/dist/Models/DatabaseModels/CopilotAction.js.map +0 -1
  150. package/build/dist/Models/DatabaseModels/CopilotActionTypePriority.js +0 -358
  151. package/build/dist/Models/DatabaseModels/CopilotActionTypePriority.js.map +0 -1
  152. package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js +0 -656
  153. package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js.map +0 -1
  154. package/build/dist/Models/DatabaseModels/CopilotPullRequest.js.map +0 -1
  155. package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js +0 -561
  156. package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js.map +0 -1
  157. package/build/dist/Server/API/CopilotActionAPI.js +0 -295
  158. package/build/dist/Server/API/CopilotActionAPI.js.map +0 -1
  159. package/build/dist/Server/API/CopilotCodeRepositoryAPI.js +0 -91
  160. package/build/dist/Server/API/CopilotCodeRepositoryAPI.js.map +0 -1
  161. package/build/dist/Server/API/CopilotPullRequestAPI.js +0 -166
  162. package/build/dist/Server/API/CopilotPullRequestAPI.js.map +0 -1
  163. package/build/dist/Server/Middleware/CodeRepositoryAuthorization.js +0 -48
  164. package/build/dist/Server/Middleware/CodeRepositoryAuthorization.js.map +0 -1
  165. package/build/dist/Server/Services/CopilotActionService.js +0 -9
  166. package/build/dist/Server/Services/CopilotActionService.js.map +0 -1
  167. package/build/dist/Server/Services/CopilotActionTypePriorityService.js +0 -61
  168. package/build/dist/Server/Services/CopilotActionTypePriorityService.js.map +0 -1
  169. package/build/dist/Server/Services/CopilotCodeRepositoryService.js +0 -61
  170. package/build/dist/Server/Services/CopilotCodeRepositoryService.js.map +0 -1
  171. package/build/dist/Server/Services/CopilotPullRequestService.js +0 -9
  172. package/build/dist/Server/Services/CopilotPullRequestService.js.map +0 -1
  173. package/build/dist/Server/Services/ServiceCopilotCodeRepositoryService.js +0 -9
  174. package/build/dist/Server/Services/ServiceCopilotCodeRepositoryService.js.map +0 -1
  175. package/build/dist/Types/Copilot/CopilotActionProps/DirectoryActionProp.js +0 -2
  176. package/build/dist/Types/Copilot/CopilotActionProps/DirectoryActionProp.js.map +0 -1
  177. package/build/dist/Types/Copilot/CopilotActionProps/ExceptionActionProp.js +0 -2
  178. package/build/dist/Types/Copilot/CopilotActionProps/ExceptionActionProp.js.map +0 -1
  179. package/build/dist/Types/Copilot/CopilotActionProps/FileActionProp.js +0 -2
  180. package/build/dist/Types/Copilot/CopilotActionProps/FileActionProp.js.map +0 -1
  181. package/build/dist/Types/Copilot/CopilotActionProps/FunctionActionProp.js +0 -2
  182. package/build/dist/Types/Copilot/CopilotActionProps/FunctionActionProp.js.map +0 -1
  183. package/build/dist/Types/Copilot/CopilotActionProps/Index.js +0 -64
  184. package/build/dist/Types/Copilot/CopilotActionProps/Index.js.map +0 -1
  185. package/build/dist/Types/Copilot/CopilotActionProps/SpanActionProp.js +0 -2
  186. package/build/dist/Types/Copilot/CopilotActionProps/SpanActionProp.js.map +0 -1
  187. package/build/dist/Types/Copilot/CopilotActionStatus.js +0 -96
  188. package/build/dist/Types/Copilot/CopilotActionStatus.js.map +0 -1
  189. package/build/dist/Types/Copilot/CopilotActionType.js +0 -175
  190. package/build/dist/Types/Copilot/CopilotActionType.js.map +0 -1
@@ -1,637 +0,0 @@
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 CodeRepositoryType from "../../Types/CodeRepository/CodeRepositoryType";
8
- import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
9
- import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
10
- import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
11
- import AccessControlColumn from "../../Types/Database/AccessControlColumn";
12
- import ColumnLength from "../../Types/Database/ColumnLength";
13
- import ColumnType from "../../Types/Database/ColumnType";
14
- import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
15
- import EnableDocumentation from "../../Types/Database/EnableDocumentation";
16
- import EnableWorkflow from "../../Types/Database/EnableWorkflow";
17
- import SlugifyColumn from "../../Types/Database/SlugifyColumn";
18
- import TableColumn from "../../Types/Database/TableColumn";
19
- import TableColumnType from "../../Types/Database/TableColumnType";
20
- import TableMetadata from "../../Types/Database/TableMetadata";
21
- import TenantColumn from "../../Types/Database/TenantColumn";
22
- import UniqueColumnBy from "../../Types/Database/UniqueColumnBy";
23
- import IconProp from "../../Types/Icon/IconProp";
24
- import ObjectID from "../../Types/ObjectID";
25
- import Permission from "../../Types/Permission";
26
- import {
27
- Column,
28
- Entity,
29
- Index,
30
- JoinColumn,
31
- JoinTable,
32
- ManyToMany,
33
- ManyToOne,
34
- } from "typeorm";
35
-
36
- @AccessControlColumn("labels")
37
- @EnableDocumentation()
38
- @TenantColumn("projectId")
39
- @TableBillingAccessControl({
40
- create: PlanType.Growth,
41
- read: PlanType.Growth,
42
- update: PlanType.Growth,
43
- delete: PlanType.Growth,
44
- })
45
- @TableAccessControl({
46
- create: [
47
- Permission.ProjectOwner,
48
- Permission.ProjectAdmin,
49
- Permission.ProjectMember,
50
- Permission.CreateCopilotCodeRepository,
51
- ],
52
- read: [
53
- Permission.ProjectOwner,
54
- Permission.ProjectAdmin,
55
- Permission.ProjectMember,
56
- Permission.ProjectMember,
57
- Permission.ReadCopilotCodeRepository,
58
- ],
59
- delete: [
60
- Permission.ProjectOwner,
61
- Permission.ProjectAdmin,
62
- Permission.ProjectMember,
63
- Permission.DeleteCopilotCodeRepository,
64
- ],
65
- update: [
66
- Permission.ProjectOwner,
67
- Permission.ProjectAdmin,
68
- Permission.ProjectMember,
69
- Permission.EditCopilotCodeRepository,
70
- ],
71
- })
72
- @EnableWorkflow({
73
- create: true,
74
- delete: true,
75
- update: true,
76
- read: true,
77
- })
78
- @CrudApiEndpoint(new Route("/copilot-code-repository"))
79
- @SlugifyColumn("name", "slug")
80
- @TableMetadata({
81
- tableName: "CopilotCodeRepository",
82
- singularName: "Code Repository",
83
- pluralName: "Code Repositories",
84
- icon: IconProp.SquareStack,
85
- tableDescription:
86
- "A Code Repository is a place where you can store your code and collaborate with others. You can connect your Git Repository to OneUptime and we will improve your code automatically for you.",
87
- })
88
- @Entity({
89
- name: "CopilotCodeRepository",
90
- })
91
- export default class CopilotCodeRepository extends BaseModel {
92
- @ColumnAccessControl({
93
- create: [
94
- Permission.ProjectOwner,
95
- Permission.ProjectAdmin,
96
- Permission.ProjectMember,
97
- Permission.CreateCopilotCodeRepository,
98
- ],
99
- read: [
100
- Permission.ProjectOwner,
101
- Permission.ProjectAdmin,
102
- Permission.ProjectMember,
103
- Permission.ProjectMember,
104
- Permission.ReadCopilotCodeRepository,
105
- ],
106
- update: [],
107
- })
108
- @TableColumn({
109
- manyToOneRelationColumn: "projectId",
110
- type: TableColumnType.Entity,
111
- modelType: Project,
112
- title: "Project",
113
- description: "Relation to Project Resource in which this object belongs",
114
- })
115
- @ManyToOne(
116
- () => {
117
- return Project;
118
- },
119
- {
120
- eager: false,
121
- nullable: true,
122
- onDelete: "CASCADE",
123
- orphanedRowAction: "nullify",
124
- },
125
- )
126
- @JoinColumn({ name: "projectId" })
127
- public project?: Project = undefined;
128
-
129
- @ColumnAccessControl({
130
- create: [
131
- Permission.ProjectOwner,
132
- Permission.ProjectAdmin,
133
- Permission.ProjectMember,
134
- Permission.CreateCopilotCodeRepository,
135
- ],
136
- read: [
137
- Permission.ProjectOwner,
138
- Permission.ProjectAdmin,
139
- Permission.ProjectMember,
140
- Permission.ProjectMember,
141
- Permission.ReadCopilotCodeRepository,
142
- ],
143
- update: [],
144
- })
145
- @Index()
146
- @TableColumn({
147
- type: TableColumnType.ObjectID,
148
- required: true,
149
- canReadOnRelationQuery: true,
150
- title: "Project ID",
151
- description: "ID of your OneUptime Project in which this object belongs",
152
- })
153
- @Column({
154
- type: ColumnType.ObjectID,
155
- nullable: false,
156
- transformer: ObjectID.getDatabaseTransformer(),
157
- })
158
- public projectId?: ObjectID = undefined;
159
-
160
- @ColumnAccessControl({
161
- create: [
162
- Permission.ProjectOwner,
163
- Permission.ProjectAdmin,
164
- Permission.ProjectMember,
165
- Permission.CreateCopilotCodeRepository,
166
- ],
167
- read: [
168
- Permission.ProjectOwner,
169
- Permission.ProjectAdmin,
170
- Permission.ProjectMember,
171
- Permission.ProjectMember,
172
- Permission.ReadCopilotCodeRepository,
173
- ],
174
- update: [
175
- Permission.ProjectOwner,
176
- Permission.ProjectAdmin,
177
- Permission.ProjectMember,
178
- Permission.EditCopilotCodeRepository,
179
- ],
180
- })
181
- @TableColumn({
182
- required: true,
183
- type: TableColumnType.ShortText,
184
- canReadOnRelationQuery: true,
185
- title: "Name",
186
- description: "Any friendly name of this object",
187
- })
188
- @Column({
189
- nullable: false,
190
- type: ColumnType.ShortText,
191
- length: ColumnLength.ShortText,
192
- })
193
- @UniqueColumnBy("projectId")
194
- public name?: string = undefined;
195
-
196
- @ColumnAccessControl({
197
- create: [],
198
- read: [
199
- Permission.ProjectOwner,
200
- Permission.ProjectAdmin,
201
- Permission.ProjectMember,
202
- Permission.ProjectMember,
203
- Permission.ReadCopilotCodeRepository,
204
- ],
205
- update: [],
206
- })
207
- @TableColumn({
208
- required: true,
209
- unique: true,
210
- type: TableColumnType.Slug,
211
- computed: true,
212
- title: "Slug",
213
- description: "Friendly globally unique name for your object",
214
- })
215
- @Column({
216
- nullable: false,
217
- type: ColumnType.Slug,
218
- length: ColumnLength.Slug,
219
- })
220
- public slug?: string = undefined;
221
-
222
- @ColumnAccessControl({
223
- create: [
224
- Permission.ProjectOwner,
225
- Permission.ProjectAdmin,
226
- Permission.ProjectMember,
227
- Permission.CreateCopilotCodeRepository,
228
- ],
229
- read: [
230
- Permission.ProjectOwner,
231
- Permission.ProjectAdmin,
232
- Permission.ProjectMember,
233
- Permission.ProjectMember,
234
- Permission.ReadCopilotCodeRepository,
235
- ],
236
- update: [
237
- Permission.ProjectOwner,
238
- Permission.ProjectAdmin,
239
- Permission.ProjectMember,
240
- Permission.EditCopilotCodeRepository,
241
- ],
242
- })
243
- @TableColumn({
244
- required: false,
245
- type: TableColumnType.LongText,
246
- title: "Description",
247
- description: "Friendly description that will help you remember",
248
- })
249
- @Column({
250
- nullable: true,
251
- type: ColumnType.LongText,
252
- length: ColumnLength.LongText,
253
- })
254
- public description?: string = undefined;
255
-
256
- @ColumnAccessControl({
257
- create: [
258
- Permission.ProjectOwner,
259
- Permission.ProjectAdmin,
260
- Permission.ProjectMember,
261
- Permission.CreateCopilotCodeRepository,
262
- ],
263
- read: [
264
- Permission.ProjectOwner,
265
- Permission.ProjectAdmin,
266
- Permission.ProjectMember,
267
- Permission.ProjectMember,
268
- Permission.ReadCopilotCodeRepository,
269
- ],
270
- update: [],
271
- })
272
- @TableColumn({
273
- manyToOneRelationColumn: "createdByUserId",
274
- type: TableColumnType.Entity,
275
- modelType: User,
276
- title: "Created by User",
277
- description:
278
- "Relation to User who created this object (if this object was created by a User)",
279
- })
280
- @ManyToOne(
281
- () => {
282
- return User;
283
- },
284
- {
285
- eager: false,
286
- nullable: true,
287
- onDelete: "SET NULL",
288
- orphanedRowAction: "nullify",
289
- },
290
- )
291
- @JoinColumn({ name: "createdByUserId" })
292
- public createdByUser?: User = undefined;
293
-
294
- @ColumnAccessControl({
295
- create: [
296
- Permission.ProjectOwner,
297
- Permission.ProjectAdmin,
298
- Permission.ProjectMember,
299
- Permission.CreateCopilotCodeRepository,
300
- ],
301
- read: [
302
- Permission.ProjectOwner,
303
- Permission.ProjectAdmin,
304
- Permission.ProjectMember,
305
- Permission.ProjectMember,
306
- Permission.ReadCopilotCodeRepository,
307
- ],
308
- update: [],
309
- })
310
- @TableColumn({
311
- type: TableColumnType.ObjectID,
312
- title: "Created by User ID",
313
- description:
314
- "User ID who created this object (if this object was created by a User)",
315
- })
316
- @Column({
317
- type: ColumnType.ObjectID,
318
- nullable: true,
319
- transformer: ObjectID.getDatabaseTransformer(),
320
- })
321
- public createdByUserId?: ObjectID = undefined;
322
-
323
- @ColumnAccessControl({
324
- create: [],
325
- read: [
326
- Permission.ProjectOwner,
327
- Permission.ProjectAdmin,
328
- Permission.ProjectMember,
329
- Permission.ProjectMember,
330
- Permission.ReadCopilotCodeRepository,
331
- ],
332
- update: [],
333
- })
334
- @TableColumn({
335
- manyToOneRelationColumn: "deletedByUserId",
336
- type: TableColumnType.Entity,
337
- title: "Deleted by User",
338
- modelType: User,
339
- description:
340
- "Relation to User who deleted this object (if this object was deleted by a User)",
341
- })
342
- @ManyToOne(
343
- () => {
344
- return User;
345
- },
346
- {
347
- cascade: false,
348
- eager: false,
349
- nullable: true,
350
- onDelete: "SET NULL",
351
- orphanedRowAction: "nullify",
352
- },
353
- )
354
- @JoinColumn({ name: "deletedByUserId" })
355
- public deletedByUser?: User = undefined;
356
-
357
- @ColumnAccessControl({
358
- create: [],
359
- read: [
360
- Permission.ProjectOwner,
361
- Permission.ProjectAdmin,
362
- Permission.ProjectMember,
363
- Permission.ProjectMember,
364
- Permission.ReadCopilotCodeRepository,
365
- ],
366
- update: [],
367
- })
368
- @TableColumn({
369
- type: TableColumnType.ObjectID,
370
- title: "Deleted by User ID",
371
- description:
372
- "User ID who deleted this object (if this object was deleted by a User)",
373
- })
374
- @Column({
375
- type: ColumnType.ObjectID,
376
- nullable: true,
377
- transformer: ObjectID.getDatabaseTransformer(),
378
- })
379
- public deletedByUserId?: ObjectID = undefined;
380
-
381
- @ColumnAccessControl({
382
- create: [
383
- Permission.ProjectOwner,
384
- Permission.ProjectAdmin,
385
- Permission.ProjectMember,
386
- Permission.CreateCopilotCodeRepository,
387
- ],
388
- read: [
389
- Permission.ProjectOwner,
390
- Permission.ProjectAdmin,
391
- Permission.ProjectMember,
392
- Permission.ProjectMember,
393
- Permission.ReadCopilotCodeRepository,
394
- ],
395
- update: [
396
- Permission.ProjectOwner,
397
- Permission.ProjectAdmin,
398
- Permission.ProjectMember,
399
- Permission.EditCopilotCodeRepository,
400
- ],
401
- })
402
- @TableColumn({
403
- required: false,
404
- type: TableColumnType.EntityArray,
405
- modelType: Label,
406
- title: "Labels",
407
- description:
408
- "Relation to Labels Array where this object is categorized in.",
409
- })
410
- @ManyToMany(
411
- () => {
412
- return Label;
413
- },
414
- { eager: false },
415
- )
416
- @JoinTable({
417
- name: "CopilotCodeRepositoryLabel",
418
- inverseJoinColumn: {
419
- name: "labelId",
420
- referencedColumnName: "_id",
421
- },
422
- joinColumn: {
423
- name: "CopilotCodeRepositoryId",
424
- referencedColumnName: "_id",
425
- },
426
- })
427
- public labels?: Array<Label> = undefined;
428
-
429
- @ColumnAccessControl({
430
- create: [],
431
- read: [
432
- Permission.ProjectOwner,
433
- Permission.ProjectAdmin,
434
- Permission.ProjectMember,
435
- Permission.ProjectMember,
436
- Permission.ReadCopilotCodeRepository,
437
- ],
438
- update: [
439
- Permission.ProjectOwner,
440
- Permission.ProjectAdmin,
441
- Permission.ProjectMember,
442
- Permission.EditCopilotCodeRepository,
443
- ],
444
- })
445
- @Index()
446
- @TableColumn({
447
- type: TableColumnType.ObjectID,
448
- isDefaultValueColumn: false,
449
- computed: true,
450
- title: "Secret Token",
451
- description:
452
- "Secret Token for this code repository. This is used to connect this code repository to OneUptime.",
453
- })
454
- @Column({
455
- type: ColumnType.ObjectID,
456
- nullable: false,
457
- transformer: ObjectID.getDatabaseTransformer(),
458
- })
459
- public secretToken?: ObjectID = undefined;
460
-
461
- @ColumnAccessControl({
462
- create: [
463
- Permission.ProjectOwner,
464
- Permission.ProjectAdmin,
465
- Permission.ProjectMember,
466
- Permission.CreateCopilotCodeRepository,
467
- ],
468
- read: [
469
- Permission.ProjectOwner,
470
- Permission.ProjectAdmin,
471
- Permission.ProjectMember,
472
- Permission.ProjectMember,
473
- Permission.ReadCopilotCodeRepository,
474
- ],
475
- update: [
476
- Permission.ProjectOwner,
477
- Permission.ProjectAdmin,
478
- Permission.ProjectMember,
479
- Permission.EditCopilotCodeRepository,
480
- ],
481
- })
482
- @TableColumn({
483
- required: true,
484
- type: TableColumnType.ShortText,
485
- canReadOnRelationQuery: true,
486
- title: "Main Branch Name",
487
- description: "Name of the main branch of this repository",
488
- })
489
- @Column({
490
- nullable: false,
491
- type: ColumnType.ShortText,
492
- length: ColumnLength.ShortText,
493
- default: "master",
494
- })
495
- public mainBranchName?: string = undefined;
496
-
497
- @ColumnAccessControl({
498
- create: [
499
- Permission.ProjectOwner,
500
- Permission.ProjectAdmin,
501
- Permission.ProjectMember,
502
- Permission.CreateCopilotCodeRepository,
503
- ],
504
- read: [
505
- Permission.ProjectOwner,
506
- Permission.ProjectAdmin,
507
- Permission.ProjectMember,
508
- Permission.ProjectMember,
509
- Permission.ReadCopilotCodeRepository,
510
- ],
511
- update: [
512
- Permission.ProjectOwner,
513
- Permission.ProjectAdmin,
514
- Permission.ProjectMember,
515
- Permission.EditCopilotCodeRepository,
516
- ],
517
- })
518
- @TableColumn({
519
- required: true,
520
- type: TableColumnType.ShortText,
521
- canReadOnRelationQuery: true,
522
- title: "Repository Hosted At",
523
- description:
524
- "Where is this repository hosted at? GitHub, GitLab, Bitbucket, etc.",
525
- })
526
- @Column({
527
- nullable: false,
528
- type: ColumnType.ShortText,
529
- length: ColumnLength.ShortText,
530
- default: CodeRepositoryType.GitHub,
531
- })
532
- public repositoryHostedAt?: CodeRepositoryType = undefined;
533
-
534
- @ColumnAccessControl({
535
- create: [
536
- Permission.ProjectOwner,
537
- Permission.ProjectAdmin,
538
- Permission.ProjectMember,
539
- Permission.CreateCopilotCodeRepository,
540
- ],
541
- read: [
542
- Permission.ProjectOwner,
543
- Permission.ProjectAdmin,
544
- Permission.ProjectMember,
545
- Permission.ProjectMember,
546
- Permission.ReadCopilotCodeRepository,
547
- ],
548
- update: [
549
- Permission.ProjectOwner,
550
- Permission.ProjectAdmin,
551
- Permission.ProjectMember,
552
- Permission.EditCopilotCodeRepository,
553
- ],
554
- })
555
- @TableColumn({
556
- required: true,
557
- type: TableColumnType.ShortText,
558
- canReadOnRelationQuery: true,
559
- title: "Organization Name",
560
- description:
561
- "Name of the organization where this repo belongs. Eg: Your GitHub Organization Name",
562
- })
563
- @Column({
564
- nullable: false,
565
- type: ColumnType.ShortText,
566
- length: ColumnLength.ShortText,
567
- })
568
- public organizationName?: string = undefined;
569
-
570
- @ColumnAccessControl({
571
- create: [
572
- Permission.ProjectOwner,
573
- Permission.ProjectAdmin,
574
- Permission.ProjectMember,
575
- Permission.CreateCopilotCodeRepository,
576
- ],
577
- read: [
578
- Permission.ProjectOwner,
579
- Permission.ProjectAdmin,
580
- Permission.ProjectMember,
581
- Permission.ProjectMember,
582
- Permission.ReadCopilotCodeRepository,
583
- ],
584
- update: [
585
- Permission.ProjectOwner,
586
- Permission.ProjectAdmin,
587
- Permission.ProjectMember,
588
- Permission.EditCopilotCodeRepository,
589
- ],
590
- })
591
- @TableColumn({
592
- required: true,
593
- type: TableColumnType.ShortText,
594
- canReadOnRelationQuery: true,
595
- title: "Repository Name",
596
- description: "Name of the repository. Eg: Your GitHub Repository Name",
597
- })
598
- @Column({
599
- nullable: false,
600
- type: ColumnType.ShortText,
601
- length: ColumnLength.ShortText,
602
- })
603
- public repositoryName?: string = undefined;
604
-
605
- @ColumnAccessControl({
606
- create: [
607
- Permission.ProjectOwner,
608
- Permission.ProjectAdmin,
609
- Permission.ProjectMember,
610
- Permission.CreateCopilotCodeRepository,
611
- ],
612
- read: [
613
- Permission.ProjectOwner,
614
- Permission.ProjectAdmin,
615
- Permission.ProjectMember,
616
- Permission.ProjectMember,
617
- Permission.ReadCopilotCodeRepository,
618
- ],
619
- update: [
620
- Permission.ProjectOwner,
621
- Permission.ProjectAdmin,
622
- Permission.ProjectMember,
623
- Permission.EditCopilotCodeRepository,
624
- ],
625
- })
626
- @TableColumn({
627
- required: false,
628
- type: TableColumnType.Date,
629
- title: "Last Copilot Run Date Time",
630
- description: "When did the last Copilot run on this repository?",
631
- })
632
- @Column({
633
- nullable: true,
634
- type: ColumnType.Date,
635
- })
636
- public lastCopilotRunDateTime?: Date = undefined;
637
- }