@oneuptime/common 8.0.5579 → 8.0.5581

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 (181) hide show
  1. package/Models/DatabaseModels/AlertInternalNote.ts +58 -1
  2. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +1 -0
  3. package/Models/DatabaseModels/File.ts +1 -1
  4. package/Models/DatabaseModels/IncidentInternalNote.ts +58 -1
  5. package/Models/DatabaseModels/IncidentPublicNote.ts +58 -1
  6. package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +58 -1
  7. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +58 -1
  8. package/Models/DatabaseModels/StatusPageAnnouncement.ts +49 -0
  9. package/Server/API/AlertInternalNoteAPI.ts +96 -0
  10. package/Server/API/IncidentInternalNoteAPI.ts +96 -0
  11. package/Server/API/IncidentPublicNoteAPI.ts +96 -0
  12. package/Server/API/ScheduledMaintenanceInternalNoteAPI.ts +100 -0
  13. package/Server/API/ScheduledMaintenancePublicNoteAPI.ts +100 -0
  14. package/Server/API/StatusPageAPI.ts +585 -59
  15. package/Server/API/StatusPageAnnouncementAPI.ts +98 -0
  16. package/Server/API/UserAPI.ts +95 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/1763471659817-MigrationName.ts +79 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1763477560906-MigrationName.ts +81 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1763480947474-MigrationName.ts +79 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  21. package/Server/Middleware/ProjectAuthorization.ts +3 -1
  22. package/Server/Services/AlertInternalNoteService.ts +75 -2
  23. package/Server/Services/IncidentInternalNoteService.ts +76 -2
  24. package/Server/Services/IncidentPublicNoteService.ts +76 -2
  25. package/Server/Services/ScheduledMaintenanceInternalNoteService.ts +76 -2
  26. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +76 -2
  27. package/Server/Services/ScheduledMaintenanceService.ts +10 -7
  28. package/Server/Services/StatusPagePrivateUserService.ts +10 -7
  29. package/Server/Services/StatusPageService.ts +12 -7
  30. package/Server/Services/StatusPageSubscriberService.ts +19 -13
  31. package/Server/Utils/FileAttachmentMarkdownUtil.ts +98 -0
  32. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +9 -1
  33. package/Server/Utils/Monitor/Criteria/ExceptionMonitorCriteria.ts +34 -0
  34. package/Server/Utils/Monitor/DataToProcess.ts +3 -1
  35. package/Server/Utils/Monitor/MonitorCriteriaDataExtractor.ts +13 -0
  36. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +13 -0
  37. package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +20 -0
  38. package/Server/Utils/Monitor/MonitorResource.ts +18 -0
  39. package/Server/Utils/Response.ts +13 -0
  40. package/Server/Utils/Telemetry.ts +15 -0
  41. package/Types/File/MimeType.ts +18 -0
  42. package/Types/Monitor/CriteriaFilter.ts +3 -0
  43. package/Types/Monitor/ExceptionMonitor/ExceptionMonitorResponse.ts +12 -0
  44. package/Types/Monitor/MonitorCriteriaInstance.ts +67 -0
  45. package/Types/Monitor/MonitorStep.ts +30 -0
  46. package/Types/Monitor/MonitorStepExceptionMonitor.ts +94 -0
  47. package/Types/Monitor/MonitorType.ts +10 -1
  48. package/Types/Telemetry/TelemetryQuery.ts +2 -1
  49. package/Types/Telemetry/TelemetryType.ts +1 -0
  50. package/UI/Components/AttachmentList/EventAttachmentList.tsx +121 -0
  51. package/UI/Components/EventItem/EventItem.tsx +22 -0
  52. package/UI/Components/Feed/FeedItem.tsx +9 -16
  53. package/UI/Components/FilePicker/FilePicker.tsx +441 -145
  54. package/UI/Components/Forms/Fields/FormField.tsx +32 -15
  55. package/UI/Components/Forms/FormSummary.tsx +168 -1
  56. package/UI/Components/Forms/ModelForm.tsx +46 -24
  57. package/UI/Components/Forms/Types/FormFieldSchemaType.ts +1 -0
  58. package/UI/Components/Icon/Icon.tsx +1 -1
  59. package/UI/Utils/API/RequestOptions.ts +2 -0
  60. package/UI/Utils/ModelAPI/ModelAPI.ts +18 -0
  61. package/UI/Utils/User.ts +8 -0
  62. package/Utils/API.ts +11 -1
  63. package/build/dist/Models/DatabaseModels/AlertInternalNote.js +49 -1
  64. package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
  65. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +1 -0
  66. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  67. package/build/dist/Models/DatabaseModels/File.js +1 -1
  68. package/build/dist/Models/DatabaseModels/File.js.map +1 -1
  69. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +49 -1
  70. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
  71. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +49 -1
  72. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  73. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +49 -1
  74. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
  75. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +49 -1
  76. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  77. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +48 -0
  78. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  79. package/build/dist/Server/API/AlertInternalNoteAPI.js +68 -0
  80. package/build/dist/Server/API/AlertInternalNoteAPI.js.map +1 -0
  81. package/build/dist/Server/API/IncidentInternalNoteAPI.js +68 -0
  82. package/build/dist/Server/API/IncidentInternalNoteAPI.js.map +1 -0
  83. package/build/dist/Server/API/IncidentPublicNoteAPI.js +68 -0
  84. package/build/dist/Server/API/IncidentPublicNoteAPI.js.map +1 -0
  85. package/build/dist/Server/API/ScheduledMaintenanceInternalNoteAPI.js +68 -0
  86. package/build/dist/Server/API/ScheduledMaintenanceInternalNoteAPI.js.map +1 -0
  87. package/build/dist/Server/API/ScheduledMaintenancePublicNoteAPI.js +68 -0
  88. package/build/dist/Server/API/ScheduledMaintenancePublicNoteAPI.js.map +1 -0
  89. package/build/dist/Server/API/StatusPageAPI.js +488 -85
  90. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  91. package/build/dist/Server/API/StatusPageAnnouncementAPI.js +68 -0
  92. package/build/dist/Server/API/StatusPageAnnouncementAPI.js.map +1 -0
  93. package/build/dist/Server/API/UserAPI.js +66 -0
  94. package/build/dist/Server/API/UserAPI.js.map +1 -0
  95. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1763471659817-MigrationName.js +34 -0
  96. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1763471659817-MigrationName.js.map +1 -0
  97. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1763477560906-MigrationName.js +34 -0
  98. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1763477560906-MigrationName.js.map +1 -0
  99. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1763480947474-MigrationName.js +34 -0
  100. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1763480947474-MigrationName.js.map +1 -0
  101. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  102. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  103. package/build/dist/Server/Middleware/ProjectAuthorization.js +4 -1
  104. package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
  105. package/build/dist/Server/Services/AlertInternalNoteService.js +54 -2
  106. package/build/dist/Server/Services/AlertInternalNoteService.js.map +1 -1
  107. package/build/dist/Server/Services/IncidentInternalNoteService.js +54 -2
  108. package/build/dist/Server/Services/IncidentInternalNoteService.js.map +1 -1
  109. package/build/dist/Server/Services/IncidentPublicNoteService.js +54 -2
  110. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  111. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js +54 -2
  112. package/build/dist/Server/Services/ScheduledMaintenanceInternalNoteService.js.map +1 -1
  113. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +54 -2
  114. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  115. package/build/dist/Server/Services/ScheduledMaintenanceService.js +6 -5
  116. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  117. package/build/dist/Server/Services/StatusPagePrivateUserService.js +6 -4
  118. package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
  119. package/build/dist/Server/Services/StatusPageService.js +7 -4
  120. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  121. package/build/dist/Server/Services/StatusPageSubscriberService.js +11 -7
  122. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  123. package/build/dist/Server/Utils/FileAttachmentMarkdownUtil.js +67 -0
  124. package/build/dist/Server/Utils/FileAttachmentMarkdownUtil.js.map +1 -0
  125. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +6 -1
  126. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  127. package/build/dist/Server/Utils/Monitor/Criteria/ExceptionMonitorCriteria.js +34 -0
  128. package/build/dist/Server/Utils/Monitor/Criteria/ExceptionMonitorCriteria.js.map +1 -0
  129. package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js +6 -0
  130. package/build/dist/Server/Utils/Monitor/MonitorCriteriaDataExtractor.js.map +1 -1
  131. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +10 -0
  132. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  133. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +9 -0
  134. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -1
  135. package/build/dist/Server/Utils/Monitor/MonitorResource.js +10 -0
  136. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  137. package/build/dist/Server/Utils/Response.js +8 -0
  138. package/build/dist/Server/Utils/Response.js.map +1 -1
  139. package/build/dist/Server/Utils/Telemetry.js +8 -1
  140. package/build/dist/Server/Utils/Telemetry.js.map +1 -1
  141. package/build/dist/Types/File/MimeType.js +18 -0
  142. package/build/dist/Types/File/MimeType.js.map +1 -1
  143. package/build/dist/Types/Monitor/CriteriaFilter.js +2 -0
  144. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  145. package/build/dist/Types/Monitor/ExceptionMonitor/ExceptionMonitorResponse.js +2 -0
  146. package/build/dist/Types/Monitor/ExceptionMonitor/ExceptionMonitorResponse.js.map +1 -0
  147. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +62 -0
  148. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  149. package/build/dist/Types/Monitor/MonitorStep.js +20 -1
  150. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  151. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js +58 -0
  152. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js.map +1 -0
  153. package/build/dist/Types/Monitor/MonitorType.js +9 -1
  154. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  155. package/build/dist/Types/Telemetry/TelemetryType.js +1 -0
  156. package/build/dist/Types/Telemetry/TelemetryType.js.map +1 -1
  157. package/build/dist/UI/Components/AttachmentList/EventAttachmentList.js +42 -0
  158. package/build/dist/UI/Components/AttachmentList/EventAttachmentList.js.map +1 -0
  159. package/build/dist/UI/Components/EventItem/EventItem.js +5 -1
  160. package/build/dist/UI/Components/EventItem/EventItem.js.map +1 -1
  161. package/build/dist/UI/Components/Feed/FeedItem.js +6 -4
  162. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  163. package/build/dist/UI/Components/FilePicker/FilePicker.js +262 -77
  164. package/build/dist/UI/Components/FilePicker/FilePicker.js.map +1 -1
  165. package/build/dist/UI/Components/Forms/Fields/FormField.js +24 -12
  166. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  167. package/build/dist/UI/Components/Forms/FormSummary.js +77 -1
  168. package/build/dist/UI/Components/Forms/FormSummary.js.map +1 -1
  169. package/build/dist/UI/Components/Forms/ModelForm.js +32 -18
  170. package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
  171. package/build/dist/UI/Components/Forms/Types/FormFieldSchemaType.js +1 -0
  172. package/build/dist/UI/Components/Forms/Types/FormFieldSchemaType.js.map +1 -1
  173. package/build/dist/UI/Components/Icon/Icon.js +1 -1
  174. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  175. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +30 -45
  176. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  177. package/build/dist/UI/Utils/User.js +7 -0
  178. package/build/dist/UI/Utils/User.js.map +1 -1
  179. package/build/dist/Utils/API.js +3 -0
  180. package/build/dist/Utils/API.js.map +1 -1
  181. package/package.json +6 -6
@@ -167,6 +167,14 @@ const FormField: <T extends GenericObject>(
167
167
  ? getFieldType(props.field.fieldType)
168
168
  : "text";
169
169
 
170
+ const isFileField: boolean =
171
+ props.field.fieldType === FormFieldSchemaType.File ||
172
+ props.field.fieldType === FormFieldSchemaType.ImageFile ||
173
+ props.field.fieldType === FormFieldSchemaType.MultipleFiles;
174
+
175
+ const isMultiFileField: boolean =
176
+ props.field.fieldType === FormFieldSchemaType.MultipleFiles;
177
+
170
178
  if (Object.keys(props.field.field || {}).length === 0) {
171
179
  throw new BadDataException("Object cannot be without Field");
172
180
  }
@@ -569,49 +577,58 @@ const FormField: <T extends GenericObject>(
569
577
  />
570
578
  )}
571
579
 
572
- {(props.field.fieldType === FormFieldSchemaType.File ||
573
- props.field.fieldType === FormFieldSchemaType.ImageFile) && (
580
+ {isFileField && (
574
581
  <FilePicker
575
582
  error={props.touched && props.error ? props.error : undefined}
576
583
  tabIndex={index}
577
584
  onChange={async (files: Array<FileModel>) => {
578
- let fileResult: FileModel | Array<FileModel> | null = files.map(
585
+ const strippedFiles: Array<FileModel> = files.map(
579
586
  (i: FileModel) => {
580
587
  const strippedModel: FileModel = new FileModel();
581
588
  strippedModel._id = i._id!;
589
+ if (i.name) {
590
+ strippedModel.name = i.name;
591
+ }
592
+ if (i.fileType) {
593
+ strippedModel.fileType = i.fileType;
594
+ }
582
595
  return strippedModel;
583
596
  },
584
597
  );
585
598
 
586
- if (
587
- (props.field.fieldType === FormFieldSchemaType.File ||
588
- props.field.fieldType === FormFieldSchemaType.ImageFile) &&
589
- Array.isArray(fileResult)
590
- ) {
591
- if (fileResult.length > 0) {
592
- fileResult = fileResult[0] as FileModel;
599
+ let fileResult: FileModel | Array<FileModel> | null =
600
+ strippedFiles;
601
+
602
+ if (!isMultiFileField) {
603
+ if (strippedFiles.length > 0) {
604
+ fileResult = strippedFiles[0] as FileModel;
593
605
  } else {
594
606
  fileResult = null;
595
607
  }
596
608
  }
597
609
 
598
- onChange(fileResult);
610
+ onChange(fileResult as any);
599
611
  props.setFieldValue(props.fieldName, fileResult);
600
612
  }}
601
613
  onBlur={async () => {
602
614
  props.setFieldTouched(props.fieldName, true);
603
615
  }}
604
616
  mimeTypes={
605
- props.field.fieldType === FormFieldSchemaType.ImageFile
606
- ? [MimeType.png, MimeType.jpeg, MimeType.jpg, MimeType.svg]
607
- : []
617
+ props.field.fileTypes
618
+ ? props.field.fileTypes
619
+ : props.field.fieldType === FormFieldSchemaType.ImageFile
620
+ ? [MimeType.png, MimeType.jpeg, MimeType.jpg, MimeType.svg]
621
+ : []
608
622
  }
623
+ isMultiFilePicker={isMultiFileField}
609
624
  dataTestId={props.field.dataTestId}
610
625
  initialValue={
611
626
  props.currentValues &&
612
627
  (props.currentValues as any)[props.fieldName]
613
628
  ? (props.currentValues as any)[props.fieldName]
614
- : []
629
+ : isMultiFileField
630
+ ? []
631
+ : undefined
615
632
  }
616
633
  placeholder={props.field.placeholder || ""}
617
634
  />
@@ -11,6 +11,165 @@ import FieldType from "../Types/FieldType";
11
11
  import { FormStep } from "./Types/FormStep";
12
12
  import HorizontalRule from "../HorizontalRule/HorizontalRule";
13
13
 
14
+ type SummaryElementFn<T extends GenericObject> = (
15
+ item: FormValues<T>,
16
+ ) => ReactElement | undefined;
17
+
18
+ type FileSummaryItem = {
19
+ name?: string;
20
+ fileName?: string;
21
+ slug?: string;
22
+ _id?: string;
23
+ fileType?: string;
24
+ isPublic?: boolean;
25
+ [key: string]: unknown;
26
+ };
27
+
28
+ const getFieldName: <T extends GenericObject>(
29
+ field: Field<T>,
30
+ ) => string | undefined = <T extends GenericObject>(
31
+ field: Field<T>,
32
+ ): string | undefined => {
33
+ if (field.overrideFieldKey) {
34
+ return field.overrideFieldKey;
35
+ }
36
+
37
+ const key: string | undefined = Object.keys(field.field || {})[0];
38
+ return key;
39
+ };
40
+
41
+ const getFileSummaryElement: <T extends GenericObject>(
42
+ field: Field<T>,
43
+ ) => SummaryElementFn<T> | undefined = <T extends GenericObject>(
44
+ field: Field<T>,
45
+ ): SummaryElementFn<T> | undefined => {
46
+ if (
47
+ field.fieldType !== FormFieldSchemaType.File &&
48
+ field.fieldType !== FormFieldSchemaType.MultipleFiles
49
+ ) {
50
+ return undefined;
51
+ }
52
+
53
+ const fieldName: string | undefined = getFieldName(field);
54
+
55
+ if (!fieldName) {
56
+ return undefined;
57
+ }
58
+
59
+ const formatFileName: (
60
+ file: FileSummaryItem | string,
61
+ index: number,
62
+ ) => string = (file: FileSummaryItem | string, index: number): string => {
63
+ if (!file) {
64
+ return `File ${index + 1}`;
65
+ }
66
+
67
+ if (typeof file === "string") {
68
+ return file;
69
+ }
70
+
71
+ const fileObject: FileSummaryItem = file as FileSummaryItem;
72
+
73
+ return (
74
+ fileObject.name ||
75
+ fileObject.fileName ||
76
+ fileObject.slug ||
77
+ fileObject._id ||
78
+ `File ${index + 1}`
79
+ );
80
+ };
81
+
82
+ const getFileSubtitle: (file: FileSummaryItem) => string | undefined = (
83
+ file: FileSummaryItem,
84
+ ): string | undefined => {
85
+ const subtitleParts: Array<string> = [];
86
+
87
+ if (file.fileType && typeof file.fileType === "string") {
88
+ subtitleParts.push(file.fileType);
89
+ }
90
+
91
+ if (file.slug && typeof file.slug === "string") {
92
+ subtitleParts.push(file.slug);
93
+ }
94
+
95
+ return subtitleParts.length > 0 ? subtitleParts.join(" • ") : undefined;
96
+ };
97
+
98
+ const getAccessLabel: (file: FileSummaryItem) => string | undefined = (
99
+ file: FileSummaryItem,
100
+ ): string | undefined => {
101
+ if (typeof file.isPublic === "boolean") {
102
+ return file.isPublic ? "Public" : "Private";
103
+ }
104
+
105
+ return undefined;
106
+ };
107
+
108
+ const renderFiles: SummaryElementFn<T> = (
109
+ item: FormValues<T>,
110
+ ): ReactElement | undefined => {
111
+ const formValuesRecord: Record<string, unknown> =
112
+ (item as Record<string, unknown>) || {};
113
+
114
+ const value:
115
+ | FileSummaryItem
116
+ | Array<FileSummaryItem | string>
117
+ | string
118
+ | null =
119
+ (formValuesRecord[fieldName] as
120
+ | FileSummaryItem
121
+ | Array<FileSummaryItem | string>
122
+ | string
123
+ | null
124
+ | undefined) || null;
125
+
126
+ if (!value || (Array.isArray(value) && value.length === 0)) {
127
+ return <span className="text-gray-500">No files selected.</span>;
128
+ }
129
+
130
+ const files: Array<FileSummaryItem | string> = Array.isArray(value)
131
+ ? (value as Array<FileSummaryItem | string>)
132
+ : [value as FileSummaryItem | string];
133
+
134
+ return (
135
+ <div className="rounded-md border border-gray-200 bg-gray-50">
136
+ <ul className="divide-y divide-gray-200">
137
+ {files.map((file: FileSummaryItem | string, index: number) => {
138
+ const fileObject: FileSummaryItem =
139
+ typeof file === "string" ? { name: file } : file;
140
+
141
+ const displayName: string = formatFileName(fileObject, index);
142
+ const subtitle: string | undefined = getFileSubtitle(fileObject);
143
+ const accessLabel: string | undefined = getAccessLabel(fileObject);
144
+
145
+ const key: string = fileObject._id || `${displayName}-${index}`;
146
+
147
+ return (
148
+ <li key={key} className="flex items-center gap-3 px-3 py-2">
149
+ <div className="min-w-0 flex-1">
150
+ <p className="truncate text-sm font-medium text-gray-900">
151
+ {displayName}
152
+ </p>
153
+ {subtitle && (
154
+ <p className="truncate text-xs text-gray-500">{subtitle}</p>
155
+ )}
156
+ </div>
157
+ {accessLabel && (
158
+ <span className="rounded-full border border-gray-200 bg-white px-2 py-0.5 text-xs font-medium text-gray-600">
159
+ {accessLabel}
160
+ </span>
161
+ )}
162
+ </li>
163
+ );
164
+ })}
165
+ </ul>
166
+ </div>
167
+ );
168
+ };
169
+
170
+ return renderFiles;
171
+ };
172
+
14
173
  export interface ComponentProps<T> {
15
174
  formValues: FormValues<T>;
16
175
  formFields: Fields<T>;
@@ -37,6 +196,9 @@ const FormSummary: <T extends GenericObject>(
37
196
  item={formValues as T}
38
197
  fields={
39
198
  formFields.map((field: Field<T>) => {
199
+ const defaultSummaryElement: SummaryElementFn<T> | undefined =
200
+ getFileSummaryElement(field);
201
+
40
202
  const detailField: DetailField<T> = {
41
203
  title: field.title || "",
42
204
  fieldType: field.getSummaryElement
@@ -45,11 +207,16 @@ const FormSummary: <T extends GenericObject>(
45
207
  field.fieldType || FormFieldSchemaType.Text,
46
208
  ),
47
209
  description: field.description || "",
48
- getElement: field.getSummaryElement as any,
210
+ getElement: (field.getSummaryElement ||
211
+ defaultSummaryElement) as any,
49
212
  sideLink: field.sideLink,
50
213
  key: (Object.keys(field.field || {})[0]?.toString() ||
51
214
  "") as keyof T,
52
215
  };
216
+
217
+ if (defaultSummaryElement && !field.getSummaryElement) {
218
+ detailField.fieldType = FieldType.Element;
219
+ }
53
220
  return detailField;
54
221
  }) as DetailField<GenericObject>[]
55
222
  }
@@ -360,34 +360,56 @@ const ModelForm: <TBaseModel extends BaseModel>(
360
360
  const relationSelect: Select<TBaseModel> = getRelationSelect();
361
361
 
362
362
  for (const key in relationSelect) {
363
- if (item) {
364
- if (Array.isArray((item as any)[key])) {
365
- const idArray: Array<string> = [];
366
- let isModelArray: boolean = false;
367
- for (const itemInArray of (item as any)[key] as any) {
368
- if (typeof (itemInArray as any) === "object") {
369
- if ((itemInArray as any as JSONObject)["_id"]) {
370
- isModelArray = true;
371
- idArray.push(
372
- (itemInArray as any as JSONObject)["_id"] as string,
373
- );
374
- }
363
+ if (!item) {
364
+ continue;
365
+ }
366
+
367
+ const isFileColumn: boolean = model.isFileColumn(key);
368
+
369
+ if (Array.isArray((item as any)[key])) {
370
+ if (isFileColumn) {
371
+ (item as any)[key] = ((item as any)[key] as Array<JSONObject>).map(
372
+ (file: JSONObject) => {
373
+ return BaseModel.fromJSON(file, FileModel) as FileModel;
374
+ },
375
+ );
376
+ continue;
377
+ }
378
+
379
+ const idArray: Array<string> = [];
380
+ let isModelArray: boolean = false;
381
+
382
+ for (const itemInArray of (item as any)[key] as Array<JSONObject>) {
383
+ if (typeof itemInArray === "object" && itemInArray) {
384
+ const id: string | undefined = itemInArray["_id"] as
385
+ | string
386
+ | undefined;
387
+ if (id) {
388
+ isModelArray = true;
389
+ idArray.push(id);
375
390
  }
376
391
  }
392
+ }
377
393
 
378
- if (isModelArray) {
379
- (item as any)[key] = idArray;
380
- }
394
+ if (isModelArray) {
395
+ (item as any)[key] = idArray;
381
396
  }
382
- if (
383
- (item as any)[key] &&
384
- typeof (item as any)[key] === "object" &&
385
- !((item as any)[key] instanceof FileModel)
386
- ) {
387
- if (((item as any)[key] as JSONObject)["_id"]) {
388
- (item as any)[key] = ((item as any)[key] as JSONObject)[
389
- "_id"
390
- ] as string;
397
+ } else if ((item as any)[key] && typeof (item as any)[key] === "object") {
398
+ if (isFileColumn) {
399
+ (item as any)[key] = BaseModel.fromJSON(
400
+ (item as any)[key] as JSONObject,
401
+ FileModel,
402
+ );
403
+ continue;
404
+ }
405
+
406
+ if (!((item as any)[key] instanceof FileModel)) {
407
+ const id: string | undefined = ((item as any)[key] as JSONObject)[
408
+ "_id"
409
+ ] as string | undefined;
410
+
411
+ if (id) {
412
+ (item as any)[key] = id;
391
413
  }
392
414
  }
393
415
  }
@@ -19,6 +19,7 @@ enum FormFieldSchemaType {
19
19
  Color = "Color",
20
20
  Dropdown = "Dropdown",
21
21
  File = "File",
22
+ MultipleFiles = "MultipleFiles",
22
23
  MultiSelectDropdown = "MultiSelectDropdown",
23
24
  OptionChooserButton = "OptionChooserButton",
24
25
  Toggle = "Boolean",
@@ -1130,7 +1130,7 @@ const Icon: FunctionComponent<ComponentProps> = ({
1130
1130
  d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"
1131
1131
  />,
1132
1132
  );
1133
- } else if (icon === IconProp.TextFile) {
1133
+ } else if (icon === IconProp.TextFile || icon === IconProp.File) {
1134
1134
  return getSvgWrapper(
1135
1135
  <path
1136
1136
  strokeLinecap="round"
@@ -1,7 +1,9 @@
1
1
  import URL from "../../../Types/API/URL";
2
+ import type { RequestOptions as CoreRequestOptions } from "../../../Utils/API";
2
3
  import Dictionary from "../../../Types/Dictionary";
3
4
 
4
5
  export default interface RequestOptions {
5
6
  requestHeaders?: Dictionary<string> | undefined;
6
7
  overrideRequestUrl?: URL | undefined;
8
+ apiRequestOptions?: CoreRequestOptions | undefined;
7
9
  }
@@ -101,6 +101,9 @@ export default class ModelAPI {
101
101
  data: data.data,
102
102
  },
103
103
  headers: this.getCommonHeaders(data.requestOptions),
104
+ ...(data.requestOptions?.apiRequestOptions
105
+ ? { options: data.requestOptions.apiRequestOptions }
106
+ : {}),
104
107
  });
105
108
 
106
109
  if (result.isSuccess()) {
@@ -156,6 +159,9 @@ export default class ModelAPI {
156
159
  ...this.getCommonHeaders(data.requestOptions),
157
160
  ...(data.requestOptions?.requestHeaders || {}),
158
161
  },
162
+ ...(data.requestOptions?.apiRequestOptions
163
+ ? { options: data.requestOptions.apiRequestOptions }
164
+ : {}),
159
165
  });
160
166
 
161
167
  if (apiResult.isSuccess() && apiResult instanceof HTTPResponse) {
@@ -231,6 +237,9 @@ export default class ModelAPI {
231
237
  limit: data.limit.toString(),
232
238
  skip: data.skip.toString(),
233
239
  },
240
+ ...(data.requestOptions?.apiRequestOptions
241
+ ? { options: data.requestOptions.apiRequestOptions }
242
+ : {}),
234
243
  });
235
244
 
236
245
  if (result.isSuccess()) {
@@ -294,6 +303,9 @@ export default class ModelAPI {
294
303
  query: JSONFunctions.serialize(data.query as JSONObject),
295
304
  },
296
305
  headers,
306
+ ...(data.requestOptions?.apiRequestOptions
307
+ ? { options: data.requestOptions.apiRequestOptions }
308
+ : {}),
297
309
  });
298
310
 
299
311
  if (result.isSuccess()) {
@@ -383,6 +395,9 @@ export default class ModelAPI {
383
395
  select: JSONFunctions.serialize(data.select as JSONObject) || {},
384
396
  },
385
397
  headers: this.getCommonHeaders(data.requestOptions),
398
+ ...(data.requestOptions?.apiRequestOptions
399
+ ? { options: data.requestOptions.apiRequestOptions }
400
+ : {}),
386
401
  });
387
402
 
388
403
  if (result.isSuccess()) {
@@ -426,6 +441,9 @@ export default class ModelAPI {
426
441
  method: HTTPMethod.DELETE,
427
442
  url: apiUrl,
428
443
  headers: this.getCommonHeaders(data.requestOptions),
444
+ ...(data.requestOptions?.apiRequestOptions
445
+ ? { options: data.requestOptions.apiRequestOptions }
446
+ : {}),
429
447
  });
430
448
 
431
449
  if (result.isSuccess()) {
package/UI/Utils/User.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { IDENTITY_URL } from "../Config";
2
+ import { AppApiRoute } from "../../ServiceRoute";
2
3
  import LocalStorage from "./LocalStorage";
3
4
  import URL from "../../Types/API/URL";
5
+ import Route from "../../Types/API/Route";
4
6
  import Dictionary from "../../Types/Dictionary";
5
7
  import Email from "../../Types/Email";
6
8
  import BadDataException from "../../Types/Exception/BadDataException";
@@ -44,6 +46,12 @@ export default class UserUtil {
44
46
  );
45
47
  }
46
48
 
49
+ public static getProfilePictureRoute(userId: ObjectID): Route {
50
+ return Route.fromString(AppApiRoute.toString())
51
+ .addRoute("/user/profile-picture")
52
+ .addRoute(`/${userId.toString()}`);
53
+ }
54
+
47
55
  public static isCardRegistered(): boolean {
48
56
  return Boolean(LocalStorage.getItem("cardRegistered"));
49
57
  }
package/Utils/API.ts CHANGED
@@ -11,7 +11,12 @@ import URL from "../Types/API/URL";
11
11
  import Dictionary from "../Types/Dictionary";
12
12
  import APIException from "../Types/Exception/ApiException";
13
13
  import { JSONArray, JSONObject } from "../Types/JSON";
14
- import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from "axios";
14
+ import axios, {
15
+ AxiosError,
16
+ AxiosProgressEvent,
17
+ AxiosRequestConfig,
18
+ AxiosResponse,
19
+ } from "axios";
15
20
  import Sleep from "../Types/Sleep";
16
21
  import type { Agent as HttpAgent } from "http";
17
22
  import type { Agent as HttpsAgent } from "https";
@@ -26,6 +31,7 @@ export interface RequestOptions {
26
31
  httpsAgent?: HttpsAgent | undefined;
27
32
  skipAuthRefresh?: boolean | undefined;
28
33
  hasAttemptedAuthRefresh?: boolean | undefined;
34
+ onUploadProgress?: ((event: AxiosProgressEvent) => void) | undefined;
29
35
  }
30
36
 
31
37
  export interface APIRequestOptions {
@@ -408,6 +414,10 @@ export default class API {
408
414
  options.httpsAgent;
409
415
  }
410
416
 
417
+ if (options?.onUploadProgress) {
418
+ axiosOptions.onUploadProgress = options.onUploadProgress;
419
+ }
420
+
411
421
  result = await axios(axiosOptions);
412
422
 
413
423
  break;
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import Alert from "./Alert";
11
11
  import Project from "./Project";
12
12
  import User from "./User";
13
+ import File from "./File";
13
14
  import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
14
15
  import Route from "../../Types/API/Route";
15
16
  import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
@@ -26,7 +27,7 @@ import TenantColumn from "../../Types/Database/TenantColumn";
26
27
  import IconProp from "../../Types/Icon/IconProp";
27
28
  import ObjectID from "../../Types/ObjectID";
28
29
  import Permission from "../../Types/Permission";
29
- import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
30
+ import { Column, Entity, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, } from "typeorm";
30
31
  let AlertInternalNote = class AlertInternalNote extends BaseModel {
31
32
  constructor() {
32
33
  super(...arguments);
@@ -39,6 +40,7 @@ let AlertInternalNote = class AlertInternalNote extends BaseModel {
39
40
  this.deletedByUser = undefined;
40
41
  this.deletedByUserId = undefined;
41
42
  this.note = undefined;
43
+ this.attachments = undefined;
42
44
  this.isOwnerNotified = undefined;
43
45
  }
44
46
  };
@@ -309,6 +311,52 @@ __decorate([
309
311
  }),
310
312
  __metadata("design:type", String)
311
313
  ], AlertInternalNote.prototype, "note", void 0);
314
+ __decorate([
315
+ ColumnAccessControl({
316
+ create: [
317
+ Permission.ProjectOwner,
318
+ Permission.ProjectAdmin,
319
+ Permission.ProjectMember,
320
+ Permission.CreateAlertInternalNote,
321
+ ],
322
+ read: [
323
+ Permission.ProjectOwner,
324
+ Permission.ProjectAdmin,
325
+ Permission.ProjectMember,
326
+ Permission.ReadAlertInternalNote,
327
+ ],
328
+ update: [
329
+ Permission.ProjectOwner,
330
+ Permission.ProjectAdmin,
331
+ Permission.ProjectMember,
332
+ Permission.EditAlertInternalNote,
333
+ ],
334
+ }),
335
+ TableColumn({
336
+ type: TableColumnType.EntityArray,
337
+ modelType: File,
338
+ title: "Attachments",
339
+ description: "Files attached to this note",
340
+ required: false,
341
+ }),
342
+ ManyToMany(() => {
343
+ return File;
344
+ }, {
345
+ eager: false,
346
+ }),
347
+ JoinTable({
348
+ name: "AlertInternalNoteFile",
349
+ joinColumn: {
350
+ name: "alertInternalNoteId",
351
+ referencedColumnName: "_id",
352
+ },
353
+ inverseJoinColumn: {
354
+ name: "fileId",
355
+ referencedColumnName: "_id",
356
+ },
357
+ }),
358
+ __metadata("design:type", Array)
359
+ ], AlertInternalNote.prototype, "attachments", void 0);
312
360
  __decorate([
313
361
  ColumnAccessControl({
314
362
  create: [],
@@ -1 +1 @@
1
- {"version":3,"file":"AlertInternalNote.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/AlertInternalNote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AlertInternalNote.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/AlertInternalNote.ts"],"names":[],"mappings":"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"}
@@ -429,6 +429,7 @@ __decorate([
429
429
  type: TableColumnType.ObjectID,
430
430
  description: "ID of this object",
431
431
  computed: true,
432
+ canReadOnRelationQuery: true,
432
433
  }),
433
434
  PrimaryGeneratedColumn("uuid"),
434
435
  __metadata("design:type", String)