@oneuptime/common 12.0.0 → 12.0.1
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.
- package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts +12 -2
- package/Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.ts +12 -2
- package/Server/Services/LlmProviderService.ts +69 -9
- package/Server/Services/RunnerService.ts +1 -7
- package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +12 -0
- package/Tests/App/Dashboard/RunnerInstallInstructions.test.tsx +119 -0
- package/Tests/App/Dashboard/RunnerStatus.test.tsx +274 -0
- package/Tests/Server/Services/LlmProviderUsableByProject.test.ts +293 -0
- package/Tests/Server/Utils/AI/ToolArgsExtractors.test.ts +141 -0
- package/Tests/Server/Utils/AI/Toolbox/WidgetBuilder.test.ts +205 -0
- package/Tests/Server/Utils/Monitor/Criteria/CompareCriteria.test.ts +897 -0
- package/Tests/Types/Runner/RunnerLiveStatus.test.ts +320 -0
- package/Tests/UI/Components/AiInvestigationSettingsCard.test.tsx +285 -0
- package/Tests/UI/Components/Detail/EntityFields.test.tsx +166 -0
- package/Types/Runbook/RunbookStep.ts +15 -0
- package/Types/Runner/RunnerLiveStatus.ts +114 -0
- package/UI/Components/Detail/Detail.tsx +155 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js +16 -4
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.js +11 -1
- package/build/dist/Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.js.map +1 -1
- package/build/dist/Server/Services/LlmProviderService.js +61 -8
- package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
- package/build/dist/Server/Services/RunnerService.js +1 -6
- package/build/dist/Server/Services/RunnerService.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +11 -0
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
- package/build/dist/Types/Runbook/RunbookStep.js.map +1 -1
- package/build/dist/Types/Runner/RunnerLiveStatus.js +69 -0
- package/build/dist/Types/Runner/RunnerLiveStatus.js.map +1 -0
- package/build/dist/UI/Components/Detail/Detail.js +97 -0
- package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import Detail from "../../../../UI/Components/Detail/Detail";
|
|
2
|
+
import Field from "../../../../UI/Components/Detail/Field";
|
|
3
|
+
import FieldType from "../../../../UI/Components/Types/FieldType";
|
|
4
|
+
import IncidentSeverity from "../../../../Models/DatabaseModels/IncidentSeverity";
|
|
5
|
+
import Label from "../../../../Models/DatabaseModels/Label";
|
|
6
|
+
import Color from "../../../../Types/Color";
|
|
7
|
+
import ObjectID from "../../../../Types/ObjectID";
|
|
8
|
+
import { cleanup, render } from "@testing-library/react";
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { afterEach, describe, expect, test } from "@jest/globals";
|
|
11
|
+
|
|
12
|
+
interface DetailItem {
|
|
13
|
+
incidentSeverity?: IncidentSeverity | undefined;
|
|
14
|
+
labels?: Array<Label> | undefined;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const renderDetail: (
|
|
18
|
+
item: DetailItem,
|
|
19
|
+
field: Field<DetailItem>,
|
|
20
|
+
) => HTMLElement = (
|
|
21
|
+
item: DetailItem,
|
|
22
|
+
field: Field<DetailItem>,
|
|
23
|
+
): HTMLElement => {
|
|
24
|
+
const { container } = render(
|
|
25
|
+
<Detail<DetailItem>
|
|
26
|
+
item={item}
|
|
27
|
+
fields={[field]}
|
|
28
|
+
showDetailsInNumberOfColumns={1}
|
|
29
|
+
/>,
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
return container;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const buildSeverity: (name: string, color?: Color) => IncidentSeverity = (
|
|
36
|
+
name: string,
|
|
37
|
+
color?: Color,
|
|
38
|
+
): IncidentSeverity => {
|
|
39
|
+
const severity: IncidentSeverity = new IncidentSeverity();
|
|
40
|
+
severity._id = new ObjectID("severity-id").toString();
|
|
41
|
+
severity.name = name;
|
|
42
|
+
|
|
43
|
+
if (color) {
|
|
44
|
+
severity.color = color;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return severity;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const severityField: Field<DetailItem> = {
|
|
51
|
+
key: "incidentSeverity",
|
|
52
|
+
title: "Minimum Severity To Investigate",
|
|
53
|
+
fieldType: FieldType.Entity,
|
|
54
|
+
placeholder: "Every severity",
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const badgeSelector: string = '[data-dropdown-value-badge="true"]';
|
|
58
|
+
|
|
59
|
+
const requireElement: (
|
|
60
|
+
element: HTMLElement | null | undefined,
|
|
61
|
+
) => HTMLElement = (element: HTMLElement | null | undefined): HTMLElement => {
|
|
62
|
+
if (!element) {
|
|
63
|
+
throw new Error("Expected the element to be rendered");
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return element;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
afterEach(() => {
|
|
70
|
+
cleanup();
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
describe("Detail entity fields", () => {
|
|
74
|
+
test("renders a related model as a labelled badge instead of throwing", () => {
|
|
75
|
+
const container: HTMLElement = renderDetail(
|
|
76
|
+
{ incidentSeverity: buildSeverity("Critical", new Color("#ef4444")) },
|
|
77
|
+
severityField,
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
const badge: HTMLElement = requireElement(
|
|
81
|
+
container.querySelector<HTMLElement>(badgeSelector),
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
expect(badge.textContent).toContain("Critical");
|
|
85
|
+
expect(badge.style.backgroundColor).toEqual("rgb(239, 68, 68)");
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
test("renders an uncolored badge when the relation has no color selected", () => {
|
|
89
|
+
const container: HTMLElement = renderDetail(
|
|
90
|
+
{ incidentSeverity: buildSeverity("Major") },
|
|
91
|
+
severityField,
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
const badge: HTMLElement = requireElement(
|
|
95
|
+
container.querySelector<HTMLElement>(badgeSelector),
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
expect(badge.textContent).toContain("Major");
|
|
99
|
+
expect(badge.classList.contains("bg-indigo-50")).toBe(true);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
test("shows the placeholder when the relation is not set", () => {
|
|
103
|
+
const container: HTMLElement = renderDetail({}, severityField);
|
|
104
|
+
|
|
105
|
+
expect(container.textContent).toContain("Every severity");
|
|
106
|
+
expect(container.querySelector(badgeSelector)).toBeNull();
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
test("renders one badge per item for an entity array", () => {
|
|
110
|
+
const first: Label = new Label();
|
|
111
|
+
first.name = "Backend";
|
|
112
|
+
first.color = new Color("#22c55e");
|
|
113
|
+
|
|
114
|
+
const second: Label = new Label();
|
|
115
|
+
second.name = "Database";
|
|
116
|
+
|
|
117
|
+
const container: HTMLElement = renderDetail(
|
|
118
|
+
{ labels: [first, second] },
|
|
119
|
+
{
|
|
120
|
+
key: "labels",
|
|
121
|
+
title: "Labels",
|
|
122
|
+
fieldType: FieldType.EntityArray,
|
|
123
|
+
placeholder: "No labels",
|
|
124
|
+
},
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
const badges: Array<HTMLElement> = Array.from(
|
|
128
|
+
container.querySelectorAll<HTMLElement>(badgeSelector),
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
expect(badges).toHaveLength(2);
|
|
132
|
+
expect(requireElement(badges[0]).textContent).toContain("Backend");
|
|
133
|
+
expect(requireElement(badges[0]).style.backgroundColor).toEqual(
|
|
134
|
+
"rgb(34, 197, 94)",
|
|
135
|
+
);
|
|
136
|
+
expect(requireElement(badges[1]).textContent).toContain("Database");
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
test("shows the placeholder for an empty entity array", () => {
|
|
140
|
+
const container: HTMLElement = renderDetail(
|
|
141
|
+
{ labels: [] },
|
|
142
|
+
{
|
|
143
|
+
key: "labels",
|
|
144
|
+
title: "Labels",
|
|
145
|
+
fieldType: FieldType.EntityArray,
|
|
146
|
+
placeholder: "No labels",
|
|
147
|
+
},
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
expect(container.textContent).toContain("No labels");
|
|
151
|
+
expect(container.querySelector(badgeSelector)).toBeNull();
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
test("falls back to a label when a relation is declared without a field type", () => {
|
|
155
|
+
const container: HTMLElement = renderDetail(
|
|
156
|
+
{ incidentSeverity: buildSeverity("Critical") },
|
|
157
|
+
{
|
|
158
|
+
key: "incidentSeverity",
|
|
159
|
+
title: "Minimum Severity To Investigate",
|
|
160
|
+
placeholder: "Every severity",
|
|
161
|
+
},
|
|
162
|
+
);
|
|
163
|
+
|
|
164
|
+
expect(container.textContent).toContain("Critical");
|
|
165
|
+
});
|
|
166
|
+
});
|
|
@@ -72,6 +72,21 @@ export interface AIStepConfig {
|
|
|
72
72
|
* Response token cap. Defaults to 4096; clamped server-side.
|
|
73
73
|
*/
|
|
74
74
|
maxTokens?: number;
|
|
75
|
+
/*
|
|
76
|
+
* Pin this step to a specific LLM provider. Optional — when unset the step
|
|
77
|
+
* uses the project's default provider (and, failing that, the global
|
|
78
|
+
* OneUptime provider), which is what every AI step did before this field
|
|
79
|
+
* existed.
|
|
80
|
+
*
|
|
81
|
+
* The id must name a provider the project owns or a global one; the server
|
|
82
|
+
* re-checks that on every run rather than trusting the stored config, since
|
|
83
|
+
* Runbook.steps is an unvalidated JSON column. A pinned provider that no
|
|
84
|
+
* longer resolves FAILS the step instead of quietly falling back to the
|
|
85
|
+
* default: an AI step runs unattended, and silently answering on a
|
|
86
|
+
* different model than the one a responder pinned is a change nobody would
|
|
87
|
+
* see. (Interactive chat, which has a human watching, does fall back.)
|
|
88
|
+
*/
|
|
89
|
+
llmProviderId?: string;
|
|
75
90
|
}
|
|
76
91
|
|
|
77
92
|
/*
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import OneUptimeDate from "../Date";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* How recently a Runner must have heartbeated to count as online. Matches the
|
|
5
|
+
* window AIAgentService.isAgentAlive uses, and comfortably clears the Runner's
|
|
6
|
+
* 60s heartbeat interval.
|
|
7
|
+
*
|
|
8
|
+
* This lives in Types, not in RunnerService, because the dashboard has to
|
|
9
|
+
* answer the same question the server does. RunnerService imports it from
|
|
10
|
+
* here so the two cannot drift: a server that hands out work to Runners it
|
|
11
|
+
* considers alive, next to a dashboard that calls those same Runners
|
|
12
|
+
* disconnected, is worse than either answer on its own.
|
|
13
|
+
*/
|
|
14
|
+
export const RUNNER_ALIVE_WINDOW_IN_MINUTES: number = 5;
|
|
15
|
+
|
|
16
|
+
/*
|
|
17
|
+
* What a Runner's heartbeat actually says about it right now.
|
|
18
|
+
*
|
|
19
|
+
* Deliberately NOT the same thing as the persisted RunnerConnectionStatus
|
|
20
|
+
* column. That column is written exactly twice — Disconnected when the row is
|
|
21
|
+
* created, Connected on the first heartbeat — and nothing ever writes it back,
|
|
22
|
+
* so a Runner that ran once last March still reads "connected" today. Every
|
|
23
|
+
* server-side liveness check already ignores it and compares lastAlive against
|
|
24
|
+
* the window above; this enum lets the dashboard tell the user the same truth.
|
|
25
|
+
*/
|
|
26
|
+
export enum RunnerLiveStatus {
|
|
27
|
+
/* Heartbeated within the window: it is polling for work right now. */
|
|
28
|
+
Connected = "connected",
|
|
29
|
+
|
|
30
|
+
/*
|
|
31
|
+
* Heartbeated at some point, but not recently enough. The container is
|
|
32
|
+
* stopped, wedged, or cannot reach OneUptime.
|
|
33
|
+
*/
|
|
34
|
+
Disconnected = "disconnected",
|
|
35
|
+
|
|
36
|
+
/*
|
|
37
|
+
* Never heartbeated at all. The row exists because someone created it in the
|
|
38
|
+
* dashboard, but the Docker command has not been run yet. This is a setup
|
|
39
|
+
* step the user still owes us, not a failure, and the UI must not dress it up
|
|
40
|
+
* as one.
|
|
41
|
+
*/
|
|
42
|
+
NeverConnected = "never-connected",
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/*
|
|
46
|
+
* lastAlive arrives as a Date from a hydrated model and as an ISO string from
|
|
47
|
+
* a raw API payload, so both are accepted. Anything falsy — null from Postgres,
|
|
48
|
+
* undefined from a select that never asked for the column — means "no heartbeat
|
|
49
|
+
* has ever been recorded".
|
|
50
|
+
*/
|
|
51
|
+
export type GetRunnerLiveStatusFunction = (
|
|
52
|
+
lastAlive: Date | string | null | undefined,
|
|
53
|
+
) => RunnerLiveStatus;
|
|
54
|
+
|
|
55
|
+
export const getRunnerLiveStatus: GetRunnerLiveStatusFunction = (
|
|
56
|
+
lastAlive: Date | string | null | undefined,
|
|
57
|
+
): RunnerLiveStatus => {
|
|
58
|
+
if (!lastAlive) {
|
|
59
|
+
return RunnerLiveStatus.NeverConnected;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const lastAliveDate: Date = OneUptimeDate.fromString(lastAlive);
|
|
63
|
+
|
|
64
|
+
/*
|
|
65
|
+
* An unparseable value is not evidence of life. Returning Disconnected keeps
|
|
66
|
+
* a malformed timestamp from being reported as a healthy Runner.
|
|
67
|
+
*/
|
|
68
|
+
if (isNaN(lastAliveDate.getTime())) {
|
|
69
|
+
return RunnerLiveStatus.Disconnected;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const windowStart: Date = OneUptimeDate.getSomeMinutesAgo(
|
|
73
|
+
RUNNER_ALIVE_WINDOW_IN_MINUTES,
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
if (OneUptimeDate.isAfter(lastAliveDate, windowStart)) {
|
|
77
|
+
return RunnerLiveStatus.Connected;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return RunnerLiveStatus.Disconnected;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/*
|
|
84
|
+
* The English label for each state, which is also its i18next lookup key.
|
|
85
|
+
*
|
|
86
|
+
* "Connected" and "Disconnected" already had translations in all sixteen
|
|
87
|
+
* Dashboard locale files before any of this — the probe pages have used them
|
|
88
|
+
* for years — so routing every Runner status label through these three
|
|
89
|
+
* constants is what lets the new state reuse them instead of inventing a
|
|
90
|
+
* parallel set that would have to be translated again.
|
|
91
|
+
*
|
|
92
|
+
* It lives here rather than in the component because two very different
|
|
93
|
+
* surfaces need the same words: the status bubble, and the plain-string
|
|
94
|
+
* option label in the runbook step editor's Runner picker.
|
|
95
|
+
*/
|
|
96
|
+
export type GetRunnerLiveStatusLabelFunction = (
|
|
97
|
+
status: RunnerLiveStatus,
|
|
98
|
+
) => string;
|
|
99
|
+
|
|
100
|
+
export const getRunnerLiveStatusLabel: GetRunnerLiveStatusLabelFunction = (
|
|
101
|
+
status: RunnerLiveStatus,
|
|
102
|
+
): string => {
|
|
103
|
+
if (status === RunnerLiveStatus.Connected) {
|
|
104
|
+
return "Connected";
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (status === RunnerLiveStatus.NeverConnected) {
|
|
108
|
+
return "Never connected";
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return "Disconnected";
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export default RunnerLiveStatus;
|
|
@@ -178,6 +178,126 @@ const Detail: DetailFunction = <T extends GenericObject>(
|
|
|
178
178
|
);
|
|
179
179
|
};
|
|
180
180
|
|
|
181
|
+
/*
|
|
182
|
+
* Relation columns arrive as whole model instances. React throws (and takes
|
|
183
|
+
* the entire page down with it) when handed one as a child, so every object
|
|
184
|
+
* that reaches the renderer is reduced to a label with these keys, in order.
|
|
185
|
+
*/
|
|
186
|
+
const entityLabelKeys: Array<string> = [
|
|
187
|
+
"name",
|
|
188
|
+
"title",
|
|
189
|
+
"label",
|
|
190
|
+
"email",
|
|
191
|
+
"slug",
|
|
192
|
+
"value",
|
|
193
|
+
];
|
|
194
|
+
|
|
195
|
+
type GetEntityLabelFunction = (entity: unknown) => string;
|
|
196
|
+
|
|
197
|
+
const getEntityLabel: GetEntityLabelFunction = (entity: unknown): string => {
|
|
198
|
+
if (entity === null || entity === undefined) {
|
|
199
|
+
return "";
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (entity instanceof DatabaseProperty) {
|
|
203
|
+
return entity.toString();
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (typeof entity !== "object") {
|
|
207
|
+
return String(entity);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
for (const key of entityLabelKeys) {
|
|
211
|
+
const value: unknown = (entity as Dictionary<unknown>)[key];
|
|
212
|
+
|
|
213
|
+
if (value === null || value === undefined || value === "") {
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (value instanceof DatabaseProperty) {
|
|
218
|
+
return value.toString();
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
if (typeof value !== "object") {
|
|
222
|
+
return String(value);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return "";
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
type GetEntityColorFunction = (entity: unknown) => Color | string | undefined;
|
|
230
|
+
|
|
231
|
+
const getEntityColor: GetEntityColorFunction = (
|
|
232
|
+
entity: unknown,
|
|
233
|
+
): Color | string | undefined => {
|
|
234
|
+
if (!entity || typeof entity !== "object") {
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const color: unknown = (entity as Dictionary<unknown>)["color"];
|
|
239
|
+
|
|
240
|
+
if (color instanceof Color || typeof color === "string") {
|
|
241
|
+
return color;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
return undefined;
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
type GetEntityViewerFunction = (entity: unknown) => ReactElement | string;
|
|
248
|
+
|
|
249
|
+
const getEntityViewer: GetEntityViewerFunction = (
|
|
250
|
+
entity: unknown,
|
|
251
|
+
): ReactElement | string => {
|
|
252
|
+
const label: string = getEntityLabel(entity);
|
|
253
|
+
|
|
254
|
+
if (!label) {
|
|
255
|
+
// Fall through to the placeholder the field already declares.
|
|
256
|
+
return "";
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
return <DropdownValueBadge label={label} color={getEntityColor(entity)} />;
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
type GetEntityArrayViewerFunction = (
|
|
263
|
+
entities: Array<unknown>,
|
|
264
|
+
) => ReactElement | string;
|
|
265
|
+
|
|
266
|
+
const getEntityArrayViewer: GetEntityArrayViewerFunction = (
|
|
267
|
+
entities: Array<unknown>,
|
|
268
|
+
): ReactElement | string => {
|
|
269
|
+
const labelled: Array<{ label: string; entity: unknown }> = entities
|
|
270
|
+
.map((entity: unknown) => {
|
|
271
|
+
return { label: getEntityLabel(entity), entity: entity };
|
|
272
|
+
})
|
|
273
|
+
.filter((item: { label: string; entity: unknown }) => {
|
|
274
|
+
return Boolean(item.label);
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
if (labelled.length === 0) {
|
|
278
|
+
return "";
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return (
|
|
282
|
+
<div className="flex flex-wrap gap-1.5">
|
|
283
|
+
{labelled.map(
|
|
284
|
+
(
|
|
285
|
+
item: { label: string; entity: unknown },
|
|
286
|
+
index: number,
|
|
287
|
+
): ReactElement => {
|
|
288
|
+
return (
|
|
289
|
+
<DropdownValueBadge
|
|
290
|
+
key={`${item.label}-${index}`}
|
|
291
|
+
label={item.label}
|
|
292
|
+
color={getEntityColor(item.entity)}
|
|
293
|
+
/>
|
|
294
|
+
);
|
|
295
|
+
},
|
|
296
|
+
)}
|
|
297
|
+
</div>
|
|
298
|
+
);
|
|
299
|
+
};
|
|
300
|
+
|
|
181
301
|
type GetDictionaryOfStringsViewerFunction = (
|
|
182
302
|
data: Dictionary<string>,
|
|
183
303
|
) => ReactElement;
|
|
@@ -486,6 +606,16 @@ const Detail: DetailFunction = <T extends GenericObject>(
|
|
|
486
606
|
);
|
|
487
607
|
}
|
|
488
608
|
|
|
609
|
+
if (data && field.fieldType === FieldType.Entity) {
|
|
610
|
+
data = getEntityViewer(data);
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
if (data && field.fieldType === FieldType.EntityArray) {
|
|
614
|
+
data = getEntityArrayViewer(
|
|
615
|
+
Array.isArray(data) ? (data as Array<unknown>) : [data],
|
|
616
|
+
);
|
|
617
|
+
}
|
|
618
|
+
|
|
489
619
|
if (data && field.fieldType === FieldType.HiddenText) {
|
|
490
620
|
data = (
|
|
491
621
|
<HiddenText
|
|
@@ -608,6 +738,31 @@ const Detail: DetailFunction = <T extends GenericObject>(
|
|
|
608
738
|
data = data.toString();
|
|
609
739
|
}
|
|
610
740
|
|
|
741
|
+
/*
|
|
742
|
+
* Last resort. Anything still an object here is something no field type
|
|
743
|
+
* claimed - usually a relation column declared without FieldType.Entity.
|
|
744
|
+
* Rendering it would throw "Objects are not valid as a React child" and
|
|
745
|
+
* blank the whole page, so label it instead and log the misconfiguration.
|
|
746
|
+
*/
|
|
747
|
+
if (data && typeof data === "object" && !React.isValidElement(data)) {
|
|
748
|
+
Logger.error(
|
|
749
|
+
"Detail: no field type renders the value of '" +
|
|
750
|
+
fieldKeyStr +
|
|
751
|
+
"'. Set fieldType (FieldType.Entity for relations) or getElement on the field.",
|
|
752
|
+
);
|
|
753
|
+
|
|
754
|
+
data = Array.isArray(data)
|
|
755
|
+
? (data as Array<unknown>)
|
|
756
|
+
.map((entity: unknown) => {
|
|
757
|
+
return getEntityLabel(entity);
|
|
758
|
+
})
|
|
759
|
+
.filter((label: string) => {
|
|
760
|
+
return Boolean(label);
|
|
761
|
+
})
|
|
762
|
+
.join(", ")
|
|
763
|
+
: getEntityLabel(data);
|
|
764
|
+
}
|
|
765
|
+
|
|
611
766
|
// Determine style-based classes
|
|
612
767
|
const styleType: DetailStyle = props.style || DetailStyle.Default;
|
|
613
768
|
const isCardStyle: boolean = styleType === DetailStyle.Card;
|
|
@@ -534,11 +534,21 @@ __decorate([
|
|
|
534
534
|
Permission.OnCallMember,
|
|
535
535
|
Permission.EditOnCallDutyPolicyScheduleLayer,
|
|
536
536
|
],
|
|
537
|
-
})
|
|
537
|
+
})
|
|
538
|
+
/*
|
|
539
|
+
* The default is `.toJSON()` rather than the Recurring instance itself. Both
|
|
540
|
+
* serialize to the identical JSON, so the DDL is unchanged — but TypeORM
|
|
541
|
+
* compares a jsonb default by deep-comparing the entity default against the
|
|
542
|
+
* value parsed back out of the database, and that comparison rejects any pair
|
|
543
|
+
* whose constructors differ (OrmUtils.compare2Objects). An instance never
|
|
544
|
+
* equals the plain object Postgres hands back, so every generated migration
|
|
545
|
+
* re-emitted this SET DEFAULT as phantom drift. A plain object compares equal.
|
|
546
|
+
*/
|
|
547
|
+
,
|
|
538
548
|
Column({
|
|
539
549
|
nullable: false,
|
|
540
550
|
type: ColumnType.JSON,
|
|
541
|
-
default: Recurring.getDefault(),
|
|
551
|
+
default: Recurring.getDefault().toJSON(),
|
|
542
552
|
transformer: Recurring.getDatabaseTransformer(),
|
|
543
553
|
}),
|
|
544
554
|
__metadata("design:type", Recurring)
|
|
@@ -618,11 +628,13 @@ __decorate([
|
|
|
618
628
|
Permission.OnCallMember,
|
|
619
629
|
Permission.EditOnCallDutyPolicyScheduleLayer,
|
|
620
630
|
],
|
|
621
|
-
})
|
|
631
|
+
})
|
|
632
|
+
// Plain object, not the instance — see the note on `rotation` above.
|
|
633
|
+
,
|
|
622
634
|
Column({
|
|
623
635
|
nullable: false,
|
|
624
636
|
type: ColumnType.JSON,
|
|
625
|
-
default: RestrictionTimes.getDefault(),
|
|
637
|
+
default: RestrictionTimes.getDefault().toJSON(),
|
|
626
638
|
transformer: RestrictionTimes.getDatabaseTransformer(),
|
|
627
639
|
}),
|
|
628
640
|
__metadata("design:type", RestrictionTimes)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnCallDutyPolicyScheduleLayer.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OnCallDutyPolicyScheduleLayer.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import dataSourceOptions from "./DataSourceOptions";
|
|
2
2
|
import { DataSource } from "typeorm";
|
|
3
|
-
|
|
3
|
+
/*
|
|
4
|
+
* The app reaches Postgres over the compose network as `postgres:5432`, but the
|
|
5
|
+
* migration CLI runs on the host, where the same server is published on
|
|
6
|
+
* localhost:5400 — hence the defaults below.
|
|
7
|
+
*
|
|
8
|
+
* DATABASE_MIGRATIONS_HOST / DATABASE_MIGRATIONS_PORT (already in
|
|
9
|
+
* config.example.env, already honoured by migration-run.sh) override them, so
|
|
10
|
+
* the schema-drift job can point this at a CI service container on a different
|
|
11
|
+
* port without editing the file.
|
|
12
|
+
*/
|
|
13
|
+
const dataSourceOptionToMigrate = Object.assign(Object.assign({}, dataSourceOptions), { host: process.env["DATABASE_MIGRATIONS_HOST"] || "localhost", port: parseInt(process.env["DATABASE_MIGRATIONS_PORT"] || "5400", 10) });
|
|
4
14
|
const PostgresDataSource = new DataSource(dataSourceOptionToMigrate);
|
|
5
15
|
export default PostgresDataSource;
|
|
6
16
|
//# sourceMappingURL=LocalMigrationGenerationDataSource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalMigrationGenerationDataSource.js","sourceRoot":"","sources":["../../../../../Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,yBAAyB,mCAC1B,iBAAiB,KACpB,IAAI,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"LocalMigrationGenerationDataSource.js","sourceRoot":"","sources":["../../../../../Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;;;GASG;AACH,MAAM,yBAAyB,mCAC1B,iBAAiB,KACpB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,WAAW,EAC5D,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,GACtE,CAAC;AAEF,MAAM,kBAAkB,GAAe,IAAI,UAAU,CACnD,yBAAyB,CAC1B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|