@oneuptime/cli 14.0.75 → 14.0.77
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/build/dist/Index.js +1364 -22
- package/package.json +1 -1
package/build/dist/Index.js
CHANGED
|
@@ -122606,6 +122606,28 @@ var import_zod_to_openapi = __toESM(require_dist());
|
|
|
122606
122606
|
var Zod = external_exports;
|
|
122607
122607
|
var Zod_default = Zod;
|
|
122608
122608
|
|
|
122609
|
+
// ../Common/Utils/RefusedValue.ts
|
|
122610
|
+
var MAX_REFUSED_VALUE_LENGTH = 80;
|
|
122611
|
+
var REFUSED_VALUE_CUT_MARK = "\u2026";
|
|
122612
|
+
var isSurrogatePairAt = /* @__PURE__ */ __name((text, index) => {
|
|
122613
|
+
const high = text.charCodeAt(index);
|
|
122614
|
+
const low = text.charCodeAt(index + 1);
|
|
122615
|
+
return high >= 55296 && high <= 56319 && low >= 56320 && low <= 57343;
|
|
122616
|
+
}, "isSurrogatePairAt");
|
|
122617
|
+
var refusedValue = /* @__PURE__ */ __name((value) => {
|
|
122618
|
+
let text;
|
|
122619
|
+
try {
|
|
122620
|
+
text = String(value);
|
|
122621
|
+
} catch {
|
|
122622
|
+
return "";
|
|
122623
|
+
}
|
|
122624
|
+
if (text.length <= MAX_REFUSED_VALUE_LENGTH) {
|
|
122625
|
+
return text;
|
|
122626
|
+
}
|
|
122627
|
+
const end = isSurrogatePairAt(text, MAX_REFUSED_VALUE_LENGTH - 1) ? MAX_REFUSED_VALUE_LENGTH - 1 : MAX_REFUSED_VALUE_LENGTH;
|
|
122628
|
+
return text.slice(0, end) + REFUSED_VALUE_CUT_MARK;
|
|
122629
|
+
}, "refusedValue");
|
|
122630
|
+
|
|
122609
122631
|
// ../Common/Types/Date.ts
|
|
122610
122632
|
var Moment = import_moment_timezone.default;
|
|
122611
122633
|
var UNIX_NANO_INTEGER_PATTERN = /^[+-]?\d+$/;
|
|
@@ -124123,7 +124145,9 @@ var OneUptimeDate = class _OneUptimeDate {
|
|
|
124123
124145
|
if (date && date["value"] && typeof date["value"] === "string" && date["_type"] && (date["_type"] === "Date" || date["_type"] === "DateTime")) {
|
|
124124
124146
|
return (0, import_moment_timezone.default)(date["value"]).toDate();
|
|
124125
124147
|
}
|
|
124126
|
-
throw new BadDataException(
|
|
124148
|
+
throw new BadDataException(
|
|
124149
|
+
"Invalid date: " + refusedValue(date?.toString())
|
|
124150
|
+
);
|
|
124127
124151
|
}
|
|
124128
124152
|
static asDateForDatabaseQuery(date) {
|
|
124129
124153
|
const formatstring = "YYYY-MM-DD";
|
|
@@ -125060,7 +125084,7 @@ var Hostname = class _Hostname extends DatabaseProperty {
|
|
|
125060
125084
|
this._route = value;
|
|
125061
125085
|
} else {
|
|
125062
125086
|
throw new BadDataException(
|
|
125063
|
-
"Hostname " + value + " is not in valid format."
|
|
125087
|
+
"Hostname " + refusedValue(value) + " is not in valid format."
|
|
125064
125088
|
);
|
|
125065
125089
|
}
|
|
125066
125090
|
}
|
|
@@ -125270,11 +125294,11 @@ var Route = class _Route extends DatabaseProperty {
|
|
|
125270
125294
|
}
|
|
125271
125295
|
static validateRoute(route) {
|
|
125272
125296
|
if (_Route.hasSchemePrefix(route)) {
|
|
125273
|
-
throw new BadDataException(`Invalid route: ${route}`);
|
|
125297
|
+
throw new BadDataException(`Invalid route: ${refusedValue(route)}`);
|
|
125274
125298
|
}
|
|
125275
125299
|
const matchRouteCharacters = /^[a-zA-Z_\d\-!#$%&'()*+,./:;=?@[\]~]*$/;
|
|
125276
125300
|
if (route && !matchRouteCharacters.test(route)) {
|
|
125277
|
-
throw new BadDataException(`Invalid route: ${route}`);
|
|
125301
|
+
throw new BadDataException(`Invalid route: ${refusedValue(route)}`);
|
|
125278
125302
|
}
|
|
125279
125303
|
}
|
|
125280
125304
|
get route() {
|
|
@@ -125371,10 +125395,24 @@ var nonBusinessEmailDomains = [
|
|
|
125371
125395
|
"zoho",
|
|
125372
125396
|
"yandex"
|
|
125373
125397
|
];
|
|
125398
|
+
var MAX_EMAIL_ADDRESS_LENGTH = 254;
|
|
125399
|
+
var ONE_EMAIL_ADDRESS = (
|
|
125400
|
+
// eslint-disable-next-line no-control-regex
|
|
125401
|
+
/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[[a-z0-9:._-]{1,64}\])$/i
|
|
125402
|
+
);
|
|
125374
125403
|
var Email = class _Email extends DatabaseProperty {
|
|
125375
125404
|
constructor(email) {
|
|
125376
125405
|
super();
|
|
125377
125406
|
this._email = "";
|
|
125407
|
+
/*
|
|
125408
|
+
* Set only by the lenient read paths (fromDatabase / fromJSON) when a stored
|
|
125409
|
+
* value is not one valid mailbox. Such an Email keeps its raw string so it
|
|
125410
|
+
* still round-trips and still renders, but toDatabase refuses it, so a value
|
|
125411
|
+
* that is not a single address can never be written back or newly created -
|
|
125412
|
+
* only a value already stored before this check existed can carry the flag.
|
|
125413
|
+
* This mirrors how URL keeps a legacy value it can no longer parse.
|
|
125414
|
+
*/
|
|
125415
|
+
this._isMalformed = false;
|
|
125378
125416
|
this.email = email;
|
|
125379
125417
|
}
|
|
125380
125418
|
static {
|
|
@@ -125384,26 +125422,52 @@ var Email = class _Email extends DatabaseProperty {
|
|
|
125384
125422
|
return this._email;
|
|
125385
125423
|
}
|
|
125386
125424
|
set email(value) {
|
|
125425
|
+
if (value instanceof _Email) {
|
|
125426
|
+
value = value.toString();
|
|
125427
|
+
}
|
|
125387
125428
|
if (value && typeof value === "string") {
|
|
125388
125429
|
value = value.trim();
|
|
125389
125430
|
value = value.toLowerCase();
|
|
125390
125431
|
}
|
|
125391
125432
|
if (_Email.isValid(value)) {
|
|
125392
125433
|
this._email = value;
|
|
125434
|
+
this._isMalformed = false;
|
|
125393
125435
|
} else {
|
|
125394
|
-
throw new BadDataException(
|
|
125436
|
+
throw new BadDataException(
|
|
125437
|
+
`Email ${refusedValue(value)} is not in valid format.`
|
|
125438
|
+
);
|
|
125395
125439
|
}
|
|
125396
125440
|
}
|
|
125441
|
+
isMalformed() {
|
|
125442
|
+
return this._isMalformed;
|
|
125443
|
+
}
|
|
125397
125444
|
static isValid(value) {
|
|
125398
|
-
|
|
125399
|
-
// eslint-disable-next-line no-control-regex
|
|
125400
|
-
/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/i
|
|
125401
|
-
);
|
|
125402
|
-
const isValid2 = re.test(value);
|
|
125403
|
-
if (!isValid2) {
|
|
125445
|
+
if (typeof value !== "string" || !value || value.length > MAX_EMAIL_ADDRESS_LENGTH) {
|
|
125404
125446
|
return false;
|
|
125405
125447
|
}
|
|
125406
|
-
return
|
|
125448
|
+
return ONE_EMAIL_ADDRESS.test(value);
|
|
125449
|
+
}
|
|
125450
|
+
/*
|
|
125451
|
+
* A read-only path: builds an Email from a value already stored, holding it
|
|
125452
|
+
* as-is when it is not one valid mailbox, so a single legacy row cannot fail
|
|
125453
|
+
* the whole query that reads it. Writes stay strict - see toDatabase. A
|
|
125454
|
+
* stored address is always text, so anything else is refused here as it
|
|
125455
|
+
* always was.
|
|
125456
|
+
*/
|
|
125457
|
+
static fromStoredValueLenient(value) {
|
|
125458
|
+
if (typeof value !== "string") {
|
|
125459
|
+
throw new BadDataException(
|
|
125460
|
+
`Email ${refusedValue(value)} is not in valid format.`
|
|
125461
|
+
);
|
|
125462
|
+
}
|
|
125463
|
+
const trimmed = value.trim().toLowerCase();
|
|
125464
|
+
if (_Email.isValid(trimmed)) {
|
|
125465
|
+
return new _Email(trimmed);
|
|
125466
|
+
}
|
|
125467
|
+
const email = new _Email("placeholder@oneuptime.invalid");
|
|
125468
|
+
email._email = trimmed;
|
|
125469
|
+
email._isMalformed = true;
|
|
125470
|
+
return email;
|
|
125407
125471
|
}
|
|
125408
125472
|
toJSON() {
|
|
125409
125473
|
return {
|
|
@@ -125455,7 +125519,13 @@ var Email = class _Email extends DatabaseProperty {
|
|
|
125455
125519
|
}
|
|
125456
125520
|
static fromJSON(json) {
|
|
125457
125521
|
if (json["_type"] === "Email" /* Email */) {
|
|
125458
|
-
|
|
125522
|
+
const value = json["value"];
|
|
125523
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
125524
|
+
throw new BadDataException(
|
|
125525
|
+
`Email ${refusedValue(value ?? "")} is not in valid format.`
|
|
125526
|
+
);
|
|
125527
|
+
}
|
|
125528
|
+
return _Email.fromStoredValueLenient(value);
|
|
125459
125529
|
}
|
|
125460
125530
|
throw new BadDataException("Invalid JSON: " + JSON.stringify(json));
|
|
125461
125531
|
}
|
|
@@ -125481,13 +125551,21 @@ var Email = class _Email extends DatabaseProperty {
|
|
|
125481
125551
|
if (typeof value === "string") {
|
|
125482
125552
|
value = new _Email(value);
|
|
125483
125553
|
}
|
|
125554
|
+
if (value instanceof _Email && value.isMalformed()) {
|
|
125555
|
+
throw new BadDataException(
|
|
125556
|
+
`Email ${refusedValue(value.toString())} is not in valid format.`
|
|
125557
|
+
);
|
|
125558
|
+
}
|
|
125484
125559
|
return value.toString();
|
|
125485
125560
|
}
|
|
125486
125561
|
return null;
|
|
125487
125562
|
}
|
|
125488
125563
|
static fromDatabase(_value) {
|
|
125489
|
-
if (_value) {
|
|
125490
|
-
|
|
125564
|
+
if (_value instanceof _Email) {
|
|
125565
|
+
_value = _value.toString();
|
|
125566
|
+
}
|
|
125567
|
+
if (_value && (typeof _value !== "string" || _value.trim())) {
|
|
125568
|
+
return _Email.fromStoredValueLenient(_value);
|
|
125491
125569
|
}
|
|
125492
125570
|
return null;
|
|
125493
125571
|
}
|
|
@@ -125605,7 +125683,7 @@ var URL2 = class _URL extends DatabaseProperty {
|
|
|
125605
125683
|
const value = v.trim();
|
|
125606
125684
|
if (!_URL.isValidOpaqueValue(value)) {
|
|
125607
125685
|
throw new BadDataException(
|
|
125608
|
-
"Phone number " + v + " is not in valid format."
|
|
125686
|
+
"Phone number " + refusedValue(v) + " is not in valid format."
|
|
125609
125687
|
);
|
|
125610
125688
|
}
|
|
125611
125689
|
this._opaqueValue = value;
|
|
@@ -125743,7 +125821,7 @@ var URL2 = class _URL extends DatabaseProperty {
|
|
|
125743
125821
|
].includes(scheme);
|
|
125744
125822
|
if (hasAuthorityMarker || isDangerousInAnHref) {
|
|
125745
125823
|
throw new BadDataException(
|
|
125746
|
-
"URL scheme " + scheme + ": is not supported."
|
|
125824
|
+
"URL scheme " + refusedValue(scheme) + ": is not supported."
|
|
125747
125825
|
);
|
|
125748
125826
|
}
|
|
125749
125827
|
}
|
|
@@ -125902,7 +125980,7 @@ var URL2 = class _URL extends DatabaseProperty {
|
|
|
125902
125980
|
}
|
|
125903
125981
|
if (value instanceof _URL && value.isMalformed()) {
|
|
125904
125982
|
throw new BadDataException(
|
|
125905
|
-
"URL " + value.toString() + " is not in valid format."
|
|
125983
|
+
"URL " + refusedValue(value.toString()) + " is not in valid format."
|
|
125906
125984
|
);
|
|
125907
125985
|
}
|
|
125908
125986
|
return value.toString();
|
|
@@ -126865,7 +126943,9 @@ var Color = class _Color extends DatabaseProperty {
|
|
|
126865
126943
|
const re = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;
|
|
126866
126944
|
const result = re.exec(color.toString());
|
|
126867
126945
|
if (!result) {
|
|
126868
|
-
throw new BadDataException(
|
|
126946
|
+
throw new BadDataException(
|
|
126947
|
+
"Invalid color: " + refusedValue(color.toString())
|
|
126948
|
+
);
|
|
126869
126949
|
}
|
|
126870
126950
|
return {
|
|
126871
126951
|
red: parseInt(result[1] ? result[1] : "0", 16),
|
|
@@ -126946,7 +127026,9 @@ var Domain = class _Domain extends DatabaseProperty {
|
|
|
126946
127026
|
set domain(v) {
|
|
126947
127027
|
const isValid2 = _Domain.isValidDomain(v);
|
|
126948
127028
|
if (!isValid2) {
|
|
126949
|
-
throw new BadDataException(
|
|
127029
|
+
throw new BadDataException(
|
|
127030
|
+
"Domain " + refusedValue(v) + " is not in valid format."
|
|
127031
|
+
);
|
|
126950
127032
|
}
|
|
126951
127033
|
this._domain = v;
|
|
126952
127034
|
}
|
|
@@ -127697,7 +127779,7 @@ var ObjectID = class _ObjectID extends DatabaseProperty {
|
|
|
127697
127779
|
static validateUUID(id) {
|
|
127698
127780
|
if (!_ObjectID.isValidUUID(id.toString())) {
|
|
127699
127781
|
throw new BadDataException(
|
|
127700
|
-
`Invalid ID format: "${id}". Expected a valid UUID (e.g., "550e8400-e29b-41d4-a716-446655440000").`
|
|
127782
|
+
`Invalid ID format: "${refusedValue(id)}". Expected a valid UUID (e.g., "550e8400-e29b-41d4-a716-446655440000").`
|
|
127701
127783
|
);
|
|
127702
127784
|
}
|
|
127703
127785
|
}
|
|
@@ -135749,7 +135831,9 @@ var Phone = class _Phone extends DatabaseProperty {
|
|
|
135749
135831
|
const re = /^[+]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,7}$/;
|
|
135750
135832
|
const isValid2 = re.test(v);
|
|
135751
135833
|
if (!isValid2) {
|
|
135752
|
-
throw new BadDataException(
|
|
135834
|
+
throw new BadDataException(
|
|
135835
|
+
`Phone is not in valid format: ${refusedValue(v)}`
|
|
135836
|
+
);
|
|
135753
135837
|
}
|
|
135754
135838
|
this._phone = v;
|
|
135755
135839
|
}
|
|
@@ -140725,6 +140809,7 @@ var Project = class extends TenantModel {
|
|
|
140725
140809
|
this.isSessionReplayAllowed = void 0;
|
|
140726
140810
|
this.auditLogsRetentionInDays = void 0;
|
|
140727
140811
|
this.storeSystemEventsInAuditLogs = void 0;
|
|
140812
|
+
this.recordAndTranscribeIncidentCalls = void 0;
|
|
140728
140813
|
}
|
|
140729
140814
|
};
|
|
140730
140815
|
__name(Project, "Project");
|
|
@@ -144466,6 +144551,39 @@ __decorateClass([
|
|
|
144466
144551
|
create: "Enterprise" /* Enterprise */
|
|
144467
144552
|
})
|
|
144468
144553
|
], Project.prototype, "storeSystemEventsInAuditLogs", 2);
|
|
144554
|
+
__decorateClass([
|
|
144555
|
+
ColumnAccessControl_default({
|
|
144556
|
+
create: [Permission_default.User],
|
|
144557
|
+
read: [
|
|
144558
|
+
Permission_default.ProjectOwner,
|
|
144559
|
+
Permission_default.ProjectAdmin,
|
|
144560
|
+
Permission_default.ProjectMember,
|
|
144561
|
+
Permission_default.Viewer,
|
|
144562
|
+
Permission_default.ReadProject,
|
|
144563
|
+
Permission_default.UnAuthorizedSsoUser,
|
|
144564
|
+
Permission_default.ProjectUser
|
|
144565
|
+
],
|
|
144566
|
+
update: [
|
|
144567
|
+
Permission_default.ProjectOwner,
|
|
144568
|
+
Permission_default.ProjectAdmin,
|
|
144569
|
+
Permission_default.EditProject
|
|
144570
|
+
]
|
|
144571
|
+
}),
|
|
144572
|
+
TableColumn_default({
|
|
144573
|
+
required: true,
|
|
144574
|
+
type: TableColumnType_default.Boolean,
|
|
144575
|
+
isDefaultValueColumn: true,
|
|
144576
|
+
defaultValue: false,
|
|
144577
|
+
title: "Record and Transcribe Incident Calls",
|
|
144578
|
+
description: "When enabled, OneUptime asks Zoom and Google Meet to record and transcribe every incident call it starts, and adds each call's transcript to its incident once the call is over. Microsoft Teams calls, Slack huddles and meeting links are not recorded; their transcripts can be added by hand. Off by default."
|
|
144579
|
+
}),
|
|
144580
|
+
Column({
|
|
144581
|
+
type: ColumnType_default.Boolean,
|
|
144582
|
+
nullable: false,
|
|
144583
|
+
unique: false,
|
|
144584
|
+
default: false
|
|
144585
|
+
})
|
|
144586
|
+
], Project.prototype, "recordAndTranscribeIncidentCalls", 2);
|
|
144469
144587
|
Project = __decorateClass([
|
|
144470
144588
|
EnableDocumentation_default({
|
|
144471
144589
|
isMasterAdminApiDocs: true
|
|
@@ -233842,6 +233960,7 @@ var Incident = class extends DatabaseBaseModel {
|
|
|
233842
233960
|
this.createdByProbeId = void 0;
|
|
233843
233961
|
this.isCreatedAutomatically = void 0;
|
|
233844
233962
|
this.holdsMonitors = void 0;
|
|
233963
|
+
this.postmortemDraftWaitingSince = void 0;
|
|
233845
233964
|
this.remediationNotes = void 0;
|
|
233846
233965
|
this.telemetryQuery = void 0;
|
|
233847
233966
|
this.incidentNumber = void 0;
|
|
@@ -236482,6 +236601,35 @@ __decorateClass([
|
|
|
236482
236601
|
nullable: true
|
|
236483
236602
|
})
|
|
236484
236603
|
], Incident.prototype, "holdsMonitors", 2);
|
|
236604
|
+
__decorateClass([
|
|
236605
|
+
ColumnAccessControl_default({
|
|
236606
|
+
create: [],
|
|
236607
|
+
read: [
|
|
236608
|
+
Permission_default.ProjectOwner,
|
|
236609
|
+
Permission_default.ProjectAdmin,
|
|
236610
|
+
Permission_default.ProjectMember,
|
|
236611
|
+
Permission_default.Viewer,
|
|
236612
|
+
Permission_default.IncidentAdmin,
|
|
236613
|
+
Permission_default.IncidentMember,
|
|
236614
|
+
Permission_default.IncidentViewer,
|
|
236615
|
+
Permission_default.ReadProjectIncident
|
|
236616
|
+
],
|
|
236617
|
+
update: []
|
|
236618
|
+
}),
|
|
236619
|
+
Index(),
|
|
236620
|
+
TableColumn_default({
|
|
236621
|
+
isDefaultValueColumn: false,
|
|
236622
|
+
required: false,
|
|
236623
|
+
computed: true,
|
|
236624
|
+
type: TableColumnType_default.Date,
|
|
236625
|
+
title: "Postmortem Draft Waiting Since",
|
|
236626
|
+
description: "When the automatic postmortem draft started waiting for the transcript of the incident's call, so that the draft reads what was said on it: set when the incident resolves while a call's transcript is still on its way, and cleared once the draft is written. Empty the rest of the time. Set by OneUptime; it cannot be written."
|
|
236627
|
+
}),
|
|
236628
|
+
Column({
|
|
236629
|
+
type: ColumnType_default.Date,
|
|
236630
|
+
nullable: true
|
|
236631
|
+
})
|
|
236632
|
+
], Incident.prototype, "postmortemDraftWaitingSince", 2);
|
|
236485
236633
|
__decorateClass([
|
|
236486
236634
|
ColumnAccessControl_default({
|
|
236487
236635
|
create: [
|
|
@@ -344951,6 +345099,10 @@ var StatusPageSCIM = class extends DatabaseBaseModel {
|
|
|
344951
345099
|
this.name = void 0;
|
|
344952
345100
|
this.description = void 0;
|
|
344953
345101
|
this.bearerToken = void 0;
|
|
345102
|
+
this.oauthClientSecretHash = void 0;
|
|
345103
|
+
this.oauthClientSecretExpiresAt = void 0;
|
|
345104
|
+
this.oauthPreviousClientSecretHash = void 0;
|
|
345105
|
+
this.oauthPreviousClientSecretExpiresAt = void 0;
|
|
344954
345106
|
this.autoProvisionUsers = void 0;
|
|
344955
345107
|
this.autoDeprovisionUsers = void 0;
|
|
344956
345108
|
this.createdByUser = void 0;
|
|
@@ -345187,6 +345339,118 @@ __decorateClass([
|
|
|
345187
345339
|
length: ColumnLength_default.LongText
|
|
345188
345340
|
})
|
|
345189
345341
|
], StatusPageSCIM.prototype, "bearerToken", 2);
|
|
345342
|
+
__decorateClass([
|
|
345343
|
+
ColumnAccessControl_default({
|
|
345344
|
+
create: [
|
|
345345
|
+
Permission_default.ProjectOwner,
|
|
345346
|
+
Permission_default.ProjectAdmin,
|
|
345347
|
+
Permission_default.CreateStatusPageSSO
|
|
345348
|
+
],
|
|
345349
|
+
read: [],
|
|
345350
|
+
update: [
|
|
345351
|
+
Permission_default.ProjectOwner,
|
|
345352
|
+
Permission_default.ProjectAdmin,
|
|
345353
|
+
Permission_default.EditStatusPageSSO
|
|
345354
|
+
]
|
|
345355
|
+
}),
|
|
345356
|
+
TableColumn_default({
|
|
345357
|
+
required: false,
|
|
345358
|
+
hideColumnInDocumentation: true,
|
|
345359
|
+
type: TableColumnType_default.LongText,
|
|
345360
|
+
title: "OAuth Client Secret Hash",
|
|
345361
|
+
description: "SHA-256 hash of the connection's OAuth 2.0 client secret. The secret itself is shown once, when it is made, and never kept."
|
|
345362
|
+
}),
|
|
345363
|
+
Column({
|
|
345364
|
+
nullable: true,
|
|
345365
|
+
type: ColumnType_default.LongText,
|
|
345366
|
+
length: ColumnLength_default.LongText
|
|
345367
|
+
})
|
|
345368
|
+
], StatusPageSCIM.prototype, "oauthClientSecretHash", 2);
|
|
345369
|
+
__decorateClass([
|
|
345370
|
+
ColumnAccessControl_default({
|
|
345371
|
+
create: [
|
|
345372
|
+
Permission_default.ProjectOwner,
|
|
345373
|
+
Permission_default.ProjectAdmin,
|
|
345374
|
+
Permission_default.CreateStatusPageSSO
|
|
345375
|
+
],
|
|
345376
|
+
read: [
|
|
345377
|
+
Permission_default.ProjectOwner,
|
|
345378
|
+
Permission_default.ProjectAdmin,
|
|
345379
|
+
Permission_default.ReadStatusPageSSO
|
|
345380
|
+
],
|
|
345381
|
+
update: [
|
|
345382
|
+
Permission_default.ProjectOwner,
|
|
345383
|
+
Permission_default.ProjectAdmin,
|
|
345384
|
+
Permission_default.EditStatusPageSSO
|
|
345385
|
+
]
|
|
345386
|
+
}),
|
|
345387
|
+
TableColumn_default({
|
|
345388
|
+
required: false,
|
|
345389
|
+
type: TableColumnType_default.Date,
|
|
345390
|
+
title: "OAuth Client Secret Expires At",
|
|
345391
|
+
description: "When the connection's OAuth 2.0 client secret stops working. No access token is issued with an expired secret."
|
|
345392
|
+
}),
|
|
345393
|
+
Column({
|
|
345394
|
+
nullable: true,
|
|
345395
|
+
type: ColumnType_default.Date
|
|
345396
|
+
})
|
|
345397
|
+
], StatusPageSCIM.prototype, "oauthClientSecretExpiresAt", 2);
|
|
345398
|
+
__decorateClass([
|
|
345399
|
+
ColumnAccessControl_default({
|
|
345400
|
+
create: [
|
|
345401
|
+
Permission_default.ProjectOwner,
|
|
345402
|
+
Permission_default.ProjectAdmin,
|
|
345403
|
+
Permission_default.CreateStatusPageSSO
|
|
345404
|
+
],
|
|
345405
|
+
read: [],
|
|
345406
|
+
update: [
|
|
345407
|
+
Permission_default.ProjectOwner,
|
|
345408
|
+
Permission_default.ProjectAdmin,
|
|
345409
|
+
Permission_default.EditStatusPageSSO
|
|
345410
|
+
]
|
|
345411
|
+
}),
|
|
345412
|
+
TableColumn_default({
|
|
345413
|
+
required: false,
|
|
345414
|
+
hideColumnInDocumentation: true,
|
|
345415
|
+
type: TableColumnType_default.LongText,
|
|
345416
|
+
title: "Previous OAuth Client Secret Hash",
|
|
345417
|
+
description: "SHA-256 hash of the client secret the current one replaced, which keeps working until it expires or is deleted."
|
|
345418
|
+
}),
|
|
345419
|
+
Column({
|
|
345420
|
+
nullable: true,
|
|
345421
|
+
type: ColumnType_default.LongText,
|
|
345422
|
+
length: ColumnLength_default.LongText
|
|
345423
|
+
})
|
|
345424
|
+
], StatusPageSCIM.prototype, "oauthPreviousClientSecretHash", 2);
|
|
345425
|
+
__decorateClass([
|
|
345426
|
+
ColumnAccessControl_default({
|
|
345427
|
+
create: [
|
|
345428
|
+
Permission_default.ProjectOwner,
|
|
345429
|
+
Permission_default.ProjectAdmin,
|
|
345430
|
+
Permission_default.CreateStatusPageSSO
|
|
345431
|
+
],
|
|
345432
|
+
read: [
|
|
345433
|
+
Permission_default.ProjectOwner,
|
|
345434
|
+
Permission_default.ProjectAdmin,
|
|
345435
|
+
Permission_default.ReadStatusPageSSO
|
|
345436
|
+
],
|
|
345437
|
+
update: [
|
|
345438
|
+
Permission_default.ProjectOwner,
|
|
345439
|
+
Permission_default.ProjectAdmin,
|
|
345440
|
+
Permission_default.EditStatusPageSSO
|
|
345441
|
+
]
|
|
345442
|
+
}),
|
|
345443
|
+
TableColumn_default({
|
|
345444
|
+
required: false,
|
|
345445
|
+
type: TableColumnType_default.Date,
|
|
345446
|
+
title: "Previous OAuth Client Secret Expires At",
|
|
345447
|
+
description: "When the previous OAuth 2.0 client secret stops working, unless it is deleted before."
|
|
345448
|
+
}),
|
|
345449
|
+
Column({
|
|
345450
|
+
nullable: true,
|
|
345451
|
+
type: ColumnType_default.Date
|
|
345452
|
+
})
|
|
345453
|
+
], StatusPageSCIM.prototype, "oauthPreviousClientSecretExpiresAt", 2);
|
|
345190
345454
|
__decorateClass([
|
|
345191
345455
|
ColumnAccessControl_default({
|
|
345192
345456
|
create: [
|
|
@@ -353825,6 +354089,200 @@ UserProjectSsoConsent = __decorateClass([
|
|
|
353825
354089
|
})
|
|
353826
354090
|
], UserProjectSsoConsent);
|
|
353827
354091
|
|
|
354092
|
+
// ../Common/Models/DatabaseModels/UserProjectSsoIdentity.ts
|
|
354093
|
+
var UserProjectSsoIdentity = class extends DatabaseBaseModel {
|
|
354094
|
+
constructor() {
|
|
354095
|
+
super(...arguments);
|
|
354096
|
+
this.user = void 0;
|
|
354097
|
+
this.userId = void 0;
|
|
354098
|
+
this.project = void 0;
|
|
354099
|
+
this.projectId = void 0;
|
|
354100
|
+
this.projectSso = void 0;
|
|
354101
|
+
this.projectSsoId = void 0;
|
|
354102
|
+
this.objectId = void 0;
|
|
354103
|
+
}
|
|
354104
|
+
};
|
|
354105
|
+
__name(UserProjectSsoIdentity, "UserProjectSsoIdentity");
|
|
354106
|
+
__decorateClass([
|
|
354107
|
+
ColumnAccessControl_default({
|
|
354108
|
+
create: [],
|
|
354109
|
+
read: [],
|
|
354110
|
+
update: []
|
|
354111
|
+
}),
|
|
354112
|
+
TableColumn_default({
|
|
354113
|
+
manyToOneRelationColumn: "userId",
|
|
354114
|
+
type: TableColumnType_default.Entity,
|
|
354115
|
+
modelType: User_default,
|
|
354116
|
+
title: "User",
|
|
354117
|
+
description: "The account that is bound."
|
|
354118
|
+
}),
|
|
354119
|
+
ManyToOne(
|
|
354120
|
+
() => {
|
|
354121
|
+
return User_default;
|
|
354122
|
+
},
|
|
354123
|
+
{
|
|
354124
|
+
eager: false,
|
|
354125
|
+
nullable: false,
|
|
354126
|
+
onDelete: "CASCADE",
|
|
354127
|
+
orphanedRowAction: "nullify"
|
|
354128
|
+
}
|
|
354129
|
+
),
|
|
354130
|
+
JoinColumn({ name: "userId" })
|
|
354131
|
+
], UserProjectSsoIdentity.prototype, "user", 2);
|
|
354132
|
+
__decorateClass([
|
|
354133
|
+
ColumnAccessControl_default({
|
|
354134
|
+
create: [],
|
|
354135
|
+
read: [],
|
|
354136
|
+
update: []
|
|
354137
|
+
}),
|
|
354138
|
+
Index(),
|
|
354139
|
+
TableColumn_default({
|
|
354140
|
+
type: TableColumnType_default.ObjectID,
|
|
354141
|
+
required: true,
|
|
354142
|
+
title: "User ID",
|
|
354143
|
+
description: "ID of the account that is bound."
|
|
354144
|
+
}),
|
|
354145
|
+
Column({
|
|
354146
|
+
type: ColumnType_default.ObjectID,
|
|
354147
|
+
nullable: false,
|
|
354148
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
354149
|
+
})
|
|
354150
|
+
], UserProjectSsoIdentity.prototype, "userId", 2);
|
|
354151
|
+
__decorateClass([
|
|
354152
|
+
ColumnAccessControl_default({
|
|
354153
|
+
create: [],
|
|
354154
|
+
read: [],
|
|
354155
|
+
update: []
|
|
354156
|
+
}),
|
|
354157
|
+
TableColumn_default({
|
|
354158
|
+
manyToOneRelationColumn: "projectId",
|
|
354159
|
+
type: TableColumnType_default.Entity,
|
|
354160
|
+
modelType: Project,
|
|
354161
|
+
title: "Project",
|
|
354162
|
+
description: "The project whose SAML provider the account signs in through."
|
|
354163
|
+
}),
|
|
354164
|
+
ManyToOne(
|
|
354165
|
+
() => {
|
|
354166
|
+
return Project;
|
|
354167
|
+
},
|
|
354168
|
+
{
|
|
354169
|
+
eager: false,
|
|
354170
|
+
nullable: false,
|
|
354171
|
+
onDelete: "CASCADE",
|
|
354172
|
+
orphanedRowAction: "nullify"
|
|
354173
|
+
}
|
|
354174
|
+
),
|
|
354175
|
+
JoinColumn({ name: "projectId" })
|
|
354176
|
+
], UserProjectSsoIdentity.prototype, "project", 2);
|
|
354177
|
+
__decorateClass([
|
|
354178
|
+
ColumnAccessControl_default({
|
|
354179
|
+
create: [],
|
|
354180
|
+
read: [],
|
|
354181
|
+
update: []
|
|
354182
|
+
}),
|
|
354183
|
+
Index(),
|
|
354184
|
+
TableColumn_default({
|
|
354185
|
+
type: TableColumnType_default.ObjectID,
|
|
354186
|
+
required: true,
|
|
354187
|
+
title: "Project ID",
|
|
354188
|
+
description: "ID of the project whose SAML provider the account signs in through."
|
|
354189
|
+
}),
|
|
354190
|
+
Column({
|
|
354191
|
+
type: ColumnType_default.ObjectID,
|
|
354192
|
+
nullable: false,
|
|
354193
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
354194
|
+
})
|
|
354195
|
+
], UserProjectSsoIdentity.prototype, "projectId", 2);
|
|
354196
|
+
__decorateClass([
|
|
354197
|
+
ColumnAccessControl_default({
|
|
354198
|
+
create: [],
|
|
354199
|
+
read: [],
|
|
354200
|
+
update: []
|
|
354201
|
+
}),
|
|
354202
|
+
TableColumn_default({
|
|
354203
|
+
manyToOneRelationColumn: "projectSsoId",
|
|
354204
|
+
type: TableColumnType_default.Entity,
|
|
354205
|
+
modelType: ProjectSSO,
|
|
354206
|
+
title: "Project SSO",
|
|
354207
|
+
description: "The SAML provider the binding holds for."
|
|
354208
|
+
}),
|
|
354209
|
+
ManyToOne(
|
|
354210
|
+
() => {
|
|
354211
|
+
return ProjectSSO;
|
|
354212
|
+
},
|
|
354213
|
+
{
|
|
354214
|
+
eager: false,
|
|
354215
|
+
nullable: false,
|
|
354216
|
+
onDelete: "CASCADE",
|
|
354217
|
+
orphanedRowAction: "nullify"
|
|
354218
|
+
}
|
|
354219
|
+
),
|
|
354220
|
+
JoinColumn({ name: "projectSsoId" })
|
|
354221
|
+
], UserProjectSsoIdentity.prototype, "projectSso", 2);
|
|
354222
|
+
__decorateClass([
|
|
354223
|
+
ColumnAccessControl_default({
|
|
354224
|
+
create: [],
|
|
354225
|
+
read: [],
|
|
354226
|
+
update: []
|
|
354227
|
+
}),
|
|
354228
|
+
Index(),
|
|
354229
|
+
TableColumn_default({
|
|
354230
|
+
type: TableColumnType_default.ObjectID,
|
|
354231
|
+
required: true,
|
|
354232
|
+
title: "Project SSO ID",
|
|
354233
|
+
description: "ID of the SAML provider the binding holds for."
|
|
354234
|
+
}),
|
|
354235
|
+
Column({
|
|
354236
|
+
type: ColumnType_default.ObjectID,
|
|
354237
|
+
nullable: false,
|
|
354238
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
354239
|
+
})
|
|
354240
|
+
], UserProjectSsoIdentity.prototype, "projectSsoId", 2);
|
|
354241
|
+
__decorateClass([
|
|
354242
|
+
ColumnAccessControl_default({
|
|
354243
|
+
create: [],
|
|
354244
|
+
read: [],
|
|
354245
|
+
update: []
|
|
354246
|
+
}),
|
|
354247
|
+
TableColumn_default({
|
|
354248
|
+
type: TableColumnType_default.ShortText,
|
|
354249
|
+
required: true,
|
|
354250
|
+
title: "Object ID",
|
|
354251
|
+
description: "The identity provider's immutable ID for the person: Microsoft Entra ID's object ID, a GUID kept in lower case."
|
|
354252
|
+
}),
|
|
354253
|
+
Column({
|
|
354254
|
+
type: ColumnType_default.ShortText,
|
|
354255
|
+
length: ColumnLength_default.ShortText,
|
|
354256
|
+
nullable: false
|
|
354257
|
+
})
|
|
354258
|
+
], UserProjectSsoIdentity.prototype, "objectId", 2);
|
|
354259
|
+
UserProjectSsoIdentity = __decorateClass([
|
|
354260
|
+
TableAccessControl_default({
|
|
354261
|
+
create: [],
|
|
354262
|
+
read: [],
|
|
354263
|
+
delete: [],
|
|
354264
|
+
update: []
|
|
354265
|
+
}),
|
|
354266
|
+
Index(
|
|
354267
|
+
"IDX_UserProjectSsoIdentity_projectSsoId_userId",
|
|
354268
|
+
["projectSsoId", "userId"],
|
|
354269
|
+
{
|
|
354270
|
+
unique: true,
|
|
354271
|
+
where: '"deletedAt" IS NULL'
|
|
354272
|
+
}
|
|
354273
|
+
),
|
|
354274
|
+
TableMetadata_default({
|
|
354275
|
+
tableName: "UserProjectSsoIdentity",
|
|
354276
|
+
singularName: "Project SSO Identity",
|
|
354277
|
+
pluralName: "Project SSO Identities",
|
|
354278
|
+
icon: IconProp_default.Lock,
|
|
354279
|
+
tableDescription: "Binds an account to the identity provider's immutable ID for the person it signed in as through a project's SAML provider."
|
|
354280
|
+
}),
|
|
354281
|
+
Entity({
|
|
354282
|
+
name: "UserProjectSsoIdentity"
|
|
354283
|
+
})
|
|
354284
|
+
], UserProjectSsoIdentity);
|
|
354285
|
+
|
|
353828
354286
|
// ../Common/Models/DatabaseModels/UserNotificationSetting.ts
|
|
353829
354287
|
var UserNotificationSetting = class extends DatabaseBaseModel {
|
|
353830
354288
|
constructor() {
|
|
@@ -436512,6 +436970,10 @@ var IncidentVideoCall = class extends DatabaseBaseModel {
|
|
|
436512
436970
|
this.rootCauseSuggestionReviewedAt = void 0;
|
|
436513
436971
|
this.rootCauseSuggestionReviewedByUser = void 0;
|
|
436514
436972
|
this.rootCauseSuggestionReviewedByUserId = void 0;
|
|
436973
|
+
this.transcriptFetchStatus = void 0;
|
|
436974
|
+
this.transcriptFetchReason = void 0;
|
|
436975
|
+
this.transcriptFetchCheckedAt = void 0;
|
|
436976
|
+
this.transcriptFetchNextAttemptAt = void 0;
|
|
436515
436977
|
this.createdByUser = void 0;
|
|
436516
436978
|
this.createdByUserId = void 0;
|
|
436517
436979
|
this.deletedByUser = void 0;
|
|
@@ -437070,6 +437532,83 @@ __decorateClass([
|
|
|
437070
437532
|
transformer: ObjectID.getDatabaseTransformer()
|
|
437071
437533
|
})
|
|
437072
437534
|
], IncidentVideoCall.prototype, "rootCauseSuggestionReviewedByUserId", 2);
|
|
437535
|
+
__decorateClass([
|
|
437536
|
+
ColumnAccessControl_default({
|
|
437537
|
+
create: [],
|
|
437538
|
+
read: readPermissions16,
|
|
437539
|
+
update: []
|
|
437540
|
+
}),
|
|
437541
|
+
TableColumn_default({
|
|
437542
|
+
required: false,
|
|
437543
|
+
type: TableColumnType_default.ShortText,
|
|
437544
|
+
computed: true,
|
|
437545
|
+
title: "Transcript Fetch Status",
|
|
437546
|
+
description: "Whether OneUptime gets the call's transcript from Zoom or Google Meet by itself, as it does for the calls it starts while Record and transcribe incident calls is on: Waiting while it asks the provider (again at Transcript Fetch Next Attempt At), Stopped once it no longer asks (Transcript Fetch Reason says why). Empty for a call it does not ask about, and once it has the transcript.",
|
|
437547
|
+
example: "Waiting"
|
|
437548
|
+
}),
|
|
437549
|
+
Column({
|
|
437550
|
+
nullable: true,
|
|
437551
|
+
type: ColumnType_default.ShortText,
|
|
437552
|
+
length: ColumnLength_default.ShortText
|
|
437553
|
+
})
|
|
437554
|
+
], IncidentVideoCall.prototype, "transcriptFetchStatus", 2);
|
|
437555
|
+
__decorateClass([
|
|
437556
|
+
ColumnAccessControl_default({
|
|
437557
|
+
create: [],
|
|
437558
|
+
read: readPermissions16,
|
|
437559
|
+
update: []
|
|
437560
|
+
}),
|
|
437561
|
+
TableColumn_default({
|
|
437562
|
+
required: false,
|
|
437563
|
+
type: TableColumnType_default.ShortText,
|
|
437564
|
+
computed: true,
|
|
437565
|
+
title: "Transcript Fetch Reason",
|
|
437566
|
+
description: "Why the provider had no transcript to give when OneUptime last asked: NotReady (still preparing it), NotTranscribed (nothing recorded or transcribed yet), NoMeeting, Expired, PermissionMissing, ConnectionProblem or NotSupported. Empty when the provider did not answer.",
|
|
437567
|
+
example: "NotReady"
|
|
437568
|
+
}),
|
|
437569
|
+
Column({
|
|
437570
|
+
nullable: true,
|
|
437571
|
+
type: ColumnType_default.ShortText,
|
|
437572
|
+
length: ColumnLength_default.ShortText
|
|
437573
|
+
})
|
|
437574
|
+
], IncidentVideoCall.prototype, "transcriptFetchReason", 2);
|
|
437575
|
+
__decorateClass([
|
|
437576
|
+
ColumnAccessControl_default({
|
|
437577
|
+
create: [],
|
|
437578
|
+
read: readPermissions16,
|
|
437579
|
+
update: []
|
|
437580
|
+
}),
|
|
437581
|
+
TableColumn_default({
|
|
437582
|
+
required: false,
|
|
437583
|
+
type: TableColumnType_default.Date,
|
|
437584
|
+
computed: true,
|
|
437585
|
+
title: "Transcript Fetch Checked At",
|
|
437586
|
+
description: "When OneUptime last asked the provider for the call's transcript."
|
|
437587
|
+
}),
|
|
437588
|
+
Column({
|
|
437589
|
+
type: ColumnType_default.Date,
|
|
437590
|
+
nullable: true
|
|
437591
|
+
})
|
|
437592
|
+
], IncidentVideoCall.prototype, "transcriptFetchCheckedAt", 2);
|
|
437593
|
+
__decorateClass([
|
|
437594
|
+
ColumnAccessControl_default({
|
|
437595
|
+
create: [],
|
|
437596
|
+
read: readPermissions16,
|
|
437597
|
+
update: []
|
|
437598
|
+
}),
|
|
437599
|
+
Index(),
|
|
437600
|
+
TableColumn_default({
|
|
437601
|
+
required: false,
|
|
437602
|
+
type: TableColumnType_default.Date,
|
|
437603
|
+
computed: true,
|
|
437604
|
+
title: "Transcript Fetch Next Attempt At",
|
|
437605
|
+
description: "When OneUptime next asks the provider for the call's transcript, while the Transcript Fetch Status is Waiting."
|
|
437606
|
+
}),
|
|
437607
|
+
Column({
|
|
437608
|
+
type: ColumnType_default.Date,
|
|
437609
|
+
nullable: true
|
|
437610
|
+
})
|
|
437611
|
+
], IncidentVideoCall.prototype, "transcriptFetchNextAttemptAt", 2);
|
|
437073
437612
|
__decorateClass([
|
|
437074
437613
|
ColumnAccessControl_default({
|
|
437075
437614
|
create: createPermissions10,
|
|
@@ -447487,6 +448026,10 @@ var ProjectSCIM = class extends DatabaseBaseModel {
|
|
|
447487
448026
|
this.name = void 0;
|
|
447488
448027
|
this.description = void 0;
|
|
447489
448028
|
this.bearerToken = void 0;
|
|
448029
|
+
this.oauthClientSecretHash = void 0;
|
|
448030
|
+
this.oauthClientSecretExpiresAt = void 0;
|
|
448031
|
+
this.oauthPreviousClientSecretHash = void 0;
|
|
448032
|
+
this.oauthPreviousClientSecretExpiresAt = void 0;
|
|
447490
448033
|
this.teams = void 0;
|
|
447491
448034
|
this.autoProvisionUsers = void 0;
|
|
447492
448035
|
this.autoDeprovisionUsers = void 0;
|
|
@@ -447636,6 +448179,78 @@ __decorateClass([
|
|
|
447636
448179
|
length: ColumnLength_default.LongText
|
|
447637
448180
|
})
|
|
447638
448181
|
], ProjectSCIM.prototype, "bearerToken", 2);
|
|
448182
|
+
__decorateClass([
|
|
448183
|
+
ColumnAccessControl_default({
|
|
448184
|
+
create: [Permission_default.ProjectOwner],
|
|
448185
|
+
read: [],
|
|
448186
|
+
update: [Permission_default.ProjectOwner]
|
|
448187
|
+
}),
|
|
448188
|
+
TableColumn_default({
|
|
448189
|
+
required: false,
|
|
448190
|
+
hideColumnInDocumentation: true,
|
|
448191
|
+
type: TableColumnType_default.LongText,
|
|
448192
|
+
title: "OAuth Client Secret Hash",
|
|
448193
|
+
description: "SHA-256 hash of the connection's OAuth 2.0 client secret. The secret itself is shown once, when it is made, and never kept."
|
|
448194
|
+
}),
|
|
448195
|
+
Column({
|
|
448196
|
+
nullable: true,
|
|
448197
|
+
type: ColumnType_default.LongText,
|
|
448198
|
+
length: ColumnLength_default.LongText
|
|
448199
|
+
})
|
|
448200
|
+
], ProjectSCIM.prototype, "oauthClientSecretHash", 2);
|
|
448201
|
+
__decorateClass([
|
|
448202
|
+
ColumnAccessControl_default({
|
|
448203
|
+
create: [Permission_default.ProjectOwner],
|
|
448204
|
+
read: [Permission_default.ProjectOwner],
|
|
448205
|
+
update: [Permission_default.ProjectOwner]
|
|
448206
|
+
}),
|
|
448207
|
+
TableColumn_default({
|
|
448208
|
+
required: false,
|
|
448209
|
+
type: TableColumnType_default.Date,
|
|
448210
|
+
title: "OAuth Client Secret Expires At",
|
|
448211
|
+
description: "When the connection's OAuth 2.0 client secret stops working. No access token is issued with an expired secret."
|
|
448212
|
+
}),
|
|
448213
|
+
Column({
|
|
448214
|
+
nullable: true,
|
|
448215
|
+
type: ColumnType_default.Date
|
|
448216
|
+
})
|
|
448217
|
+
], ProjectSCIM.prototype, "oauthClientSecretExpiresAt", 2);
|
|
448218
|
+
__decorateClass([
|
|
448219
|
+
ColumnAccessControl_default({
|
|
448220
|
+
create: [Permission_default.ProjectOwner],
|
|
448221
|
+
read: [],
|
|
448222
|
+
update: [Permission_default.ProjectOwner]
|
|
448223
|
+
}),
|
|
448224
|
+
TableColumn_default({
|
|
448225
|
+
required: false,
|
|
448226
|
+
hideColumnInDocumentation: true,
|
|
448227
|
+
type: TableColumnType_default.LongText,
|
|
448228
|
+
title: "Previous OAuth Client Secret Hash",
|
|
448229
|
+
description: "SHA-256 hash of the client secret the current one replaced, which keeps working until it expires or is deleted."
|
|
448230
|
+
}),
|
|
448231
|
+
Column({
|
|
448232
|
+
nullable: true,
|
|
448233
|
+
type: ColumnType_default.LongText,
|
|
448234
|
+
length: ColumnLength_default.LongText
|
|
448235
|
+
})
|
|
448236
|
+
], ProjectSCIM.prototype, "oauthPreviousClientSecretHash", 2);
|
|
448237
|
+
__decorateClass([
|
|
448238
|
+
ColumnAccessControl_default({
|
|
448239
|
+
create: [Permission_default.ProjectOwner],
|
|
448240
|
+
read: [Permission_default.ProjectOwner],
|
|
448241
|
+
update: [Permission_default.ProjectOwner]
|
|
448242
|
+
}),
|
|
448243
|
+
TableColumn_default({
|
|
448244
|
+
required: false,
|
|
448245
|
+
type: TableColumnType_default.Date,
|
|
448246
|
+
title: "Previous OAuth Client Secret Expires At",
|
|
448247
|
+
description: "When the previous OAuth 2.0 client secret stops working, unless it is deleted before."
|
|
448248
|
+
}),
|
|
448249
|
+
Column({
|
|
448250
|
+
nullable: true,
|
|
448251
|
+
type: ColumnType_default.Date
|
|
448252
|
+
})
|
|
448253
|
+
], ProjectSCIM.prototype, "oauthPreviousClientSecretExpiresAt", 2);
|
|
447639
448254
|
__decorateClass([
|
|
447640
448255
|
ColumnAccessControl_default({
|
|
447641
448256
|
create: [Permission_default.ProjectOwner],
|
|
@@ -448364,6 +448979,256 @@ ProjectSCIMLog = __decorateClass([
|
|
|
448364
448979
|
})
|
|
448365
448980
|
], ProjectSCIMLog);
|
|
448366
448981
|
|
|
448982
|
+
// ../Common/Models/DatabaseModels/ProjectSCIMUser.ts
|
|
448983
|
+
var ProjectSCIMUser = class extends DatabaseBaseModel {
|
|
448984
|
+
constructor() {
|
|
448985
|
+
super(...arguments);
|
|
448986
|
+
this.project = void 0;
|
|
448987
|
+
this.projectId = void 0;
|
|
448988
|
+
this.projectScim = void 0;
|
|
448989
|
+
this.projectScimId = void 0;
|
|
448990
|
+
this.user = void 0;
|
|
448991
|
+
this.userId = void 0;
|
|
448992
|
+
this.isActive = void 0;
|
|
448993
|
+
this.userName = void 0;
|
|
448994
|
+
this.externalId = void 0;
|
|
448995
|
+
this.scimAttributes = void 0;
|
|
448996
|
+
}
|
|
448997
|
+
};
|
|
448998
|
+
__name(ProjectSCIMUser, "ProjectSCIMUser");
|
|
448999
|
+
__decorateClass([
|
|
449000
|
+
ColumnAccessControl_default({
|
|
449001
|
+
create: [],
|
|
449002
|
+
read: [],
|
|
449003
|
+
update: []
|
|
449004
|
+
}),
|
|
449005
|
+
TableColumn_default({
|
|
449006
|
+
manyToOneRelationColumn: "projectId",
|
|
449007
|
+
type: TableColumnType_default.Entity,
|
|
449008
|
+
modelType: Project,
|
|
449009
|
+
title: "Project",
|
|
449010
|
+
description: "The project the connection belongs to."
|
|
449011
|
+
}),
|
|
449012
|
+
ManyToOne(
|
|
449013
|
+
() => {
|
|
449014
|
+
return Project;
|
|
449015
|
+
},
|
|
449016
|
+
{
|
|
449017
|
+
eager: false,
|
|
449018
|
+
nullable: false,
|
|
449019
|
+
onDelete: "CASCADE",
|
|
449020
|
+
orphanedRowAction: "nullify"
|
|
449021
|
+
}
|
|
449022
|
+
),
|
|
449023
|
+
JoinColumn({ name: "projectId" })
|
|
449024
|
+
], ProjectSCIMUser.prototype, "project", 2);
|
|
449025
|
+
__decorateClass([
|
|
449026
|
+
ColumnAccessControl_default({
|
|
449027
|
+
create: [],
|
|
449028
|
+
read: [],
|
|
449029
|
+
update: []
|
|
449030
|
+
}),
|
|
449031
|
+
Index(),
|
|
449032
|
+
TableColumn_default({
|
|
449033
|
+
type: TableColumnType_default.ObjectID,
|
|
449034
|
+
required: true,
|
|
449035
|
+
title: "Project ID",
|
|
449036
|
+
description: "ID of the project the connection belongs to."
|
|
449037
|
+
}),
|
|
449038
|
+
Column({
|
|
449039
|
+
type: ColumnType_default.ObjectID,
|
|
449040
|
+
nullable: false,
|
|
449041
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
449042
|
+
})
|
|
449043
|
+
], ProjectSCIMUser.prototype, "projectId", 2);
|
|
449044
|
+
__decorateClass([
|
|
449045
|
+
ColumnAccessControl_default({
|
|
449046
|
+
create: [],
|
|
449047
|
+
read: [],
|
|
449048
|
+
update: []
|
|
449049
|
+
}),
|
|
449050
|
+
TableColumn_default({
|
|
449051
|
+
manyToOneRelationColumn: "projectScimId",
|
|
449052
|
+
type: TableColumnType_default.Entity,
|
|
449053
|
+
modelType: ProjectSCIM,
|
|
449054
|
+
title: "SCIM Connection",
|
|
449055
|
+
description: "The connection that provisioned the user."
|
|
449056
|
+
}),
|
|
449057
|
+
ManyToOne(
|
|
449058
|
+
() => {
|
|
449059
|
+
return ProjectSCIM;
|
|
449060
|
+
},
|
|
449061
|
+
{
|
|
449062
|
+
eager: false,
|
|
449063
|
+
nullable: false,
|
|
449064
|
+
onDelete: "CASCADE",
|
|
449065
|
+
orphanedRowAction: "nullify"
|
|
449066
|
+
}
|
|
449067
|
+
),
|
|
449068
|
+
JoinColumn({ name: "projectScimId" })
|
|
449069
|
+
], ProjectSCIMUser.prototype, "projectScim", 2);
|
|
449070
|
+
__decorateClass([
|
|
449071
|
+
ColumnAccessControl_default({
|
|
449072
|
+
create: [],
|
|
449073
|
+
read: [],
|
|
449074
|
+
update: []
|
|
449075
|
+
}),
|
|
449076
|
+
Index(),
|
|
449077
|
+
TableColumn_default({
|
|
449078
|
+
type: TableColumnType_default.ObjectID,
|
|
449079
|
+
required: true,
|
|
449080
|
+
title: "SCIM Connection ID",
|
|
449081
|
+
description: "ID of the connection that provisioned the user."
|
|
449082
|
+
}),
|
|
449083
|
+
Column({
|
|
449084
|
+
type: ColumnType_default.ObjectID,
|
|
449085
|
+
nullable: false,
|
|
449086
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
449087
|
+
})
|
|
449088
|
+
], ProjectSCIMUser.prototype, "projectScimId", 2);
|
|
449089
|
+
__decorateClass([
|
|
449090
|
+
ColumnAccessControl_default({
|
|
449091
|
+
create: [],
|
|
449092
|
+
read: [],
|
|
449093
|
+
update: []
|
|
449094
|
+
}),
|
|
449095
|
+
TableColumn_default({
|
|
449096
|
+
manyToOneRelationColumn: "userId",
|
|
449097
|
+
type: TableColumnType_default.Entity,
|
|
449098
|
+
modelType: User_default,
|
|
449099
|
+
title: "User",
|
|
449100
|
+
description: "The OneUptime account the SCIM user is."
|
|
449101
|
+
}),
|
|
449102
|
+
ManyToOne(
|
|
449103
|
+
() => {
|
|
449104
|
+
return User_default;
|
|
449105
|
+
},
|
|
449106
|
+
{
|
|
449107
|
+
eager: false,
|
|
449108
|
+
nullable: false,
|
|
449109
|
+
onDelete: "CASCADE",
|
|
449110
|
+
orphanedRowAction: "nullify"
|
|
449111
|
+
}
|
|
449112
|
+
),
|
|
449113
|
+
JoinColumn({ name: "userId" })
|
|
449114
|
+
], ProjectSCIMUser.prototype, "user", 2);
|
|
449115
|
+
__decorateClass([
|
|
449116
|
+
ColumnAccessControl_default({
|
|
449117
|
+
create: [],
|
|
449118
|
+
read: [],
|
|
449119
|
+
update: []
|
|
449120
|
+
}),
|
|
449121
|
+
Index(),
|
|
449122
|
+
TableColumn_default({
|
|
449123
|
+
type: TableColumnType_default.ObjectID,
|
|
449124
|
+
required: true,
|
|
449125
|
+
title: "User ID",
|
|
449126
|
+
description: "ID of the OneUptime account the SCIM user is."
|
|
449127
|
+
}),
|
|
449128
|
+
Column({
|
|
449129
|
+
type: ColumnType_default.ObjectID,
|
|
449130
|
+
nullable: false,
|
|
449131
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
449132
|
+
})
|
|
449133
|
+
], ProjectSCIMUser.prototype, "userId", 2);
|
|
449134
|
+
__decorateClass([
|
|
449135
|
+
ColumnAccessControl_default({
|
|
449136
|
+
create: [],
|
|
449137
|
+
read: [],
|
|
449138
|
+
update: []
|
|
449139
|
+
}),
|
|
449140
|
+
TableColumn_default({
|
|
449141
|
+
type: TableColumnType_default.Boolean,
|
|
449142
|
+
required: true,
|
|
449143
|
+
title: "Active",
|
|
449144
|
+
description: "Whether the identity provider has the user active (SCIM's active attribute)."
|
|
449145
|
+
}),
|
|
449146
|
+
Column({
|
|
449147
|
+
type: ColumnType_default.Boolean,
|
|
449148
|
+
nullable: false,
|
|
449149
|
+
default: true
|
|
449150
|
+
})
|
|
449151
|
+
], ProjectSCIMUser.prototype, "isActive", 2);
|
|
449152
|
+
__decorateClass([
|
|
449153
|
+
ColumnAccessControl_default({
|
|
449154
|
+
create: [],
|
|
449155
|
+
read: [],
|
|
449156
|
+
update: []
|
|
449157
|
+
}),
|
|
449158
|
+
TableColumn_default({
|
|
449159
|
+
type: TableColumnType_default.LongText,
|
|
449160
|
+
required: false,
|
|
449161
|
+
title: "User Name",
|
|
449162
|
+
description: "The userName the identity provider sent, as it sent it. Usually the account's email address."
|
|
449163
|
+
}),
|
|
449164
|
+
Column({
|
|
449165
|
+
type: ColumnType_default.LongText,
|
|
449166
|
+
length: ColumnLength_default.LongText,
|
|
449167
|
+
nullable: true
|
|
449168
|
+
})
|
|
449169
|
+
], ProjectSCIMUser.prototype, "userName", 2);
|
|
449170
|
+
__decorateClass([
|
|
449171
|
+
ColumnAccessControl_default({
|
|
449172
|
+
create: [],
|
|
449173
|
+
read: [],
|
|
449174
|
+
update: []
|
|
449175
|
+
}),
|
|
449176
|
+
TableColumn_default({
|
|
449177
|
+
type: TableColumnType_default.LongText,
|
|
449178
|
+
required: false,
|
|
449179
|
+
title: "External ID",
|
|
449180
|
+
description: "The identity provider's own id for the user (SCIM's externalId), as it sent it."
|
|
449181
|
+
}),
|
|
449182
|
+
Column({
|
|
449183
|
+
type: ColumnType_default.LongText,
|
|
449184
|
+
length: ColumnLength_default.LongText,
|
|
449185
|
+
nullable: true
|
|
449186
|
+
})
|
|
449187
|
+
], ProjectSCIMUser.prototype, "externalId", 2);
|
|
449188
|
+
__decorateClass([
|
|
449189
|
+
ColumnAccessControl_default({
|
|
449190
|
+
create: [],
|
|
449191
|
+
read: [],
|
|
449192
|
+
update: []
|
|
449193
|
+
}),
|
|
449194
|
+
TableColumn_default({
|
|
449195
|
+
type: TableColumnType_default.JSON,
|
|
449196
|
+
required: false,
|
|
449197
|
+
title: "SCIM Attributes",
|
|
449198
|
+
description: "The rest of what the identity provider last sent for the user: displayName, name and emails."
|
|
449199
|
+
}),
|
|
449200
|
+
Column({
|
|
449201
|
+
type: ColumnType_default.JSON,
|
|
449202
|
+
nullable: true
|
|
449203
|
+
})
|
|
449204
|
+
], ProjectSCIMUser.prototype, "scimAttributes", 2);
|
|
449205
|
+
ProjectSCIMUser = __decorateClass([
|
|
449206
|
+
TableAccessControl_default({
|
|
449207
|
+
create: [],
|
|
449208
|
+
read: [],
|
|
449209
|
+
delete: [],
|
|
449210
|
+
update: []
|
|
449211
|
+
}),
|
|
449212
|
+
Index(
|
|
449213
|
+
"IDX_ProjectSCIMUser_projectScimId_userId",
|
|
449214
|
+
["projectScimId", "userId"],
|
|
449215
|
+
{
|
|
449216
|
+
unique: true,
|
|
449217
|
+
where: '"deletedAt" IS NULL'
|
|
449218
|
+
}
|
|
449219
|
+
),
|
|
449220
|
+
TableMetadata_default({
|
|
449221
|
+
tableName: "ProjectSCIMUser",
|
|
449222
|
+
singularName: "SCIM User",
|
|
449223
|
+
pluralName: "SCIM Users",
|
|
449224
|
+
icon: IconProp_default.User,
|
|
449225
|
+
tableDescription: "A user a project's SCIM connection provisioned: whether the identity provider has them active, and what it sent for them."
|
|
449226
|
+
}),
|
|
449227
|
+
Entity({
|
|
449228
|
+
name: "ProjectSCIMUser"
|
|
449229
|
+
})
|
|
449230
|
+
], ProjectSCIMUser);
|
|
449231
|
+
|
|
448367
449232
|
// ../Common/Models/DatabaseModels/StatusPageSCIMLog.ts
|
|
448368
449233
|
var StatusPageSCIMLog = class extends DatabaseBaseModel {
|
|
448369
449234
|
constructor() {
|
|
@@ -450322,6 +451187,479 @@ MarketplaceCharge = __decorateClass([
|
|
|
450322
451187
|
})
|
|
450323
451188
|
], MarketplaceCharge);
|
|
450324
451189
|
|
|
451190
|
+
// ../Common/Models/DatabaseModels/VercelMarketplaceInstallation.ts
|
|
451191
|
+
var VercelMarketplaceInstallation = class extends DatabaseBaseModel {
|
|
451192
|
+
constructor() {
|
|
451193
|
+
super(...arguments);
|
|
451194
|
+
this.installationId = void 0;
|
|
451195
|
+
this.vercelAccountId = void 0;
|
|
451196
|
+
this.accessToken = void 0;
|
|
451197
|
+
this.tokenType = void 0;
|
|
451198
|
+
this.scopes = void 0;
|
|
451199
|
+
this.acceptedPolicies = void 0;
|
|
451200
|
+
this.accountName = void 0;
|
|
451201
|
+
this.accountUrl = void 0;
|
|
451202
|
+
this.contactEmail = void 0;
|
|
451203
|
+
this.contactName = void 0;
|
|
451204
|
+
this.status = void 0;
|
|
451205
|
+
this.deleteRequestedAt = void 0;
|
|
451206
|
+
this.invoicedUntil = void 0;
|
|
451207
|
+
this.billingDataSentAt = void 0;
|
|
451208
|
+
this.lastBillingError = void 0;
|
|
451209
|
+
}
|
|
451210
|
+
};
|
|
451211
|
+
__name(VercelMarketplaceInstallation, "VercelMarketplaceInstallation");
|
|
451212
|
+
__decorateClass([
|
|
451213
|
+
ColumnAccessControl_default({
|
|
451214
|
+
create: [],
|
|
451215
|
+
read: [],
|
|
451216
|
+
update: []
|
|
451217
|
+
}),
|
|
451218
|
+
Index({ unique: true }),
|
|
451219
|
+
TableColumn_default({
|
|
451220
|
+
required: true,
|
|
451221
|
+
type: TableColumnType_default.ShortText,
|
|
451222
|
+
title: "Installation ID",
|
|
451223
|
+
description: "Vercel's ID of the installation (icfg_...). A reinstall gets a new one.",
|
|
451224
|
+
example: "icfg_7BsYazjxsiKpsDTXiAUcOJmP"
|
|
451225
|
+
}),
|
|
451226
|
+
Column({
|
|
451227
|
+
nullable: false,
|
|
451228
|
+
type: ColumnType_default.ShortText,
|
|
451229
|
+
length: ColumnLength_default.ShortText
|
|
451230
|
+
})
|
|
451231
|
+
], VercelMarketplaceInstallation.prototype, "installationId", 2);
|
|
451232
|
+
__decorateClass([
|
|
451233
|
+
ColumnAccessControl_default({
|
|
451234
|
+
create: [],
|
|
451235
|
+
read: [],
|
|
451236
|
+
update: []
|
|
451237
|
+
}),
|
|
451238
|
+
Index(),
|
|
451239
|
+
TableColumn_default({
|
|
451240
|
+
required: false,
|
|
451241
|
+
type: TableColumnType_default.ShortText,
|
|
451242
|
+
title: "Vercel Account ID",
|
|
451243
|
+
description: "The Vercel team (account) that installed OneUptime.",
|
|
451244
|
+
example: "team_LLHUOMOoDlqOp8wPE4kFo9pE"
|
|
451245
|
+
}),
|
|
451246
|
+
Column({
|
|
451247
|
+
nullable: true,
|
|
451248
|
+
type: ColumnType_default.ShortText,
|
|
451249
|
+
length: ColumnLength_default.ShortText
|
|
451250
|
+
})
|
|
451251
|
+
], VercelMarketplaceInstallation.prototype, "vercelAccountId", 2);
|
|
451252
|
+
__decorateClass([
|
|
451253
|
+
ColumnAccessControl_default({
|
|
451254
|
+
create: [],
|
|
451255
|
+
read: [],
|
|
451256
|
+
update: []
|
|
451257
|
+
}),
|
|
451258
|
+
TableColumn_default({
|
|
451259
|
+
required: false,
|
|
451260
|
+
type: TableColumnType_default.VeryLongText,
|
|
451261
|
+
encrypted: true,
|
|
451262
|
+
title: "Access Token",
|
|
451263
|
+
description: "The token Vercel gave OneUptime for this installation, which calls Vercel's marketplace API. Encrypted at rest and never returned by the API.",
|
|
451264
|
+
hideColumnInDocumentation: true
|
|
451265
|
+
}),
|
|
451266
|
+
Column({
|
|
451267
|
+
nullable: true,
|
|
451268
|
+
type: ColumnType_default.VeryLongText
|
|
451269
|
+
})
|
|
451270
|
+
], VercelMarketplaceInstallation.prototype, "accessToken", 2);
|
|
451271
|
+
__decorateClass([
|
|
451272
|
+
ColumnAccessControl_default({
|
|
451273
|
+
create: [],
|
|
451274
|
+
read: [],
|
|
451275
|
+
update: []
|
|
451276
|
+
}),
|
|
451277
|
+
TableColumn_default({
|
|
451278
|
+
required: false,
|
|
451279
|
+
type: TableColumnType_default.ShortText,
|
|
451280
|
+
title: "Token Type",
|
|
451281
|
+
description: "The access token's type, as Vercel gave it (Bearer).",
|
|
451282
|
+
example: "Bearer"
|
|
451283
|
+
}),
|
|
451284
|
+
Column({
|
|
451285
|
+
nullable: true,
|
|
451286
|
+
type: ColumnType_default.ShortText,
|
|
451287
|
+
length: ColumnLength_default.ShortText
|
|
451288
|
+
})
|
|
451289
|
+
], VercelMarketplaceInstallation.prototype, "tokenType", 2);
|
|
451290
|
+
__decorateClass([
|
|
451291
|
+
ColumnAccessControl_default({
|
|
451292
|
+
create: [],
|
|
451293
|
+
read: [],
|
|
451294
|
+
update: []
|
|
451295
|
+
}),
|
|
451296
|
+
TableColumn_default({
|
|
451297
|
+
required: false,
|
|
451298
|
+
type: TableColumnType_default.JSON,
|
|
451299
|
+
title: "Scopes",
|
|
451300
|
+
description: "The Vercel API scopes the team granted the integration, such as read:project."
|
|
451301
|
+
}),
|
|
451302
|
+
Column({
|
|
451303
|
+
nullable: true,
|
|
451304
|
+
type: ColumnType_default.JSON
|
|
451305
|
+
})
|
|
451306
|
+
], VercelMarketplaceInstallation.prototype, "scopes", 2);
|
|
451307
|
+
__decorateClass([
|
|
451308
|
+
ColumnAccessControl_default({
|
|
451309
|
+
create: [],
|
|
451310
|
+
read: [],
|
|
451311
|
+
update: []
|
|
451312
|
+
}),
|
|
451313
|
+
TableColumn_default({
|
|
451314
|
+
required: false,
|
|
451315
|
+
type: TableColumnType_default.JSON,
|
|
451316
|
+
title: "Accepted Policies",
|
|
451317
|
+
description: "The policies the team accepted while installing (terms of service, privacy policy...), with when.",
|
|
451318
|
+
example: { toc: "2026-10-18T10:00:00Z" }
|
|
451319
|
+
}),
|
|
451320
|
+
Column({
|
|
451321
|
+
nullable: true,
|
|
451322
|
+
type: ColumnType_default.JSON
|
|
451323
|
+
})
|
|
451324
|
+
], VercelMarketplaceInstallation.prototype, "acceptedPolicies", 2);
|
|
451325
|
+
__decorateClass([
|
|
451326
|
+
ColumnAccessControl_default({
|
|
451327
|
+
create: [],
|
|
451328
|
+
read: [],
|
|
451329
|
+
update: []
|
|
451330
|
+
}),
|
|
451331
|
+
TableColumn_default({
|
|
451332
|
+
required: false,
|
|
451333
|
+
type: TableColumnType_default.LongText,
|
|
451334
|
+
title: "Account Name",
|
|
451335
|
+
description: "The Vercel team's name.",
|
|
451336
|
+
example: "Acme"
|
|
451337
|
+
}),
|
|
451338
|
+
Column({
|
|
451339
|
+
nullable: true,
|
|
451340
|
+
type: ColumnType_default.LongText,
|
|
451341
|
+
length: ColumnLength_default.LongText
|
|
451342
|
+
})
|
|
451343
|
+
], VercelMarketplaceInstallation.prototype, "accountName", 2);
|
|
451344
|
+
__decorateClass([
|
|
451345
|
+
ColumnAccessControl_default({
|
|
451346
|
+
create: [],
|
|
451347
|
+
read: [],
|
|
451348
|
+
update: []
|
|
451349
|
+
}),
|
|
451350
|
+
TableColumn_default({
|
|
451351
|
+
required: false,
|
|
451352
|
+
type: TableColumnType_default.LongText,
|
|
451353
|
+
title: "Account URL",
|
|
451354
|
+
description: "The installation in the Vercel dashboard.",
|
|
451355
|
+
example: "https://vercel.com/acme/~/integrations/oneuptime"
|
|
451356
|
+
}),
|
|
451357
|
+
Column({
|
|
451358
|
+
nullable: true,
|
|
451359
|
+
type: ColumnType_default.LongText,
|
|
451360
|
+
length: ColumnLength_default.LongText
|
|
451361
|
+
})
|
|
451362
|
+
], VercelMarketplaceInstallation.prototype, "accountUrl", 2);
|
|
451363
|
+
__decorateClass([
|
|
451364
|
+
ColumnAccessControl_default({
|
|
451365
|
+
create: [],
|
|
451366
|
+
read: [],
|
|
451367
|
+
update: []
|
|
451368
|
+
}),
|
|
451369
|
+
TableColumn_default({
|
|
451370
|
+
required: false,
|
|
451371
|
+
type: TableColumnType_default.Email,
|
|
451372
|
+
title: "Contact Email",
|
|
451373
|
+
description: "Who Vercel names as the team's contact for the installation.",
|
|
451374
|
+
example: "owner@acme.com"
|
|
451375
|
+
}),
|
|
451376
|
+
Column({
|
|
451377
|
+
nullable: true,
|
|
451378
|
+
type: ColumnType_default.Email,
|
|
451379
|
+
length: ColumnLength_default.Email
|
|
451380
|
+
})
|
|
451381
|
+
], VercelMarketplaceInstallation.prototype, "contactEmail", 2);
|
|
451382
|
+
__decorateClass([
|
|
451383
|
+
ColumnAccessControl_default({
|
|
451384
|
+
create: [],
|
|
451385
|
+
read: [],
|
|
451386
|
+
update: []
|
|
451387
|
+
}),
|
|
451388
|
+
TableColumn_default({
|
|
451389
|
+
required: false,
|
|
451390
|
+
type: TableColumnType_default.LongText,
|
|
451391
|
+
title: "Contact Name",
|
|
451392
|
+
description: "The contact's name, where Vercel gives one.",
|
|
451393
|
+
example: "Ada Lovelace"
|
|
451394
|
+
}),
|
|
451395
|
+
Column({
|
|
451396
|
+
nullable: true,
|
|
451397
|
+
type: ColumnType_default.LongText,
|
|
451398
|
+
length: ColumnLength_default.LongText
|
|
451399
|
+
})
|
|
451400
|
+
], VercelMarketplaceInstallation.prototype, "contactName", 2);
|
|
451401
|
+
__decorateClass([
|
|
451402
|
+
ColumnAccessControl_default({
|
|
451403
|
+
create: [],
|
|
451404
|
+
read: [],
|
|
451405
|
+
update: []
|
|
451406
|
+
}),
|
|
451407
|
+
Index(),
|
|
451408
|
+
TableColumn_default({
|
|
451409
|
+
required: true,
|
|
451410
|
+
type: TableColumnType_default.ShortText,
|
|
451411
|
+
title: "Status",
|
|
451412
|
+
description: "Active, DeletePending (uninstalled; the final invoice is still to be sent) or Deleted.",
|
|
451413
|
+
example: "Active"
|
|
451414
|
+
}),
|
|
451415
|
+
Column({
|
|
451416
|
+
nullable: false,
|
|
451417
|
+
type: ColumnType_default.ShortText,
|
|
451418
|
+
length: ColumnLength_default.ShortText
|
|
451419
|
+
})
|
|
451420
|
+
], VercelMarketplaceInstallation.prototype, "status", 2);
|
|
451421
|
+
__decorateClass([
|
|
451422
|
+
ColumnAccessControl_default({
|
|
451423
|
+
create: [],
|
|
451424
|
+
read: [],
|
|
451425
|
+
update: []
|
|
451426
|
+
}),
|
|
451427
|
+
TableColumn_default({
|
|
451428
|
+
required: false,
|
|
451429
|
+
type: TableColumnType_default.Date,
|
|
451430
|
+
title: "Delete Requested At",
|
|
451431
|
+
description: "When Vercel asked OneUptime to delete the installation.",
|
|
451432
|
+
example: "2026-10-18T10:00:00.000Z"
|
|
451433
|
+
}),
|
|
451434
|
+
Column({
|
|
451435
|
+
nullable: true,
|
|
451436
|
+
type: ColumnType_default.Date
|
|
451437
|
+
})
|
|
451438
|
+
], VercelMarketplaceInstallation.prototype, "deleteRequestedAt", 2);
|
|
451439
|
+
__decorateClass([
|
|
451440
|
+
ColumnAccessControl_default({
|
|
451441
|
+
create: [],
|
|
451442
|
+
read: [],
|
|
451443
|
+
update: []
|
|
451444
|
+
}),
|
|
451445
|
+
TableColumn_default({
|
|
451446
|
+
required: false,
|
|
451447
|
+
type: TableColumnType_default.Date,
|
|
451448
|
+
title: "Invoiced Until",
|
|
451449
|
+
description: "The end of the last period OneUptime sent Vercel an invoice for. The next invoice starts here.",
|
|
451450
|
+
example: "2026-10-01T00:00:00.000Z"
|
|
451451
|
+
}),
|
|
451452
|
+
Column({
|
|
451453
|
+
nullable: true,
|
|
451454
|
+
type: ColumnType_default.Date
|
|
451455
|
+
})
|
|
451456
|
+
], VercelMarketplaceInstallation.prototype, "invoicedUntil", 2);
|
|
451457
|
+
__decorateClass([
|
|
451458
|
+
ColumnAccessControl_default({
|
|
451459
|
+
create: [],
|
|
451460
|
+
read: [],
|
|
451461
|
+
update: []
|
|
451462
|
+
}),
|
|
451463
|
+
TableColumn_default({
|
|
451464
|
+
required: false,
|
|
451465
|
+
type: TableColumnType_default.Date,
|
|
451466
|
+
title: "Billing Data Sent At",
|
|
451467
|
+
description: "When OneUptime last sent Vercel the running totals of the current period.",
|
|
451468
|
+
example: "2026-10-18T10:10:00.000Z"
|
|
451469
|
+
}),
|
|
451470
|
+
Column({
|
|
451471
|
+
nullable: true,
|
|
451472
|
+
type: ColumnType_default.Date
|
|
451473
|
+
})
|
|
451474
|
+
], VercelMarketplaceInstallation.prototype, "billingDataSentAt", 2);
|
|
451475
|
+
__decorateClass([
|
|
451476
|
+
ColumnAccessControl_default({
|
|
451477
|
+
create: [],
|
|
451478
|
+
read: [],
|
|
451479
|
+
update: []
|
|
451480
|
+
}),
|
|
451481
|
+
TableColumn_default({
|
|
451482
|
+
required: false,
|
|
451483
|
+
type: TableColumnType_default.LongText,
|
|
451484
|
+
title: "Last Billing Error",
|
|
451485
|
+
description: "Why Vercel last refused, or could not be sent, this installation's usage or invoice. Empty once one goes through."
|
|
451486
|
+
}),
|
|
451487
|
+
Column({
|
|
451488
|
+
nullable: true,
|
|
451489
|
+
type: ColumnType_default.LongText,
|
|
451490
|
+
length: ColumnLength_default.LongText
|
|
451491
|
+
})
|
|
451492
|
+
], VercelMarketplaceInstallation.prototype, "lastBillingError", 2);
|
|
451493
|
+
VercelMarketplaceInstallation = __decorateClass([
|
|
451494
|
+
TableAccessControl_default({
|
|
451495
|
+
create: [],
|
|
451496
|
+
read: [],
|
|
451497
|
+
update: [],
|
|
451498
|
+
delete: []
|
|
451499
|
+
}),
|
|
451500
|
+
CrudApiEndpoint_default(new Route("/vercel-marketplace-installation")),
|
|
451501
|
+
TableMetadata_default({
|
|
451502
|
+
tableName: "VercelMarketplaceInstallation",
|
|
451503
|
+
singularName: "Vercel Marketplace Installation",
|
|
451504
|
+
pluralName: "Vercel Marketplace Installations",
|
|
451505
|
+
icon: IconProp_default.Billing,
|
|
451506
|
+
tableDescription: "Vercel teams that installed OneUptime from Vercel Marketplace, and the access token OneUptime calls Vercel with for them."
|
|
451507
|
+
}),
|
|
451508
|
+
Entity({
|
|
451509
|
+
name: "VercelMarketplaceInstallation"
|
|
451510
|
+
})
|
|
451511
|
+
], VercelMarketplaceInstallation);
|
|
451512
|
+
|
|
451513
|
+
// ../Common/Models/DatabaseModels/VercelMarketplaceConnection.ts
|
|
451514
|
+
var VercelMarketplaceConnection = class extends DatabaseBaseModel {
|
|
451515
|
+
constructor() {
|
|
451516
|
+
super(...arguments);
|
|
451517
|
+
this.marketplaceSubscriptionId = void 0;
|
|
451518
|
+
this.projectId = void 0;
|
|
451519
|
+
this.vercelProjectId = void 0;
|
|
451520
|
+
this.vercelProjectName = void 0;
|
|
451521
|
+
this.productionDomain = void 0;
|
|
451522
|
+
this.monitorId = void 0;
|
|
451523
|
+
}
|
|
451524
|
+
};
|
|
451525
|
+
__name(VercelMarketplaceConnection, "VercelMarketplaceConnection");
|
|
451526
|
+
__decorateClass([
|
|
451527
|
+
ColumnAccessControl_default({
|
|
451528
|
+
create: [],
|
|
451529
|
+
read: [],
|
|
451530
|
+
update: []
|
|
451531
|
+
}),
|
|
451532
|
+
Index(),
|
|
451533
|
+
TableColumn_default({
|
|
451534
|
+
required: true,
|
|
451535
|
+
type: TableColumnType_default.ObjectID,
|
|
451536
|
+
title: "Marketplace Subscription ID",
|
|
451537
|
+
description: "The resource the Vercel project is connected to: its marketplace purchase.",
|
|
451538
|
+
example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
|
|
451539
|
+
}),
|
|
451540
|
+
Column({
|
|
451541
|
+
nullable: false,
|
|
451542
|
+
type: ColumnType_default.ObjectID,
|
|
451543
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
451544
|
+
})
|
|
451545
|
+
], VercelMarketplaceConnection.prototype, "marketplaceSubscriptionId", 2);
|
|
451546
|
+
__decorateClass([
|
|
451547
|
+
ColumnAccessControl_default({
|
|
451548
|
+
create: [],
|
|
451549
|
+
read: [],
|
|
451550
|
+
update: []
|
|
451551
|
+
}),
|
|
451552
|
+
Index(),
|
|
451553
|
+
TableColumn_default({
|
|
451554
|
+
required: true,
|
|
451555
|
+
type: TableColumnType_default.ObjectID,
|
|
451556
|
+
title: "Project ID",
|
|
451557
|
+
description: "The OneUptime project of the resource.",
|
|
451558
|
+
example: "5f8b9c0d-e1f2-3a4b-5c6d-7e8f9a0b1c2d"
|
|
451559
|
+
}),
|
|
451560
|
+
Column({
|
|
451561
|
+
nullable: false,
|
|
451562
|
+
type: ColumnType_default.ObjectID,
|
|
451563
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
451564
|
+
})
|
|
451565
|
+
], VercelMarketplaceConnection.prototype, "projectId", 2);
|
|
451566
|
+
__decorateClass([
|
|
451567
|
+
ColumnAccessControl_default({
|
|
451568
|
+
create: [],
|
|
451569
|
+
read: [],
|
|
451570
|
+
update: []
|
|
451571
|
+
}),
|
|
451572
|
+
TableColumn_default({
|
|
451573
|
+
required: true,
|
|
451574
|
+
type: TableColumnType_default.ShortText,
|
|
451575
|
+
title: "Vercel Project ID",
|
|
451576
|
+
description: "The connected Vercel project.",
|
|
451577
|
+
example: "prj_ndlgr43fadlPyCtREAqxxdyFK"
|
|
451578
|
+
}),
|
|
451579
|
+
Column({
|
|
451580
|
+
nullable: false,
|
|
451581
|
+
type: ColumnType_default.ShortText,
|
|
451582
|
+
length: ColumnLength_default.ShortText
|
|
451583
|
+
})
|
|
451584
|
+
], VercelMarketplaceConnection.prototype, "vercelProjectId", 2);
|
|
451585
|
+
__decorateClass([
|
|
451586
|
+
ColumnAccessControl_default({
|
|
451587
|
+
create: [],
|
|
451588
|
+
read: [],
|
|
451589
|
+
update: []
|
|
451590
|
+
}),
|
|
451591
|
+
TableColumn_default({
|
|
451592
|
+
required: false,
|
|
451593
|
+
type: TableColumnType_default.LongText,
|
|
451594
|
+
title: "Vercel Project Name",
|
|
451595
|
+
description: "The Vercel project's name, as Vercel last gave it.",
|
|
451596
|
+
example: "storefront"
|
|
451597
|
+
}),
|
|
451598
|
+
Column({
|
|
451599
|
+
nullable: true,
|
|
451600
|
+
type: ColumnType_default.LongText,
|
|
451601
|
+
length: ColumnLength_default.LongText
|
|
451602
|
+
})
|
|
451603
|
+
], VercelMarketplaceConnection.prototype, "vercelProjectName", 2);
|
|
451604
|
+
__decorateClass([
|
|
451605
|
+
ColumnAccessControl_default({
|
|
451606
|
+
create: [],
|
|
451607
|
+
read: [],
|
|
451608
|
+
update: []
|
|
451609
|
+
}),
|
|
451610
|
+
TableColumn_default({
|
|
451611
|
+
required: false,
|
|
451612
|
+
type: TableColumnType_default.LongText,
|
|
451613
|
+
title: "Production Domain",
|
|
451614
|
+
description: "The Vercel project's production domain, which the monitor checks. Empty until the project has one.",
|
|
451615
|
+
example: "storefront.vercel.app"
|
|
451616
|
+
}),
|
|
451617
|
+
Column({
|
|
451618
|
+
nullable: true,
|
|
451619
|
+
type: ColumnType_default.LongText,
|
|
451620
|
+
length: ColumnLength_default.LongText
|
|
451621
|
+
})
|
|
451622
|
+
], VercelMarketplaceConnection.prototype, "productionDomain", 2);
|
|
451623
|
+
__decorateClass([
|
|
451624
|
+
ColumnAccessControl_default({
|
|
451625
|
+
create: [],
|
|
451626
|
+
read: [],
|
|
451627
|
+
update: []
|
|
451628
|
+
}),
|
|
451629
|
+
TableColumn_default({
|
|
451630
|
+
required: false,
|
|
451631
|
+
type: TableColumnType_default.ObjectID,
|
|
451632
|
+
title: "Monitor ID",
|
|
451633
|
+
description: "The website monitor OneUptime made for the production domain, if it made one.",
|
|
451634
|
+
example: "b1c2d3e4-f5a6-7890-abcd-ef1234567890"
|
|
451635
|
+
}),
|
|
451636
|
+
Column({
|
|
451637
|
+
nullable: true,
|
|
451638
|
+
type: ColumnType_default.ObjectID,
|
|
451639
|
+
transformer: ObjectID.getDatabaseTransformer()
|
|
451640
|
+
})
|
|
451641
|
+
], VercelMarketplaceConnection.prototype, "monitorId", 2);
|
|
451642
|
+
VercelMarketplaceConnection = __decorateClass([
|
|
451643
|
+
TableAccessControl_default({
|
|
451644
|
+
create: [],
|
|
451645
|
+
read: [],
|
|
451646
|
+
update: [],
|
|
451647
|
+
delete: []
|
|
451648
|
+
}),
|
|
451649
|
+
CrudApiEndpoint_default(new Route("/vercel-marketplace-connection")),
|
|
451650
|
+
TableMetadata_default({
|
|
451651
|
+
tableName: "VercelMarketplaceConnection",
|
|
451652
|
+
singularName: "Vercel Marketplace Connection",
|
|
451653
|
+
pluralName: "Vercel Marketplace Connections",
|
|
451654
|
+
icon: IconProp_default.Link,
|
|
451655
|
+
tableDescription: "Vercel projects connected to a OneUptime resource from Vercel Marketplace, and the monitor that watches each one's production domain."
|
|
451656
|
+
}),
|
|
451657
|
+
Entity({
|
|
451658
|
+
name: "VercelMarketplaceConnection"
|
|
451659
|
+
}),
|
|
451660
|
+
Index(["marketplaceSubscriptionId", "vercelProjectId"], { unique: true })
|
|
451661
|
+
], VercelMarketplaceConnection);
|
|
451662
|
+
|
|
450325
451663
|
// ../Common/Models/DatabaseModels/UserNotificationEmailRollupItem.ts
|
|
450326
451664
|
var UserNotificationEmailRollupItem = class extends DatabaseBaseModel {
|
|
450327
451665
|
constructor() {
|
|
@@ -452224,6 +453562,7 @@ var AllModelTypes = [
|
|
|
452224
453562
|
DataSource2,
|
|
452225
453563
|
UserSession_default,
|
|
452226
453564
|
UserProjectSsoConsent,
|
|
453565
|
+
UserProjectSsoIdentity,
|
|
452227
453566
|
UserTotpAuth_default,
|
|
452228
453567
|
UserTwoFactorBackupCode_default,
|
|
452229
453568
|
UserWebAuthn_default,
|
|
@@ -452263,6 +453602,7 @@ var AllModelTypes = [
|
|
|
452263
453602
|
OnCallDutyPolicyTimeLog,
|
|
452264
453603
|
ProjectSCIM,
|
|
452265
453604
|
ProjectSCIMLog,
|
|
453605
|
+
ProjectSCIMUser,
|
|
452266
453606
|
StatusPageSCIMLog,
|
|
452267
453607
|
KubernetesCluster,
|
|
452268
453608
|
KubernetesAiAgent,
|
|
@@ -452369,6 +453709,8 @@ var AllModelTypes = [
|
|
|
452369
453709
|
MarketplaceSubscription,
|
|
452370
453710
|
MarketplaceUsageReport,
|
|
452371
453711
|
MarketplaceCharge,
|
|
453712
|
+
VercelMarketplaceInstallation,
|
|
453713
|
+
VercelMarketplaceConnection,
|
|
452372
453714
|
UserNotificationEmailRollupItem,
|
|
452373
453715
|
UserNotificationEmailRollupBatch,
|
|
452374
453716
|
UserNotificationEmailRollupSetting_default,
|