@oneuptime/common 14.0.7 → 14.0.8

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 (440) hide show
  1. package/Models/DatabaseModels/Incident.ts +267 -1
  2. package/Models/DatabaseModels/IncidentCustomField.ts +202 -0
  3. package/Models/DatabaseModels/IncidentEpisode.ts +30 -0
  4. package/Models/DatabaseModels/IncidentTemplate.ts +126 -1
  5. package/Models/DatabaseModels/StatusPage.ts +55 -0
  6. package/Models/DatabaseModels/StatusPageSubscriber.ts +128 -0
  7. package/Server/API/IncidentAPI.ts +162 -0
  8. package/Server/API/StatusPageAPI.ts +487 -171
  9. package/Server/API/StatusPageSubscriberAPI.ts +63 -15
  10. package/Server/Infrastructure/Postgres/SchemaMigrations/1795300000000-SkipHiddenIncidentCreatedNotifications.ts +49 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/1795400000000-AddIncidentStatusPageScope.ts +108 -0
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1795500000000-AddIncidentTemplateStatusPageScopeFlag.ts +33 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1795600000000-AddStatusPageSubscriberUnsubscribeToken.ts +51 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1795700000000-AddStatusPageSubscriberIsAddedByTeam.ts +33 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1795800000000-AddIncidentCustomFieldCreateAndNotificationSettings.ts +168 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/1795900000000-AddSubscriberNotificationClaimedAt.ts +44 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
  18. package/Server/Infrastructure/Semaphore.ts +10 -0
  19. package/Server/Middleware/IdentityRateLimit.ts +108 -3
  20. package/Server/Middleware/SubscriberNotificationPreviewRateLimit.ts +237 -0
  21. package/Server/Middleware/SubscriberNotificationTestSendRateLimit.ts +304 -0
  22. package/Server/Services/DatabaseService.ts +93 -10
  23. package/Server/Services/IncidentCustomFieldService.ts +276 -1
  24. package/Server/Services/IncidentEpisodePublicNoteService.ts +28 -0
  25. package/Server/Services/IncidentEpisodeService.ts +15 -0
  26. package/Server/Services/IncidentEpisodeStateTimelineService.ts +27 -1
  27. package/Server/Services/IncidentPublicNoteService.ts +30 -1
  28. package/Server/Services/IncidentService.ts +1535 -65
  29. package/Server/Services/IncidentStateTimelineService.ts +13 -0
  30. package/Server/Services/IncidentTemplateService.ts +109 -0
  31. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +30 -1
  32. package/Server/Services/ScheduledMaintenanceService.ts +68 -18
  33. package/Server/Services/SmsService.ts +10 -0
  34. package/Server/Services/StatusPageService.ts +65 -8
  35. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +299 -37
  36. package/Server/Services/StatusPageSubscriberNotificationTemplateStatusPageService.ts +129 -0
  37. package/Server/Services/StatusPageSubscriberService.ts +1161 -64
  38. package/Server/Types/Markdown.ts +153 -6
  39. package/Server/Types/Workflow/Components/Email.ts +61 -2
  40. package/Server/Utils/CustomField/CustomFieldRename.ts +378 -0
  41. package/Server/Utils/DataSource/EgressGuard.ts +66 -21
  42. package/Server/Utils/Mail/PinnedSmtpSocket.ts +130 -0
  43. package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +10 -0
  44. package/Server/Utils/SSRFProtection.ts +76 -16
  45. package/Server/Utils/StatusPage/IncidentStatusPageScope.ts +948 -0
  46. package/Server/Utils/StatusPage/IncidentSubscriberAudienceBuilder.ts +656 -0
  47. package/Server/Utils/StatusPage/IncidentTemplateVariableBuilder.ts +805 -0
  48. package/Server/Utils/StatusPage/StatusPageExclusion.ts +18 -0
  49. package/Server/Utils/StatusPage/StatusPageReadAccess.ts +125 -0
  50. package/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeNotice.ts +151 -0
  51. package/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeToken.ts +70 -0
  52. package/Server/Utils/StatusPage/SubscriberIncidentEmailBuilder.ts +421 -0
  53. package/Server/Utils/StatusPage/SubscriberNotificationClaim.ts +107 -0
  54. package/Server/Utils/StatusPage/SubscriberNotificationDeliveryRecord.ts +1049 -0
  55. package/Server/Utils/StatusPage/SubscriberNotificationFanOut.ts +180 -0
  56. package/Server/Utils/StatusPage/SubscriberNotificationPreviewBuilder.ts +839 -0
  57. package/Server/Utils/StatusPage/SubscriberNotificationResendAccess.ts +393 -0
  58. package/Server/Utils/StatusPage/SubscriberNotificationRunLimit.ts +246 -0
  59. package/Server/Utils/StatusPage/SubscriberNotificationTiming.ts +133 -0
  60. package/Server/Utils/StatusPage/SubscriberTemplateIncidentRecordAccess.ts +215 -0
  61. package/Server/Utils/StatusPageResource.ts +51 -20
  62. package/Server/Utils/VM/VMAPI.ts +1 -0
  63. package/Server/Utils/VM/VMRunner.ts +10 -0
  64. package/Server/Utils/Workflow/OAuth2TokenClient.ts +10 -0
  65. package/Server/Views/Partials/SensitiveUrlToken.ejs +8 -5
  66. package/Tests/App/Accounts/RegisterVerifyEmail.test.tsx +748 -0
  67. package/Tests/App/Accounts/ResendVerificationEmail.test.tsx +1222 -0
  68. package/Tests/App/Accounts/VerificationEmailResendUtils.test.ts +797 -0
  69. package/Tests/App/Accounts/VerifyEmailPending.test.tsx +538 -0
  70. package/Tests/App/Accounts/VerifyEmailResend.test.tsx +779 -0
  71. package/Tests/App/Dashboard/CustomFieldsSettingsIncidentOptions.test.tsx +357 -0
  72. package/Tests/App/Dashboard/EventNotes.test.tsx +776 -0
  73. package/Tests/App/Dashboard/EventNotesPages.test.tsx +119 -0
  74. package/Tests/App/Dashboard/EventNotesUtil.test.ts +116 -17
  75. package/Tests/App/Dashboard/EventOverviewPages.test.tsx +242 -5
  76. package/Tests/App/Dashboard/IncidentChangeStateNotifyDefault.test.tsx +91 -1
  77. package/Tests/App/Dashboard/IncidentCreateDetailsStep.test.tsx +643 -0
  78. package/Tests/App/Dashboard/IncidentCreateFromAlerts.test.tsx +8 -1
  79. package/Tests/App/Dashboard/IncidentCreateStatusPageScope.test.tsx +601 -0
  80. package/Tests/App/Dashboard/IncidentCustomFieldTemplateVariables.test.tsx +386 -0
  81. package/Tests/App/Dashboard/IncidentNoteTemplatePlaceholders.test.tsx +124 -0
  82. package/Tests/App/Dashboard/IncidentNoteTemplateVariablesLoader.test.ts +305 -0
  83. package/Tests/App/Dashboard/IncidentOverviewNotifyDefault.test.tsx +112 -0
  84. package/Tests/App/Dashboard/IncidentSettingsRenotifyOnPublish.test.tsx +674 -0
  85. package/Tests/App/Dashboard/IncidentSettingsStatusPageScope.test.tsx +1051 -0
  86. package/Tests/App/Dashboard/IncidentTemplateCustomFields.test.tsx +384 -0
  87. package/Tests/App/Dashboard/IncidentTemplateStatusPageScopeCard.test.tsx +215 -0
  88. package/Tests/App/Dashboard/PublicNotePagesNotifyDefault.test.tsx +113 -1
  89. package/Tests/App/Dashboard/SubscriberAudienceSummary.test.tsx +512 -0
  90. package/Tests/App/Dashboard/SubscriberNotificationPreviewModal.test.tsx +837 -0
  91. package/Tests/App/Dashboard/SubscriberNotificationStatusLabel.test.tsx +88 -0
  92. package/Tests/App/Dashboard/SubscriberNotificationStatusResend.test.tsx +473 -0
  93. package/Tests/App/Dashboard/SubscriberTemplateLivePreview.test.tsx +196 -0
  94. package/Tests/App/Dashboard/TeamAddedSubscribersUnsubscribedNotice.test.tsx +248 -0
  95. package/Tests/App/SensitiveUrlTokenBootstrap.test.ts +64 -3
  96. package/Tests/App/StatusPage/StatusPageUnsubscribePage.test.tsx +412 -0
  97. package/Tests/Models/IncidentCustomFieldApiSchemaContract.test.ts +217 -0
  98. package/Tests/Models/IncidentCustomFieldCreateSettingsColumns.test.ts +252 -0
  99. package/Tests/Models/StatusPageSubscriberUnsubscribeColumns.test.ts +218 -0
  100. package/Tests/Server/API/ExpiredSessionRouteGuards.test.ts +7 -0
  101. package/Tests/Server/API/IncidentSubscriberAudienceAPI.test.ts +1408 -0
  102. package/Tests/Server/API/StatusPageIncidentScope.test.ts +1868 -0
  103. package/Tests/Server/API/StatusPageIncidentScopePostgres.test.ts +790 -0
  104. package/Tests/Server/API/StatusPageManageSubscriptionRecipient.test.ts +10 -1
  105. package/Tests/Server/API/StatusPageManageSubscriptionTemplateVariables.test.ts +206 -18
  106. package/Tests/Server/API/StatusPagePostmortemVisibility.test.ts +14 -2
  107. package/Tests/Server/API/StatusPageSubscriberCreateResponse.test.ts +217 -0
  108. package/Tests/Server/API/StatusPageSubscriberOwnership.test.ts +103 -2
  109. package/Tests/Server/API/StatusPageUnsubscribeAPI.test.ts +396 -0
  110. package/Tests/Server/Infrastructure/Postgres/AddIncidentStatusPageScopeMigration.test.ts +395 -0
  111. package/Tests/Server/Infrastructure/Postgres/AddIncidentTemplateStatusPageScopeFlagMigration.test.ts +150 -0
  112. package/Tests/Server/Infrastructure/Postgres/AddSubscriberNotificationClaimedAtMigration.test.ts +156 -0
  113. package/Tests/Server/Infrastructure/Postgres/SkipHiddenIncidentCreatedNotificationsMigration.test.ts +410 -0
  114. package/Tests/Server/Middleware/IdentityRateLimit.test.ts +551 -1
  115. package/Tests/Server/Middleware/SubscriberNotificationPreviewRateLimit.test.ts +238 -0
  116. package/Tests/Server/Middleware/SubscriberNotificationTestSendRateLimit.test.ts +245 -0
  117. package/Tests/Server/Services/AddStatusPageSubscriberUnsubscribeTokenMigration.test.ts +152 -0
  118. package/Tests/Server/Services/CrossProjectRelationWriteGuard.test.ts +221 -36
  119. package/Tests/Server/Services/DatabaseServiceCompareAndSetColumns.test.ts +191 -0
  120. package/Tests/Server/Services/IncidentCreatedRenotifyOnPublish.test.ts +681 -0
  121. package/Tests/Server/Services/IncidentCreatedResend.test.ts +775 -0
  122. package/Tests/Server/Services/IncidentCustomFieldRenamePostgres.test.ts +713 -0
  123. package/Tests/Server/Services/IncidentCustomFieldService.test.ts +751 -0
  124. package/Tests/Server/Services/IncidentCustomFieldValueValidation.test.ts +556 -0
  125. package/Tests/Server/Services/IncidentStatusPageScope.test.ts +2971 -0
  126. package/Tests/Server/Services/IncidentStatusPageScopeFeed.test.ts +131 -0
  127. package/Tests/Server/Services/IncidentStatusPageScopePostgres.test.ts +625 -0
  128. package/Tests/Server/Services/IncidentTemplateCustomFieldsCopy.test.ts +311 -0
  129. package/Tests/Server/Services/IncidentTemplateStatusPageScope.test.ts +363 -0
  130. package/Tests/Server/Services/PublicNoteEditFeedEventType.test.ts +213 -0
  131. package/Tests/Server/Services/PublicNoteResendAccess.test.ts +994 -0
  132. package/Tests/Server/Services/ScheduledMaintenanceSubscriberTemplateFormats.test.ts +289 -9
  133. package/Tests/Server/Services/SmsServiceFailIfNotSent.test.ts +67 -0
  134. package/Tests/Server/Services/StatusPageReportIncidentCounts.test.ts +610 -0
  135. package/Tests/Server/Services/StatusPageSubscriberAudienceCounts.test.ts +201 -0
  136. package/Tests/Server/Services/StatusPageSubscriberAudienceCountsPostgres.test.ts +271 -0
  137. package/Tests/Server/Services/StatusPageSubscriberConfirmationTemplateEscaping.test.ts +200 -0
  138. package/Tests/Server/Services/StatusPageSubscriberNotificationLogRedaction.test.ts +54 -0
  139. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateCompile.test.ts +37 -0
  140. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateIncidentRecordAccess.test.ts +772 -0
  141. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateLookup.test.ts +506 -0
  142. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateLookupPostgres.test.ts +261 -0
  143. package/Tests/Server/Services/StatusPageSubscriberReport.test.ts +21 -5
  144. package/Tests/Server/Services/StatusPageSubscriberUnsubscribe.test.ts +1618 -0
  145. package/Tests/Server/Services/StatusPageSubscriberUnsubscribeLinkSenders.test.ts +373 -0
  146. package/Tests/Server/Services/StatusPageSubscriberUnsubscribePostgres.test.ts +388 -0
  147. package/Tests/Server/Services/SubscriberNotificationInFlightRequeue.test.ts +500 -0
  148. package/Tests/Server/Types/MarkdownEmailLinks.test.ts +320 -0
  149. package/Tests/Server/Types/Workflow/Components/Email.test.ts +491 -1
  150. package/Tests/Server/Types/Workflow/Components/EmailSmtpPinning.test.ts +398 -0
  151. package/Tests/Server/Utils/CustomField/CustomFieldRename.test.ts +586 -0
  152. package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +246 -10
  153. package/Tests/Server/Utils/DataSource/EgressGuardDeploymentConfig.test.ts +226 -0
  154. package/Tests/Server/Utils/DataSource/EgressGuardPinning.test.ts +131 -0
  155. package/Tests/Server/Utils/DataSource/HttpFetch.test.ts +4 -0
  156. package/Tests/Server/Utils/EgressPolicyEnvironment.ts +45 -0
  157. package/Tests/Server/Utils/Mail/PinnedSmtpSocket.test.ts +409 -0
  158. package/Tests/Server/Utils/Monitor/MonitorCriteriaObservationBuilderUnits.test.ts +23 -0
  159. package/Tests/Server/Utils/SSRFProtection.test.ts +4 -0
  160. package/Tests/Server/Utils/SSRFProtectionCloudServiceAddresses.test.ts +4 -0
  161. package/Tests/Server/Utils/SSRFProtectionPrivateNetwork.test.ts +4 -0
  162. package/Tests/Server/Utils/SSRFProtectionResolutionDetail.test.ts +314 -0
  163. package/Tests/Server/Utils/StatusPage/IncidentStatusPageScope.test.ts +1699 -0
  164. package/Tests/Server/Utils/StatusPage/IncidentStatusPageScopeQueriesPostgres.test.ts +508 -0
  165. package/Tests/Server/Utils/StatusPage/IncidentSubscriberAudienceCallerPermission.test.ts +246 -0
  166. package/Tests/Server/Utils/StatusPage/IncidentTemplateVariableBuilder.test.ts +1348 -0
  167. package/Tests/Server/Utils/StatusPage/StatusPageReadAccess.test.ts +221 -0
  168. package/Tests/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeNotice.test.ts +132 -0
  169. package/Tests/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeToken.test.ts +155 -0
  170. package/Tests/Server/Utils/StatusPage/SubscriberIncidentEmailBuilder.test.ts +708 -0
  171. package/Tests/Server/Utils/StatusPage/SubscriberNotificationClaim.test.ts +255 -0
  172. package/Tests/Server/Utils/StatusPage/SubscriberNotificationClaimPostgres.test.ts +528 -0
  173. package/Tests/Server/Utils/StatusPage/SubscriberNotificationDeliveryRecord.test.ts +1238 -0
  174. package/Tests/Server/Utils/StatusPage/SubscriberNotificationFanOut.test.ts +472 -0
  175. package/Tests/Server/Utils/StatusPage/SubscriberNotificationPreviewBuilder.test.ts +1168 -0
  176. package/Tests/Server/Utils/StatusPage/SubscriberNotificationRunLimit.test.ts +275 -0
  177. package/Tests/Server/Utils/StatusPage/SubscriberNotificationTiming.test.ts +131 -0
  178. package/Tests/Server/Utils/StatusPageResource.test.ts +98 -0
  179. package/Tests/Server/Utils/VM/VMRunnerPrivateNetworkWiring.test.ts +17 -0
  180. package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +75 -0
  181. package/Tests/Types/CustomField/CustomFieldSavedViews.test.ts +247 -0
  182. package/Tests/Types/CustomField/CustomFieldTemplateValues.test.ts +186 -0
  183. package/Tests/Types/CustomField/CustomFieldTypeCorrespondence.test.ts +48 -0
  184. package/Tests/Types/CustomField/CustomFieldValueFormat.test.ts +215 -0
  185. package/Tests/Types/CustomField/CustomFieldValueValidator.test.ts +343 -0
  186. package/Tests/Types/CustomField/CustomFieldVariableKey.test.ts +364 -0
  187. package/Tests/Types/SafeHtml.test.ts +102 -0
  188. package/Tests/Types/StatusPage/IncidentCreatedRenotify.test.ts +419 -0
  189. package/Tests/Types/StatusPage/IncidentCreatedResend.test.ts +118 -0
  190. package/Tests/Types/StatusPage/IncidentScopeAddedPagesNotification.test.ts +558 -0
  191. package/Tests/Types/StatusPage/IncidentSubscriberAudience.test.ts +284 -0
  192. package/Tests/Types/StatusPage/StatusPageSubscriberUnsubscribe.test.ts +341 -0
  193. package/Tests/Types/StatusPage/SubscriberNotificationPreview.test.ts +196 -0
  194. package/Tests/Types/StatusPage/SubscriberNotificationResend.test.ts +201 -0
  195. package/Tests/Types/StatusPage/SubscriberNotificationTemplateCompiler.test.ts +277 -0
  196. package/Tests/Types/StatusPage/SubscriberNotificationTemplatePreview.test.ts +179 -0
  197. package/Tests/Types/StatusPage/SubscriberNotificationTemplateVariables.test.ts +324 -0
  198. package/Tests/Types/StatusPage/SubscriberUpdateNotification.test.ts +60 -13
  199. package/Tests/UI/Components/CustomFields/CustomFieldFormFields.test.ts +432 -0
  200. package/Tests/UI/Components/CustomFields/CustomFieldModelFormFields.test.tsx +685 -0
  201. package/Tests/UI/Components/CustomFields/CustomFieldsDetailOrder.test.tsx +469 -0
  202. package/Tests/UI/Components/Forms/ModelFormCustomFieldInputs.test.tsx +325 -0
  203. package/Tests/UI/Components/Forms/ModelFormDropdownOptionsRefused.test.tsx +358 -0
  204. package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +22 -0
  205. package/Tests/UI/Monitor/NetworkPathView.test.tsx +289 -0
  206. package/Tests/Utils/Incident/IncidentNoteTemplateVariables.test.ts +623 -0
  207. package/Tests/Utils/Markdown/MarkdownEscape.test.ts +89 -0
  208. package/Tests/Utils/ProbeNetworkFailureUtil.test.ts +992 -0
  209. package/Tests/Utils/RequestFailedDetails.test.ts +575 -0
  210. package/Types/CustomField/CustomFieldOrder.ts +55 -0
  211. package/Types/CustomField/CustomFieldSavedViews.ts +225 -0
  212. package/Types/CustomField/CustomFieldTemplateMerge.ts +71 -0
  213. package/Types/CustomField/CustomFieldType.ts +14 -0
  214. package/Types/CustomField/CustomFieldValueFormat.ts +161 -0
  215. package/Types/CustomField/CustomFieldValueValidator.ts +488 -0
  216. package/Types/CustomField/CustomFieldVariableKey.ts +211 -0
  217. package/Types/SafeHtml.ts +93 -0
  218. package/Types/StatusPage/IncidentCreatedRenotify.ts +224 -0
  219. package/Types/StatusPage/IncidentCreatedResend.ts +108 -0
  220. package/Types/StatusPage/IncidentScopeAddedPagesNotification.ts +343 -0
  221. package/Types/StatusPage/IncidentSubscriberAudience.ts +332 -0
  222. package/Types/StatusPage/StatusPageSubscriberUnsubscribe.ts +405 -0
  223. package/Types/StatusPage/SubscriberNotificationInterruption.ts +32 -0
  224. package/Types/StatusPage/SubscriberNotificationPreview.ts +322 -0
  225. package/Types/StatusPage/SubscriberNotificationResend.ts +132 -0
  226. package/Types/StatusPage/SubscriberNotificationTemplateCompiler.ts +180 -0
  227. package/Types/StatusPage/SubscriberNotificationTemplatePreview.ts +301 -0
  228. package/Types/StatusPage/SubscriberNotificationTemplateVariables.ts +217 -4
  229. package/Types/StatusPage/SubscriberUpdateNotification.ts +32 -11
  230. package/UI/Components/CustomFields/CustomFieldFormFields.ts +317 -0
  231. package/UI/Components/CustomFields/CustomFieldModelFormFields.tsx +395 -0
  232. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +95 -55
  233. package/UI/Components/Forms/ModelForm.tsx +70 -8
  234. package/UI/Components/Forms/Validation.ts +1 -1
  235. package/UI/Components/ModelFormModal/ModelFormModal.tsx +2 -4
  236. package/UI/Components/ModelTable/AnalyticsModelTable.tsx +2 -6
  237. package/UI/Components/ModelTable/BaseModelTable.tsx +9 -8
  238. package/UI/Components/ModelTable/CustomFieldColumns.tsx +14 -1
  239. package/UI/Components/ModelTable/ModelTable.tsx +6 -7
  240. package/UI/Utils/SensitiveUrlToken.ts +10 -5
  241. package/Utils/API.ts +247 -2
  242. package/Utils/Incident/IncidentNoteTemplateVariables.ts +304 -0
  243. package/Utils/Markdown/MarkdownEscape.ts +65 -0
  244. package/Utils/ProbeNetworkFailureUtil.ts +673 -0
  245. package/build/dist/Models/DatabaseModels/Incident.js +267 -1
  246. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  247. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +207 -1
  248. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
  249. package/build/dist/Models/DatabaseModels/IncidentEpisode.js +31 -0
  250. package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -1
  251. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +124 -1
  252. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  253. package/build/dist/Models/DatabaseModels/StatusPage.js +56 -0
  254. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  255. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +131 -0
  256. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  257. package/build/dist/Server/API/IncidentAPI.js +100 -1
  258. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  259. package/build/dist/Server/API/StatusPageAPI.js +417 -176
  260. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  261. package/build/dist/Server/API/StatusPageSubscriberAPI.js +52 -13
  262. package/build/dist/Server/API/StatusPageSubscriberAPI.js.map +1 -1
  263. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795300000000-SkipHiddenIncidentCreatedNotifications.js +41 -0
  264. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795300000000-SkipHiddenIncidentCreatedNotifications.js.map +1 -0
  265. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795400000000-AddIncidentStatusPageScope.js +57 -0
  266. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795400000000-AddIncidentStatusPageScope.js.map +1 -0
  267. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795500000000-AddIncidentTemplateStatusPageScopeFlag.js +23 -0
  268. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795500000000-AddIncidentTemplateStatusPageScopeFlag.js.map +1 -0
  269. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795600000000-AddStatusPageSubscriberUnsubscribeToken.js +40 -0
  270. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795600000000-AddStatusPageSubscriberUnsubscribeToken.js.map +1 -0
  271. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795700000000-AddStatusPageSubscriberIsAddedByTeam.js +26 -0
  272. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795700000000-AddStatusPageSubscriberIsAddedByTeam.js.map +1 -0
  273. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795800000000-AddIncidentCustomFieldCreateAndNotificationSettings.js +89 -0
  274. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795800000000-AddIncidentCustomFieldCreateAndNotificationSettings.js.map +1 -0
  275. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795900000000-AddSubscriberNotificationClaimedAt.js +29 -0
  276. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795900000000-AddSubscriberNotificationClaimedAt.js.map +1 -0
  277. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
  278. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  279. package/build/dist/Server/Infrastructure/Semaphore.js +3 -0
  280. package/build/dist/Server/Infrastructure/Semaphore.js.map +1 -1
  281. package/build/dist/Server/Middleware/IdentityRateLimit.js +89 -3
  282. package/build/dist/Server/Middleware/IdentityRateLimit.js.map +1 -1
  283. package/build/dist/Server/Middleware/SubscriberNotificationPreviewRateLimit.js +149 -0
  284. package/build/dist/Server/Middleware/SubscriberNotificationPreviewRateLimit.js.map +1 -0
  285. package/build/dist/Server/Middleware/SubscriberNotificationTestSendRateLimit.js +190 -0
  286. package/build/dist/Server/Middleware/SubscriberNotificationTestSendRateLimit.js.map +1 -0
  287. package/build/dist/Server/Services/DatabaseService.js +56 -7
  288. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  289. package/build/dist/Server/Services/IncidentCustomFieldService.js +204 -8
  290. package/build/dist/Server/Services/IncidentCustomFieldService.js.map +1 -1
  291. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js +24 -0
  292. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js.map +1 -1
  293. package/build/dist/Server/Services/IncidentEpisodeService.js +14 -0
  294. package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
  295. package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js +26 -0
  296. package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js.map +1 -1
  297. package/build/dist/Server/Services/IncidentPublicNoteService.js +26 -1
  298. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  299. package/build/dist/Server/Services/IncidentService.js +1052 -0
  300. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  301. package/build/dist/Server/Services/IncidentStateTimelineService.js +12 -0
  302. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  303. package/build/dist/Server/Services/IncidentTemplateService.js +83 -0
  304. package/build/dist/Server/Services/IncidentTemplateService.js.map +1 -1
  305. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +26 -1
  306. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  307. package/build/dist/Server/Services/ScheduledMaintenanceService.js +47 -17
  308. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  309. package/build/dist/Server/Services/SmsService.js +2 -22
  310. package/build/dist/Server/Services/SmsService.js.map +1 -1
  311. package/build/dist/Server/Services/StatusPageService.js +47 -9
  312. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  313. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +237 -32
  314. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  315. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateStatusPageService.js +109 -0
  316. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateStatusPageService.js.map +1 -1
  317. package/build/dist/Server/Services/StatusPageSubscriberService.js +925 -99
  318. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  319. package/build/dist/Server/Types/Markdown.js +110 -6
  320. package/build/dist/Server/Types/Markdown.js.map +1 -1
  321. package/build/dist/Server/Types/Workflow/Components/Email.js +55 -6
  322. package/build/dist/Server/Types/Workflow/Components/Email.js.map +1 -1
  323. package/build/dist/Server/Utils/CustomField/CustomFieldRename.js +211 -0
  324. package/build/dist/Server/Utils/CustomField/CustomFieldRename.js.map +1 -0
  325. package/build/dist/Server/Utils/DataSource/EgressGuard.js +41 -12
  326. package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -1
  327. package/build/dist/Server/Utils/Mail/PinnedSmtpSocket.js +101 -0
  328. package/build/dist/Server/Utils/Mail/PinnedSmtpSocket.js.map +1 -0
  329. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +9 -0
  330. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -1
  331. package/build/dist/Server/Utils/SSRFProtection.js +48 -6
  332. package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
  333. package/build/dist/Server/Utils/StatusPage/IncidentStatusPageScope.js +631 -0
  334. package/build/dist/Server/Utils/StatusPage/IncidentStatusPageScope.js.map +1 -0
  335. package/build/dist/Server/Utils/StatusPage/IncidentSubscriberAudienceBuilder.js +403 -0
  336. package/build/dist/Server/Utils/StatusPage/IncidentSubscriberAudienceBuilder.js.map +1 -0
  337. package/build/dist/Server/Utils/StatusPage/IncidentTemplateVariableBuilder.js +451 -0
  338. package/build/dist/Server/Utils/StatusPage/IncidentTemplateVariableBuilder.js.map +1 -0
  339. package/build/dist/Server/Utils/StatusPage/StatusPageExclusion.js +13 -0
  340. package/build/dist/Server/Utils/StatusPage/StatusPageExclusion.js.map +1 -0
  341. package/build/dist/Server/Utils/StatusPage/StatusPageReadAccess.js +91 -0
  342. package/build/dist/Server/Utils/StatusPage/StatusPageReadAccess.js.map +1 -0
  343. package/build/dist/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeNotice.js +101 -0
  344. package/build/dist/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeNotice.js.map +1 -0
  345. package/build/dist/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeToken.js +47 -0
  346. package/build/dist/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeToken.js.map +1 -0
  347. package/build/dist/Server/Utils/StatusPage/SubscriberIncidentEmailBuilder.js +273 -0
  348. package/build/dist/Server/Utils/StatusPage/SubscriberIncidentEmailBuilder.js.map +1 -0
  349. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationClaim.js +73 -0
  350. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationClaim.js.map +1 -0
  351. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationDeliveryRecord.js +722 -0
  352. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationDeliveryRecord.js.map +1 -0
  353. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationFanOut.js +102 -0
  354. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationFanOut.js.map +1 -0
  355. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationPreviewBuilder.js +527 -0
  356. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationPreviewBuilder.js.map +1 -0
  357. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationResendAccess.js +278 -0
  358. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationResendAccess.js.map +1 -0
  359. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationRunLimit.js +137 -0
  360. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationRunLimit.js.map +1 -0
  361. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationTiming.js +103 -0
  362. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationTiming.js.map +1 -0
  363. package/build/dist/Server/Utils/StatusPage/SubscriberTemplateIncidentRecordAccess.js +114 -0
  364. package/build/dist/Server/Utils/StatusPage/SubscriberTemplateIncidentRecordAccess.js.map +1 -0
  365. package/build/dist/Server/Utils/StatusPageResource.js +39 -7
  366. package/build/dist/Server/Utils/StatusPageResource.js.map +1 -1
  367. package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
  368. package/build/dist/Server/Utils/VM/VMRunner.js +1 -0
  369. package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
  370. package/build/dist/Server/Utils/Workflow/OAuth2TokenClient.js +3 -0
  371. package/build/dist/Server/Utils/Workflow/OAuth2TokenClient.js.map +1 -1
  372. package/build/dist/Types/CustomField/CustomFieldOrder.js +36 -0
  373. package/build/dist/Types/CustomField/CustomFieldOrder.js.map +1 -0
  374. package/build/dist/Types/CustomField/CustomFieldSavedViews.js +135 -0
  375. package/build/dist/Types/CustomField/CustomFieldSavedViews.js.map +1 -0
  376. package/build/dist/Types/CustomField/CustomFieldTemplateMerge.js +27 -0
  377. package/build/dist/Types/CustomField/CustomFieldTemplateMerge.js.map +1 -0
  378. package/build/dist/Types/CustomField/CustomFieldType.js +12 -0
  379. package/build/dist/Types/CustomField/CustomFieldType.js.map +1 -1
  380. package/build/dist/Types/CustomField/CustomFieldValueFormat.js +126 -0
  381. package/build/dist/Types/CustomField/CustomFieldValueFormat.js.map +1 -0
  382. package/build/dist/Types/CustomField/CustomFieldValueValidator.js +280 -0
  383. package/build/dist/Types/CustomField/CustomFieldValueValidator.js.map +1 -0
  384. package/build/dist/Types/CustomField/CustomFieldVariableKey.js +150 -0
  385. package/build/dist/Types/CustomField/CustomFieldVariableKey.js.map +1 -0
  386. package/build/dist/Types/SafeHtml.js +84 -0
  387. package/build/dist/Types/SafeHtml.js.map +1 -0
  388. package/build/dist/Types/StatusPage/IncidentCreatedRenotify.js +117 -0
  389. package/build/dist/Types/StatusPage/IncidentCreatedRenotify.js.map +1 -0
  390. package/build/dist/Types/StatusPage/IncidentCreatedResend.js +86 -0
  391. package/build/dist/Types/StatusPage/IncidentCreatedResend.js.map +1 -0
  392. package/build/dist/Types/StatusPage/IncidentScopeAddedPagesNotification.js +246 -0
  393. package/build/dist/Types/StatusPage/IncidentScopeAddedPagesNotification.js.map +1 -0
  394. package/build/dist/Types/StatusPage/IncidentSubscriberAudience.js +183 -0
  395. package/build/dist/Types/StatusPage/IncidentSubscriberAudience.js.map +1 -0
  396. package/build/dist/Types/StatusPage/StatusPageSubscriberUnsubscribe.js +277 -0
  397. package/build/dist/Types/StatusPage/StatusPageSubscriberUnsubscribe.js.map +1 -0
  398. package/build/dist/Types/StatusPage/SubscriberNotificationInterruption.js +27 -0
  399. package/build/dist/Types/StatusPage/SubscriberNotificationInterruption.js.map +1 -0
  400. package/build/dist/Types/StatusPage/SubscriberNotificationPreview.js +190 -0
  401. package/build/dist/Types/StatusPage/SubscriberNotificationPreview.js.map +1 -0
  402. package/build/dist/Types/StatusPage/SubscriberNotificationResend.js +102 -0
  403. package/build/dist/Types/StatusPage/SubscriberNotificationResend.js.map +1 -0
  404. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateCompiler.js +97 -0
  405. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateCompiler.js.map +1 -0
  406. package/build/dist/Types/StatusPage/SubscriberNotificationTemplatePreview.js +175 -0
  407. package/build/dist/Types/StatusPage/SubscriberNotificationTemplatePreview.js.map +1 -0
  408. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateVariables.js +144 -4
  409. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateVariables.js.map +1 -1
  410. package/build/dist/Types/StatusPage/SubscriberUpdateNotification.js +29 -9
  411. package/build/dist/Types/StatusPage/SubscriberUpdateNotification.js.map +1 -1
  412. package/build/dist/UI/Components/CustomFields/CustomFieldFormFields.js +169 -0
  413. package/build/dist/UI/Components/CustomFields/CustomFieldFormFields.js.map +1 -0
  414. package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js +212 -0
  415. package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js.map +1 -0
  416. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +64 -49
  417. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  418. package/build/dist/UI/Components/Forms/ModelForm.js +39 -5
  419. package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
  420. package/build/dist/UI/Components/Forms/Validation.js +1 -1
  421. package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
  422. package/build/dist/UI/Components/ModelFormModal/ModelFormModal.js.map +1 -1
  423. package/build/dist/UI/Components/ModelTable/AnalyticsModelTable.js.map +1 -1
  424. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +2 -2
  425. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  426. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js +13 -1
  427. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js.map +1 -1
  428. package/build/dist/UI/Components/ModelTable/ModelTable.js +1 -1
  429. package/build/dist/UI/Components/ModelTable/ModelTable.js.map +1 -1
  430. package/build/dist/UI/Utils/SensitiveUrlToken.js +10 -5
  431. package/build/dist/UI/Utils/SensitiveUrlToken.js.map +1 -1
  432. package/build/dist/Utils/API.js +177 -1
  433. package/build/dist/Utils/API.js.map +1 -1
  434. package/build/dist/Utils/Incident/IncidentNoteTemplateVariables.js +155 -0
  435. package/build/dist/Utils/Incident/IncidentNoteTemplateVariables.js.map +1 -0
  436. package/build/dist/Utils/Markdown/MarkdownEscape.js +48 -0
  437. package/build/dist/Utils/Markdown/MarkdownEscape.js.map +1 -1
  438. package/build/dist/Utils/ProbeNetworkFailureUtil.js +460 -0
  439. package/build/dist/Utils/ProbeNetworkFailureUtil.js.map +1 -0
  440. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IncidentStateTimelineService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentStateTimelineService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IncidentStateTimelineService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentStateTimelineService.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import LabelService from "./LabelService";
16
16
  import MonitorService from "./MonitorService";
17
17
  import MonitorStatusService from "./MonitorStatusService";
18
18
  import OnCallDutyPolicyService from "./OnCallDutyPolicyService";
19
+ import StatusPageService from "./StatusPageService";
19
20
  import LIMIT_MAX from "../../Types/Database/LimitMax";
20
21
  import ObjectID from "../../Types/ObjectID";
21
22
  import Model from "../../Models/DatabaseModels/IncidentTemplate";
@@ -23,6 +24,8 @@ import ProjectScopedReferenceValidator, { resolveReferenceId, resolveReferenceId
23
24
  import { getAffectedResourceRelations } from "../Utils/Database/AffectedResourceRelations";
24
25
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
25
26
  import OwnerRuleAssignment from "../Utils/Rules/OwnerRuleAssignment";
27
+ import StatusPageReadAccess from "../Utils/StatusPage/StatusPageReadAccess";
28
+ import IncidentScopeAddedPagesNotification from "../../Types/StatusPage/IncidentScopeAddedPagesNotification";
26
29
  export class Service extends DatabaseService {
27
30
  constructor() {
28
31
  super(Model);
@@ -40,6 +43,9 @@ export class Service extends DatabaseService {
40
43
  */
41
44
  async onBeforeCreate(createBy) {
42
45
  const projectId = createBy.props.tenantId || createBy.data.projectId;
46
+ // Derived from the list, whatever the caller sent (see the column).
47
+ createBy.data.isScopedToStatusPages =
48
+ IncidentScopeAddedPagesNotification.normalizeStatusPageIds(createBy.data.statusPages).length > 0;
43
49
  await ProjectScopedReferenceValidator.validateReferencesBelongToProject({
44
50
  projectId: projectId,
45
51
  subject: "incident template",
@@ -51,9 +57,30 @@ export class Service extends DatabaseService {
51
57
  }),
52
58
  ],
53
59
  });
60
+ /*
61
+ * A template's status pages are picked for everyone who declares from
62
+ * it, so picking them needs the same read access as picking an
63
+ * incident's (see StatusPageReadAccess).
64
+ */
65
+ await StatusPageReadAccess.assertCallerCanPickStatusPages({
66
+ statusPageIds: IncidentScopeAddedPagesNotification.normalizeStatusPageIds(createBy.data.statusPages),
67
+ props: createBy.props,
68
+ subject: "incident template",
69
+ });
54
70
  return { createBy, carryForward: null };
55
71
  }
56
72
  async onBeforeUpdate(updateBy) {
73
+ /*
74
+ * The scope flag follows a write to the list and nothing else: a client
75
+ * value is dropped, and deleting the template's pages (join rows
76
+ * cascading away) never clears it.
77
+ */
78
+ const data = updateBy.data;
79
+ delete data["isScopedToStatusPages"];
80
+ if (data["statusPages"] !== undefined) {
81
+ data["isScopedToStatusPages"] =
82
+ IncidentScopeAddedPagesNotification.normalizeStatusPageIds(data["statusPages"]).length > 0;
83
+ }
57
84
  const references = this.getProjectScopedReferences(updateBy.data);
58
85
  // An empty list only removes rows and needs no check.
59
86
  const relations = this.getProjectScopedRelations().filter((relation) => {
@@ -97,8 +124,59 @@ export class Service extends DatabaseService {
97
124
  ],
98
125
  });
99
126
  }
127
+ // Once the pages are known to be the project's.
128
+ await this.assertCallerCanReadAddedStatusPages(updateBy);
100
129
  return { updateBy, carryForward: null };
101
130
  }
131
+ /*
132
+ * The status pages an update adds to a template must be pages the caller
133
+ * can read (see StatusPageReadAccess). Pages the template already holds are
134
+ * not checked, so saving a template limited to a page the editor cannot
135
+ * see does not fail. The templates are read as root, limited to the
136
+ * caller's project: the update's own tenant filter is only added after
137
+ * this hook.
138
+ */
139
+ async assertCallerCanReadAddedStatusPages(updateBy) {
140
+ const requested = updateBy.data["statusPages"];
141
+ if (updateBy.props.isRoot || requested === undefined) {
142
+ return;
143
+ }
144
+ const requestedIds = IncidentScopeAddedPagesNotification.normalizeStatusPageIds(requested);
145
+ if (requestedIds.length === 0) {
146
+ return;
147
+ }
148
+ const templates = await this.findBy({
149
+ query: updateBy.props.tenantId
150
+ ? Object.assign(Object.assign({}, updateBy.query), { projectId: updateBy.props.tenantId }) : updateBy.query,
151
+ select: {
152
+ _id: true,
153
+ statusPages: {
154
+ _id: true,
155
+ },
156
+ },
157
+ limit: LIMIT_MAX,
158
+ skip: 0,
159
+ props: {
160
+ isRoot: true,
161
+ },
162
+ });
163
+ const addedIds = [];
164
+ for (const template of templates) {
165
+ for (const id of IncidentScopeAddedPagesNotification.getScopeChange({
166
+ before: template.statusPages,
167
+ after: requestedIds,
168
+ }).addedStatusPageIds) {
169
+ if (!addedIds.includes(id)) {
170
+ addedIds.push(id);
171
+ }
172
+ }
173
+ }
174
+ await StatusPageReadAccess.assertCallerCanPickStatusPages({
175
+ statusPageIds: addedIds,
176
+ props: updateBy.props,
177
+ subject: "incident template",
178
+ });
179
+ }
102
180
  /*
103
181
  * The many-to-many lists whose ids must belong to the template's project.
104
182
  * Built per call rather than at module load: these services sit in an
@@ -122,6 +200,11 @@ export class Service extends DatabaseService {
122
200
  modelName: "On-Call Policy",
123
201
  service: OnCallDutyPolicyService,
124
202
  },
203
+ {
204
+ column: "statusPages",
205
+ modelName: "Status Page",
206
+ service: StatusPageService,
207
+ },
125
208
  ...getAffectedResourceRelations(this.getModel()),
126
209
  ];
127
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IncidentTemplateService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentTemplateService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IncidentTemplateService.js","sourceRoot":"","sources":["../../../../Server/Services/IncidentTemplateService.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ import PublicNoteSubscriberNotificationDefault from "../../Types/StatusPage/Publ
23
23
  import File from "../../Models/DatabaseModels/File";
24
24
  import FileAttachmentMarkdownUtil from "../Utils/FileAttachmentMarkdownUtil";
25
25
  import { syncIsPublicForMarkdownImages } from "../Utils/InlineImageAccessTokenSync";
26
+ import SubscriberNotificationResendAccess from "../Utils/StatusPage/SubscriberNotificationResendAccess";
26
27
  export class Service extends DatabaseService {
27
28
  constructor() {
28
29
  super(Model);
@@ -98,14 +99,37 @@ export class Service extends DatabaseService {
98
99
  * An edit tells subscribers nothing unless the editor asked for it on this
99
100
  * edit (see SubscriberUpdateNotification). When they did, queue the update
100
101
  * notification; the ScheduledMaintenancePublicNote worker job sends it.
102
+ *
103
+ * Sending the note's 'posted' notification again - its status written back
104
+ * to Pending, as the dashboard's Retry does - needs the permission to post
105
+ * a note that notifies subscribers, and a note whose notification can go
106
+ * out again (see SubscriberNotificationResendAccess). So does telling
107
+ * subscribers about an edit, which is also refused while that update
108
+ * notification is being sent.
101
109
  */
102
110
  async onBeforeUpdate(updateBy) {
111
+ await SubscriberNotificationResendAccess.assertPublicNoteResendAllowed({
112
+ modelType: Model,
113
+ service: this,
114
+ updateBy: updateBy,
115
+ });
103
116
  if (SubscriberUpdateNotification.isRequested(updateBy.miscDataProps)) {
104
117
  updateBy.data.subscriberNotificationStatusOnNoteUpdated =
105
118
  StatusPageSubscriberNotificationStatus.Pending;
106
119
  updateBy.data.subscriberNotificationStatusMessageOnNoteUpdated =
107
120
  SubscriberUpdateNotification.queuedMessage;
108
121
  }
122
+ /*
123
+ * Telling subscribers about the edit - asked for above, or written as
124
+ * Pending directly (the dashboard's Retry of a failed update) - needs
125
+ * the permission to post a note that notifies subscribers too, and is
126
+ * refused while the update notification is being sent.
127
+ */
128
+ await SubscriberNotificationResendAccess.assertPublicNoteUpdateNotificationAllowed({
129
+ modelType: Model,
130
+ service: this,
131
+ updateBy: updateBy,
132
+ });
109
133
  return {
110
134
  updateBy: updateBy,
111
135
  carryForward: null,
@@ -177,7 +201,8 @@ ${(createdItem.note || "") + attachmentsMarkdown}
177
201
  await ScheduledMaintenanceFeedService.createScheduledMaintenanceFeedItem({
178
202
  scheduledMaintenanceId: updatedItem.scheduledMaintenanceId,
179
203
  projectId: updatedItem.projectId,
180
- scheduledMaintenanceFeedEventType: ScheduledMaintenanceFeedEventType.PrivateNote,
204
+ // An edit to a public note is a public note event, not a private one.
205
+ scheduledMaintenanceFeedEventType: ScheduledMaintenanceFeedEventType.PublicNote,
181
206
  displayColor: Blue500,
182
207
  userId: userId || undefined,
183
208
  feedInfoInMarkdown: `📄 updated **Public Note** for this [Scheduled Maintenance ${scheduledMaintenance.scheduledMaintenanceNumberWithPrefix || "#" + scheduledMaintenance.scheduledMaintenanceNumber}](${(await ScheduledMaintenanceService.getScheduledMaintenanceLinkInDashboard(scheduledMaintenance.projectId, scheduledMaintenance.id)).toString()})
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledMaintenancePublicNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenancePublicNoteService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScheduledMaintenancePublicNoteService.js","sourceRoot":"","sources":["../../../../Server/Services/ScheduledMaintenancePublicNoteService.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ import SmsService from "../../Server/Services/SmsService";
45
45
  import StatusPageResourceService from "../../Server/Services/StatusPageResourceService";
46
46
  import StatusPageService from "../../Server/Services/StatusPageService";
47
47
  import StatusPageSubscriberService from "../../Server/Services/StatusPageSubscriberService";
48
+ import StatusPageSubscriberUnsubscribe from "../../Types/StatusPage/StatusPageSubscriberUnsubscribe";
48
49
  import QueryHelper from "../../Server/Types/Database/QueryHelper";
49
50
  import Markdown, { MarkdownContentType } from "../../Server/Types/Markdown";
50
51
  import logger from "../../Server/Utils/Logger";
@@ -64,6 +65,8 @@ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
64
65
  import OwnerRuleAssignment from "../Utils/Rules/OwnerRuleAssignment";
65
66
  import ProjectService from "./ProjectService";
66
67
  import StatusPageSubscriberNotificationTemplateService, { Service as StatusPageSubscriberNotificationTemplateServiceClass, } from "./StatusPageSubscriberNotificationTemplateService";
68
+ import StatusPageResourceUtil from "../Utils/StatusPageResource";
69
+ import SafeHtml from "../../Types/SafeHtml";
67
70
  import StatusPageSubscriberNotificationEventType from "../../Types/StatusPage/StatusPageSubscriberNotificationEventType";
68
71
  import StatusPageSubscriberNotificationMethod from "../../Types/StatusPage/StatusPageSubscriberNotificationMethod";
69
72
  export class Service extends DatabaseService {
@@ -74,7 +77,7 @@ export class Service extends DatabaseService {
74
77
  }
75
78
  }
76
79
  async notififySubscribersOnEventScheduled(scheduledEvents) {
77
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
80
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
78
81
  logger.debug("ScheduledMaintenance:SendSubscriberRemindersOnEventScheduled: Running");
79
82
  const host = await DatabaseConfig.getHost();
80
83
  const httpProtocol = await DatabaseConfig.getHttpProtocol();
@@ -135,9 +138,14 @@ export class Service extends DatabaseService {
135
138
  .toString()
136
139
  : statusPageURL;
137
140
  // Send email to Email subscribers.
138
- const resourcesAffected = ((_h = statusPageToResources[statuspage._id]) === null || _h === void 0 ? void 0 : _h.map((r) => {
139
- return r.displayName;
140
- }).join(", ")) || "";
141
+ /*
142
+ * The resources are read without their groups, so both forms are the
143
+ * names joined by commas. The HTML one, for email bodies, has every
144
+ * name escaped; SMS, Slack, subjects and webhooks get the names as
145
+ * written.
146
+ */
147
+ const resourcesAffected = StatusPageResourceUtil.getResourcesGroupedByGroupNameAsPlainText(statusPageToResources[statuspage._id] || []);
148
+ const resourcesAffectedHtml = StatusPageResourceUtil.getResourcesGroupedByGroupName(statusPageToResources[statuspage._id] || []);
141
149
  // Fetch custom templates for each notification method
142
150
  const [emailTemplate, smsTemplate, slackTemplate,] = await Promise.all([
143
151
  StatusPageSubscriberNotificationTemplateService.getTemplateForStatusPage({
@@ -169,7 +177,7 @@ export class Service extends DatabaseService {
169
177
  if (!shouldNotifySubscriber) {
170
178
  continue;
171
179
  }
172
- const unsubscribeUrl = StatusPageSubscriberService.getUnsubscribeLink(URL.fromString(statusPageURL), subscriber.id).toString();
180
+ const unsubscribeUrl = StatusPageSubscriberService.getUnsubscribeLink(URL.fromString(statusPageURL), subscriber).toString();
173
181
  // Template variables for custom templates, as Markdown (Slack)
174
182
  const templateVariables = {
175
183
  statusPageName: statusPageName,
@@ -187,17 +195,28 @@ export class Service extends DatabaseService {
187
195
  // Template variables for SMS and email subjects, as plain text
188
196
  const plainTextTemplateVariables = Object.assign(Object.assign({}, templateVariables), { scheduledMaintenanceDescription: eventDescriptionPlainText });
189
197
  if (subscriber.subscriberPhone) {
198
+ /*
199
+ * On a public status page the SMS keeps the shorter manage link,
200
+ * which works there without signing in: an SMS is billed by the
201
+ * segment (see StatusPageSubscriberUnsubscribe.buildSmsLink).
202
+ */
203
+ const smsUnsubscribeUrl = StatusPageSubscriberUnsubscribe.buildSmsLink({
204
+ isPublicStatusPage: statuspage.isPublicStatusPage,
205
+ statusPageUrl: statusPageURL,
206
+ subscriberId: subscriber.id,
207
+ unsubscribeUrl: unsubscribeUrl,
208
+ });
190
209
  let smsMessage;
191
210
  if (smsTemplate &&
192
211
  smsTemplate.templateBody &&
193
212
  statuspage.callSmsConfig) {
194
213
  // Use custom template only when custom Twilio is configured
195
214
  smsMessage =
196
- StatusPageSubscriberNotificationTemplateServiceClass.compileTemplate(smsTemplate.templateBody, plainTextTemplateVariables);
215
+ StatusPageSubscriberNotificationTemplateServiceClass.compileTemplate(smsTemplate.templateBody, Object.assign(Object.assign({}, plainTextTemplateVariables), { unsubscribeUrl: smsUnsubscribeUrl }));
197
216
  }
198
217
  else {
199
218
  // Use default template
200
- smsMessage = `Scheduled Maintenance: ${event.title || ""} on ${statusPageName}.${resourcesAffected ? ` Impact: ${resourcesAffected}.` : ""} Details: ${scheduledEventDetailsUrl}. Unsub: ${unsubscribeUrl}`;
219
+ smsMessage = `Scheduled Maintenance: ${event.title || ""} on ${statusPageName}.${resourcesAffected ? ` Impact: ${resourcesAffected}.` : ""} Details: ${scheduledEventDetailsUrl}. Unsub: ${smsUnsubscribeUrl}`;
201
220
  }
202
221
  const sms = {
203
222
  message: smsMessage,
@@ -256,7 +275,7 @@ ${resourcesAffected ? `**Resources Affected:** ${resourcesAffected}` : ""}
256
275
  statusPageUrl: statusPageURL,
257
276
  unsubscribeUrl: unsubscribeUrl,
258
277
  data: {
259
- scheduledMaintenanceId: ((_j = event.id) === null || _j === void 0 ? void 0 : _j.toString()) || "",
278
+ scheduledMaintenanceId: ((_h = event.id) === null || _h === void 0 ? void 0 : _h.toString()) || "",
260
279
  scheduledMaintenanceTitle: event.title || "",
261
280
  scheduledMaintenanceDescription: event.description || "",
262
281
  scheduledStartTime: OneUptimeDate.getDateAsUserFriendlyFormattedString(event.startsAt),
@@ -276,8 +295,19 @@ ${resourcesAffected ? `**Resources Affected:** ${resourcesAffected}` : ""}
276
295
  }
277
296
  if (subscriber.subscriberEmail) {
278
297
  // send email here.
279
- const statusPageIdString = ((_k = statuspage.id) === null || _k === void 0 ? void 0 : _k.toString()) || ((_l = statuspage._id) === null || _l === void 0 ? void 0 : _l.toString()) || null;
280
- // Prepare email variables
298
+ const statusPageIdString = ((_j = statuspage.id) === null || _j === void 0 ? void 0 : _j.toString()) || ((_k = statuspage._id) === null || _k === void 0 ? void 0 : _k.toString()) || null;
299
+ const scheduledAtHtml = OneUptimeDate.getDateAsFormattedHTMLInMultipleTimezones({
300
+ date: event.startsAt,
301
+ timezones: statuspage.subscriberTimezones || [],
302
+ use12HourFormat: true,
303
+ });
304
+ /*
305
+ * The default template's variables. resourcesAffected,
306
+ * scheduledAt and eventDescription are HTML (the template puts
307
+ * them in its raw-HTML slot); the footer is HTML the status
308
+ * page's admins wrote, as they write the template. Everything
309
+ * else is plain text, which the template escapes.
310
+ */
281
311
  const emailVars = {
282
312
  statusPageName: statusPageName,
283
313
  statusPageUrl: statusPageURL,
@@ -292,12 +322,8 @@ ${resourcesAffected ? `**Resources Affected:** ${resourcesAffected}` : ""}
292
322
  ? "true"
293
323
  : "false",
294
324
  subscriberEmailNotificationFooterText: statuspage.subscriberEmailNotificationFooterText || "",
295
- resourcesAffected: resourcesAffected,
296
- scheduledAt: OneUptimeDate.getDateAsFormattedHTMLInMultipleTimezones({
297
- date: event.startsAt,
298
- timezones: statuspage.subscriberTimezones || [],
299
- use12HourFormat: true,
300
- }),
325
+ resourcesAffected: resourcesAffectedHtml,
326
+ scheduledAt: scheduledAtHtml,
301
327
  eventTitle: event.title || "",
302
328
  eventDescription: eventDescriptionHtml,
303
329
  unsubscribeUrl: unsubscribeUrl,
@@ -311,8 +337,12 @@ ${resourcesAffected ? `**Resources Affected:** ${resourcesAffected}` : ""}
311
337
  * is configured. The body is HTML, so the description is too.
312
338
  * The subject is plain text, including the email-only
313
339
  * variables that are HTML in the body.
340
+ *
341
+ * In the body, the plain values are escaped
342
+ * (compileEmailBodyTemplate) and only the ones wrapped in
343
+ * SafeHtml below go in as HTML.
314
344
  */
315
- const customEmailBody = StatusPageSubscriberNotificationTemplateServiceClass.compileTemplate(emailTemplate.templateBody, Object.assign(Object.assign(Object.assign({}, templateVariables), emailVars), { scheduledMaintenanceDescription: eventDescriptionHtml }));
345
+ const customEmailBody = StatusPageSubscriberNotificationTemplateServiceClass.compileEmailBodyTemplate(emailTemplate.templateBody, Object.assign(Object.assign(Object.assign({}, templateVariables), emailVars), { resourcesAffected: SafeHtml.fromTrustedHtml(resourcesAffectedHtml), scheduledAt: SafeHtml.fromTrustedHtml(scheduledAtHtml), eventDescription: SafeHtml.fromTrustedHtml(eventDescriptionHtml), scheduledMaintenanceDescription: SafeHtml.fromTrustedHtml(eventDescriptionHtml), subscriberEmailNotificationFooterText: SafeHtml.fromTrustedHtml(emailVars["subscriberEmailNotificationFooterText"]) }));
316
346
  const customEmailSubject = emailTemplate.emailSubject
317
347
  ? StatusPageSubscriberNotificationTemplateServiceClass.compileTemplate(emailTemplate.emailSubject, Object.assign(Object.assign(Object.assign({}, emailVars), plainTextTemplateVariables), { eventDescription: eventDescriptionPlainText, scheduledAt: OneUptimeDate.getDateAsFormattedArrayInMultipleTimezones({
318
348
  date: event.startsAt,