@oneuptime/common 7.0.3022 → 7.0.3035
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/BillingInvoice.ts +33 -0
- package/Models/DatabaseModels/CopilotAction.ts +32 -0
- package/Models/DatabaseModels/StatusPageAnnouncement.ts +2 -2
- package/Server/API/CopilotActionAPI.ts +3 -0
- package/Server/API/StatusPageAPI.ts +1 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725551629492-MigrationName.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725556630384-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1725618842598-MigrationName.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Services/BillingInvoiceService.ts +2 -0
- package/Server/Services/BillingService.ts +29 -10
- package/Server/Utils/Telemetry.ts +4 -6
- package/Tests/Server/Services/BillingService.test.ts +5 -0
- package/Tests/Server/TestingUtils/Services/BillingServiceHelper.ts +2 -0
- package/Types/Copilot/CopilotActionProps/Index.ts +1 -1
- package/Types/File/MimeType.ts +1 -0
- package/UI/Components/Alerts/Alert.tsx +11 -7
- package/UI/Components/FilePicker/FilePicker.tsx +7 -1
- package/UI/Components/Forms/Fields/FormField.tsx +1 -1
- package/Utils/CronTime.ts +1 -0
- package/build/dist/Models/DatabaseModels/BillingInvoice.js +37 -0
- package/build/dist/Models/DatabaseModels/BillingInvoice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CopilotAction.js +34 -0
- package/build/dist/Models/DatabaseModels/CopilotAction.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +2 -2
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
- package/build/dist/Server/API/CopilotActionAPI.js +3 -0
- package/build/dist/Server/API/CopilotActionAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +1 -1
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725551629492-MigrationName.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725551629492-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725556630384-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725556630384-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725618842598-MigrationName.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725618842598-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/BillingInvoiceService.js +2 -0
- package/build/dist/Server/Services/BillingInvoiceService.js.map +1 -1
- package/build/dist/Server/Services/BillingService.js +14 -1
- package/build/dist/Server/Services/BillingService.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry.js +5 -3
- package/build/dist/Server/Utils/Telemetry.js.map +1 -1
- package/build/dist/Tests/Server/Services/BillingService.test.js +4 -0
- package/build/dist/Tests/Server/Services/BillingService.test.js.map +1 -1
- package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js +2 -0
- package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js.map +1 -1
- package/build/dist/Types/Copilot/CopilotActionProps/Index.js +1 -1
- package/build/dist/Types/Copilot/CopilotActionProps/Index.js.map +1 -1
- package/build/dist/Types/File/MimeType.js +1 -0
- package/build/dist/Types/File/MimeType.js.map +1 -1
- package/build/dist/UI/Components/Alerts/Alert.js +9 -3
- package/build/dist/UI/Components/Alerts/Alert.js.map +1 -1
- package/build/dist/UI/Components/FilePicker/FilePicker.js +3 -1
- package/build/dist/UI/Components/FilePicker/FilePicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/Utils/CronTime.js +1 -0
- package/build/dist/Utils/CronTime.js.map +1 -1
- package/package.json +2 -2
|
@@ -336,4 +336,37 @@ export default class BillingInvoice extends BaseModel {
|
|
|
336
336
|
unique: false,
|
|
337
337
|
})
|
|
338
338
|
public paymentProviderInvoiceId?: string = undefined;
|
|
339
|
+
|
|
340
|
+
@ColumnAccessControl({
|
|
341
|
+
create: [],
|
|
342
|
+
read: [
|
|
343
|
+
Permission.ProjectOwner,
|
|
344
|
+
Permission.ProjectAdmin,
|
|
345
|
+
Permission.ReadInvoices,
|
|
346
|
+
],
|
|
347
|
+
update: [],
|
|
348
|
+
})
|
|
349
|
+
@TableColumn({ type: TableColumnType.Date })
|
|
350
|
+
@Column({
|
|
351
|
+
type: ColumnType.Date,
|
|
352
|
+
nullable: true,
|
|
353
|
+
})
|
|
354
|
+
public invoiceDate?: Date = undefined;
|
|
355
|
+
|
|
356
|
+
@ColumnAccessControl({
|
|
357
|
+
create: [],
|
|
358
|
+
read: [
|
|
359
|
+
Permission.ProjectOwner,
|
|
360
|
+
Permission.ProjectAdmin,
|
|
361
|
+
Permission.ReadInvoices,
|
|
362
|
+
],
|
|
363
|
+
update: [],
|
|
364
|
+
})
|
|
365
|
+
@TableColumn({ type: TableColumnType.LongText })
|
|
366
|
+
@Column({
|
|
367
|
+
type: ColumnType.LongText,
|
|
368
|
+
length: ColumnLength.LongText,
|
|
369
|
+
nullable: true,
|
|
370
|
+
})
|
|
371
|
+
public invoiceNumber?: string = undefined;
|
|
339
372
|
}
|
|
@@ -736,4 +736,36 @@ export default class CopilotAction extends BaseModel {
|
|
|
736
736
|
default: false,
|
|
737
737
|
})
|
|
738
738
|
public isPriority?: string = undefined;
|
|
739
|
+
|
|
740
|
+
@ColumnAccessControl({
|
|
741
|
+
create: [
|
|
742
|
+
Permission.ProjectOwner,
|
|
743
|
+
Permission.ProjectAdmin,
|
|
744
|
+
Permission.ProjectMember,
|
|
745
|
+
Permission.CreateCopilotAction,
|
|
746
|
+
],
|
|
747
|
+
read: [
|
|
748
|
+
Permission.ProjectOwner,
|
|
749
|
+
Permission.ProjectAdmin,
|
|
750
|
+
Permission.ProjectMember,
|
|
751
|
+
Permission.ReadCopilotAction,
|
|
752
|
+
],
|
|
753
|
+
update: [
|
|
754
|
+
Permission.ProjectOwner,
|
|
755
|
+
Permission.ProjectAdmin,
|
|
756
|
+
Permission.ProjectMember,
|
|
757
|
+
Permission.EditCopilotAction,
|
|
758
|
+
],
|
|
759
|
+
})
|
|
760
|
+
@TableColumn({
|
|
761
|
+
required: false,
|
|
762
|
+
type: TableColumnType.Date,
|
|
763
|
+
title: "Status Changed at",
|
|
764
|
+
description: "When the status of this action was changed",
|
|
765
|
+
})
|
|
766
|
+
@Column({
|
|
767
|
+
nullable: true,
|
|
768
|
+
type: ColumnType.Date,
|
|
769
|
+
})
|
|
770
|
+
public statusChangedAt?: Date = undefined;
|
|
739
771
|
}
|
|
@@ -260,7 +260,7 @@ export default class StatusPageAnnouncement extends BaseModel {
|
|
|
260
260
|
@TableColumn({
|
|
261
261
|
title: "End At",
|
|
262
262
|
type: TableColumnType.Date,
|
|
263
|
-
required:
|
|
263
|
+
required: false,
|
|
264
264
|
description: "When should this announcement hidden?",
|
|
265
265
|
})
|
|
266
266
|
@ColumnAccessControl({
|
|
@@ -284,7 +284,7 @@ export default class StatusPageAnnouncement extends BaseModel {
|
|
|
284
284
|
],
|
|
285
285
|
})
|
|
286
286
|
@Column({
|
|
287
|
-
nullable:
|
|
287
|
+
nullable: true,
|
|
288
288
|
type: ColumnType.Date,
|
|
289
289
|
})
|
|
290
290
|
public endAnnouncementAt?: Date = undefined;
|
|
@@ -22,6 +22,7 @@ import SortOrder from "../../Types/BaseDatabase/SortOrder";
|
|
|
22
22
|
import JSONFunctions from "../../Types/JSONFunctions";
|
|
23
23
|
import CopilotActionType from "../../Types/Copilot/CopilotActionType";
|
|
24
24
|
import { JSONObject } from "../../Types/JSON";
|
|
25
|
+
import OneUptimeDate from "../../Types/Date";
|
|
25
26
|
|
|
26
27
|
export default class CopilotActionAPI extends BaseAPI<
|
|
27
28
|
CopilotAction,
|
|
@@ -145,6 +146,7 @@ export default class CopilotActionAPI extends BaseAPI<
|
|
|
145
146
|
serviceCatalogId: true,
|
|
146
147
|
copilotActionStatus: true,
|
|
147
148
|
copilotActionType: true,
|
|
149
|
+
copilotActionProp: true,
|
|
148
150
|
createdAt: true,
|
|
149
151
|
copilotPullRequest: {
|
|
150
152
|
_id: true,
|
|
@@ -398,6 +400,7 @@ export default class CopilotActionAPI extends BaseAPI<
|
|
|
398
400
|
copilotPullRequestId: pullRequestId!,
|
|
399
401
|
commitHash: commitHash!,
|
|
400
402
|
statusMessage: statusMessage!,
|
|
403
|
+
statusChangedAt: OneUptimeDate.getCurrentDate(),
|
|
401
404
|
logs: logs?.join("\n") || "",
|
|
402
405
|
},
|
|
403
406
|
props: {
|
|
@@ -840,7 +840,7 @@ export default class StatusPageAPI extends BaseAPI<
|
|
|
840
840
|
query: {
|
|
841
841
|
statusPages: objectId as any,
|
|
842
842
|
showAnnouncementAt: QueryHelper.lessThan(today),
|
|
843
|
-
endAnnouncementAt: QueryHelper.
|
|
843
|
+
endAnnouncementAt: QueryHelper.greaterThanOrNull(today),
|
|
844
844
|
projectId: statusPage.projectId!,
|
|
845
845
|
},
|
|
846
846
|
select: {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class MigrationName1725551629492 implements MigrationInterface {
|
|
4
|
+
public name = "MigrationName1725551629492";
|
|
5
|
+
|
|
6
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
await queryRunner.query(
|
|
8
|
+
`ALTER TABLE "CopilotAction" DROP COLUMN "filePath"`,
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
13
|
+
await queryRunner.query(
|
|
14
|
+
`ALTER TABLE "CopilotAction" ADD "filePath" character varying NOT NULL`,
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class MigrationName1725556630384 implements MigrationInterface {
|
|
4
|
+
public name = "MigrationName1725556630384";
|
|
5
|
+
|
|
6
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
await queryRunner.query(
|
|
8
|
+
`ALTER TABLE "BillingInvoice" ADD "invoiceDate" TIMESTAMP WITH TIME ZONE`,
|
|
9
|
+
);
|
|
10
|
+
await queryRunner.query(
|
|
11
|
+
`ALTER TABLE "BillingInvoice" ADD "invoiceNumber" character varying(500)`,
|
|
12
|
+
);
|
|
13
|
+
await queryRunner.query(
|
|
14
|
+
`ALTER TABLE "CopilotAction" ADD "statusChangedAt" TIMESTAMP WITH TIME ZONE`,
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
19
|
+
await queryRunner.query(
|
|
20
|
+
`ALTER TABLE "CopilotAction" DROP COLUMN "statusChangedAt"`,
|
|
21
|
+
);
|
|
22
|
+
await queryRunner.query(
|
|
23
|
+
`ALTER TABLE "BillingInvoice" DROP COLUMN "invoiceNumber"`,
|
|
24
|
+
);
|
|
25
|
+
await queryRunner.query(
|
|
26
|
+
`ALTER TABLE "BillingInvoice" DROP COLUMN "invoiceDate"`,
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class MigrationName1725618842598 implements MigrationInterface {
|
|
4
|
+
public name = "MigrationName1725618842598";
|
|
5
|
+
|
|
6
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
await queryRunner.query(
|
|
8
|
+
`ALTER TABLE "StatusPageAnnouncement" ALTER COLUMN "endAnnouncementAt" DROP NOT NULL`,
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
13
|
+
await queryRunner.query(
|
|
14
|
+
`ALTER TABLE "StatusPageAnnouncement" ALTER COLUMN "endAnnouncementAt" SET NOT NULL`,
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -48,6 +48,9 @@ import { MigrationName1725291476867 } from "./1725291476867-MigrationName";
|
|
|
48
48
|
import { MigrationName1725357719072 } from "./1725357719072-MigrationName";
|
|
49
49
|
import { MigrationName1725360199561 } from "./1725360199561-MigrationName";
|
|
50
50
|
import { MigrationName1725379949648 } from "./1725379949648-MigrationName";
|
|
51
|
+
import { MigrationName1725551629492 } from "./1725551629492-MigrationName";
|
|
52
|
+
import { MigrationName1725556630384 } from "./1725556630384-MigrationName";
|
|
53
|
+
import { MigrationName1725618842598 } from "./1725618842598-MigrationName";
|
|
51
54
|
|
|
52
55
|
export default [
|
|
53
56
|
InitialMigration,
|
|
@@ -100,4 +103,7 @@ export default [
|
|
|
100
103
|
MigrationName1725357719072,
|
|
101
104
|
MigrationName1725360199561,
|
|
102
105
|
MigrationName1725379949648,
|
|
106
|
+
MigrationName1725551629492,
|
|
107
|
+
MigrationName1725556630384,
|
|
108
|
+
MigrationName1725618842598,
|
|
103
109
|
];
|
|
@@ -77,6 +77,8 @@ export class Service extends DatabaseService<Model> {
|
|
|
77
77
|
billingInvoice.status =
|
|
78
78
|
(invoice.status as InvoiceStatus) || InvoiceStatus.Undefined;
|
|
79
79
|
billingInvoice.paymentProviderInvoiceId = invoice.id;
|
|
80
|
+
billingInvoice.invoiceDate = invoice.invoiceDate;
|
|
81
|
+
billingInvoice.invoiceNumber = invoice.invoiceNumber || "Unknown";
|
|
80
82
|
|
|
81
83
|
await this.create({
|
|
82
84
|
data: billingInvoice,
|
|
@@ -35,6 +35,8 @@ export interface Invoice {
|
|
|
35
35
|
status: string;
|
|
36
36
|
downloadableLink: string;
|
|
37
37
|
customerId: string | undefined;
|
|
38
|
+
invoiceDate: Date;
|
|
39
|
+
invoiceNumber: string | undefined;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
export class BillingService extends BaseService {
|
|
@@ -693,17 +695,30 @@ export class BillingService extends BaseService {
|
|
|
693
695
|
limit: 100,
|
|
694
696
|
});
|
|
695
697
|
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
698
|
+
let billingInvoices: Array<Invoice> = invoices.data.map(
|
|
699
|
+
(invoice: Stripe.Invoice) => {
|
|
700
|
+
return {
|
|
701
|
+
id: invoice.id!,
|
|
702
|
+
amount: invoice.amount_due,
|
|
703
|
+
currencyCode: invoice.currency,
|
|
704
|
+
subscriptionId: invoice.subscription?.toString() || undefined,
|
|
705
|
+
status: invoice.status?.toString() || "Unknown",
|
|
706
|
+
downloadableLink: invoice.invoice_pdf?.toString() || "",
|
|
707
|
+
customerId: invoice.customer?.toString() || "",
|
|
708
|
+
invoiceDate: invoice.created
|
|
709
|
+
? new Date(invoice.created * 1000)
|
|
710
|
+
: OneUptimeDate.getCurrentDate(),
|
|
711
|
+
invoiceNumber: invoice.number || undefined,
|
|
712
|
+
};
|
|
713
|
+
},
|
|
714
|
+
);
|
|
715
|
+
|
|
716
|
+
// sort by date in descending order.
|
|
717
|
+
billingInvoices = billingInvoices.sort((a: Invoice, b: Invoice) => {
|
|
718
|
+
return a.invoiceDate.getTime() - b.invoiceDate.getTime();
|
|
706
719
|
});
|
|
720
|
+
|
|
721
|
+
return billingInvoices;
|
|
707
722
|
}
|
|
708
723
|
|
|
709
724
|
public async generateInvoiceAndChargeCustomer(
|
|
@@ -770,6 +785,10 @@ export class BillingService extends BaseService {
|
|
|
770
785
|
status: invoice.status?.toString() || "Unknown",
|
|
771
786
|
downloadableLink: invoice.invoice_pdf?.toString() || "",
|
|
772
787
|
customerId: invoice.customer?.toString() || "",
|
|
788
|
+
invoiceDate: invoice.created
|
|
789
|
+
? new Date(invoice.created * 1000)
|
|
790
|
+
: OneUptimeDate.getCurrentDate(),
|
|
791
|
+
invoiceNumber: invoice.number || undefined,
|
|
773
792
|
};
|
|
774
793
|
}
|
|
775
794
|
|
|
@@ -18,10 +18,8 @@ import { CompressionAlgorithm } from "@opentelemetry/otlp-exporter-base";
|
|
|
18
18
|
import { Resource } from "@opentelemetry/resources";
|
|
19
19
|
import {
|
|
20
20
|
BatchLogRecordProcessor,
|
|
21
|
-
ConsoleLogRecordExporter,
|
|
22
21
|
LoggerProvider,
|
|
23
22
|
LogRecordProcessor,
|
|
24
|
-
SimpleLogRecordProcessor,
|
|
25
23
|
} from "@opentelemetry/sdk-logs";
|
|
26
24
|
import {
|
|
27
25
|
MeterProvider,
|
|
@@ -167,9 +165,7 @@ export default class Telemetry {
|
|
|
167
165
|
}),
|
|
168
166
|
});
|
|
169
167
|
|
|
170
|
-
let logRecordProcessor: LogRecordProcessor =
|
|
171
|
-
new ConsoleLogRecordExporter(),
|
|
172
|
-
);
|
|
168
|
+
let logRecordProcessor: LogRecordProcessor | null = null;
|
|
173
169
|
|
|
174
170
|
if (this.getOltpLogsEndpoint() && hasHeaders) {
|
|
175
171
|
const logExporter: OTLPLogExporter = new OTLPLogExporter({
|
|
@@ -181,7 +177,9 @@ export default class Telemetry {
|
|
|
181
177
|
logRecordProcessor = new BatchLogRecordProcessor(logExporter);
|
|
182
178
|
}
|
|
183
179
|
|
|
184
|
-
|
|
180
|
+
if (logRecordProcessor) {
|
|
181
|
+
this.loggerProvider.addLogRecordProcessor(logRecordProcessor);
|
|
182
|
+
}
|
|
185
183
|
|
|
186
184
|
logs.setGlobalLoggerProvider(this.loggerProvider);
|
|
187
185
|
|
|
@@ -1230,9 +1230,12 @@ describe("BillingService", () => {
|
|
|
1230
1230
|
downloadableLink: "",
|
|
1231
1231
|
status: "paid",
|
|
1232
1232
|
subscriptionId: invoice.subscription,
|
|
1233
|
+
invoiceNumber: invoice.number,
|
|
1234
|
+
invoiceDate: new Date(invoice.created * 1000),
|
|
1233
1235
|
};
|
|
1234
1236
|
}),
|
|
1235
1237
|
);
|
|
1238
|
+
|
|
1236
1239
|
expect(mockStripe.invoices.list).toHaveBeenCalledWith({
|
|
1237
1240
|
customer: customerId,
|
|
1238
1241
|
limit: 100,
|
|
@@ -1428,6 +1431,8 @@ describe("BillingService", () => {
|
|
|
1428
1431
|
status: mockPaidInvoice.status,
|
|
1429
1432
|
downloadableLink: "",
|
|
1430
1433
|
subscriptionId: mockPaidInvoice.subscription,
|
|
1434
|
+
invoiceNumber: mockPaidInvoice.number,
|
|
1435
|
+
invoiceDate: new Date(mockPaidInvoice.created * 1000),
|
|
1431
1436
|
});
|
|
1432
1437
|
expect(mockStripe.invoices.pay).toHaveBeenCalledWith(
|
|
1433
1438
|
mockPaidInvoice.id,
|
|
@@ -107,6 +107,8 @@ const getStripeInvoice: GetStripeInvoiceFunction = (): Stripe.Invoice => {
|
|
|
107
107
|
currency: "usd",
|
|
108
108
|
customer: Faker.generateRandomObjectID().toString(),
|
|
109
109
|
subscription: Faker.generateRandomObjectID().toString(),
|
|
110
|
+
created: new Date().getTime() / 1000,
|
|
111
|
+
number: Faker.generateRandomString(),
|
|
110
112
|
status: "paid",
|
|
111
113
|
};
|
|
112
114
|
};
|
package/Types/File/MimeType.ts
CHANGED
|
@@ -28,6 +28,7 @@ export interface ComponentProps {
|
|
|
28
28
|
color?: Color | undefined;
|
|
29
29
|
id?: string | undefined;
|
|
30
30
|
textOnRight?: string | undefined;
|
|
31
|
+
size?: AlertSize | undefined;
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
const Alert: FunctionComponent<ComponentProps> = (
|
|
@@ -48,7 +49,7 @@ const Alert: FunctionComponent<ComponentProps> = (
|
|
|
48
49
|
hover: "hover:bg-red-600",
|
|
49
50
|
},
|
|
50
51
|
[AlertType.INFO]: {
|
|
51
|
-
text: "text-
|
|
52
|
+
text: "text-white",
|
|
52
53
|
bg: "bg-gray-700",
|
|
53
54
|
hover: "hover:bg-gray-600",
|
|
54
55
|
},
|
|
@@ -64,11 +65,14 @@ const Alert: FunctionComponent<ComponentProps> = (
|
|
|
64
65
|
},
|
|
65
66
|
};
|
|
66
67
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
let textClassName: string = typeClassNames[type].text;
|
|
69
|
+
const bgClassName: string = typeClassNames[type].bg;
|
|
70
|
+
const hoverClassName: string = typeClassNames[type].hover;
|
|
71
|
+
|
|
72
|
+
if (props.size === AlertSize.Large) {
|
|
73
|
+
// Add large size classes
|
|
74
|
+
textClassName += " text-lg";
|
|
75
|
+
}
|
|
72
76
|
|
|
73
77
|
return (
|
|
74
78
|
<div
|
|
@@ -112,7 +116,7 @@ const Alert: FunctionComponent<ComponentProps> = (
|
|
|
112
116
|
className={`alert-text ml-3 mr-3 flex-1 md:flex md:justify-between ${props.textClassName}`}
|
|
113
117
|
>
|
|
114
118
|
<div
|
|
115
|
-
className={`alert-message text-sm flex justify-between ${textClassName}`}
|
|
119
|
+
className={`alert-message text-sm flex justify-between w-full ${textClassName}`}
|
|
116
120
|
>
|
|
117
121
|
<div>
|
|
118
122
|
<span className="font-medium">
|
|
@@ -152,7 +152,13 @@ const FilePicker: FunctionComponent<ComponentProps> = (
|
|
|
152
152
|
/>
|
|
153
153
|
</div>
|
|
154
154
|
<div>
|
|
155
|
-
<img
|
|
155
|
+
<img
|
|
156
|
+
src={url}
|
|
157
|
+
className="rounded"
|
|
158
|
+
style={{
|
|
159
|
+
height: "100px",
|
|
160
|
+
}}
|
|
161
|
+
/>
|
|
156
162
|
</div>
|
|
157
163
|
</div>
|
|
158
164
|
);
|
|
@@ -514,7 +514,7 @@ const FormField: <T extends GenericObject>(
|
|
|
514
514
|
}}
|
|
515
515
|
mimeTypes={
|
|
516
516
|
props.field.fieldType === FormFieldSchemaType.ImageFile
|
|
517
|
-
? [MimeType.png, MimeType.jpeg, MimeType.jpg]
|
|
517
|
+
? [MimeType.png, MimeType.jpeg, MimeType.jpg, MimeType.svg]
|
|
518
518
|
: []
|
|
519
519
|
}
|
|
520
520
|
dataTestId={props.field.dataTestId}
|
package/Utils/CronTime.ts
CHANGED
|
@@ -6,3 +6,4 @@ export const EVERY_FIVE_SECONDS: string = "*/5 * * * * *";
|
|
|
6
6
|
export const EVERY_WEEK: string = "0 0 * * 0";
|
|
7
7
|
export const EVERY_FIFTEEN_MINUTE: string = "*/15 * * * *";
|
|
8
8
|
export const EVERY_THIRTY_SECONDS: string = "*/30 * * * * *";
|
|
9
|
+
export const EVERY_THIRTY_MINUTES: string = "*/30 * * * *";
|
|
@@ -52,6 +52,8 @@ let BillingInvoice = class BillingInvoice extends BaseModel {
|
|
|
52
52
|
this.paymentProviderCustomerId = undefined;
|
|
53
53
|
this.paymentProviderSubscriptionId = undefined;
|
|
54
54
|
this.paymentProviderInvoiceId = undefined;
|
|
55
|
+
this.invoiceDate = undefined;
|
|
56
|
+
this.invoiceNumber = undefined;
|
|
55
57
|
}
|
|
56
58
|
};
|
|
57
59
|
__decorate([
|
|
@@ -339,6 +341,41 @@ __decorate([
|
|
|
339
341
|
}),
|
|
340
342
|
__metadata("design:type", String)
|
|
341
343
|
], BillingInvoice.prototype, "paymentProviderInvoiceId", void 0);
|
|
344
|
+
__decorate([
|
|
345
|
+
ColumnAccessControl({
|
|
346
|
+
create: [],
|
|
347
|
+
read: [
|
|
348
|
+
Permission.ProjectOwner,
|
|
349
|
+
Permission.ProjectAdmin,
|
|
350
|
+
Permission.ReadInvoices,
|
|
351
|
+
],
|
|
352
|
+
update: [],
|
|
353
|
+
}),
|
|
354
|
+
TableColumn({ type: TableColumnType.Date }),
|
|
355
|
+
Column({
|
|
356
|
+
type: ColumnType.Date,
|
|
357
|
+
nullable: true,
|
|
358
|
+
}),
|
|
359
|
+
__metadata("design:type", Date)
|
|
360
|
+
], BillingInvoice.prototype, "invoiceDate", void 0);
|
|
361
|
+
__decorate([
|
|
362
|
+
ColumnAccessControl({
|
|
363
|
+
create: [],
|
|
364
|
+
read: [
|
|
365
|
+
Permission.ProjectOwner,
|
|
366
|
+
Permission.ProjectAdmin,
|
|
367
|
+
Permission.ReadInvoices,
|
|
368
|
+
],
|
|
369
|
+
update: [],
|
|
370
|
+
}),
|
|
371
|
+
TableColumn({ type: TableColumnType.LongText }),
|
|
372
|
+
Column({
|
|
373
|
+
type: ColumnType.LongText,
|
|
374
|
+
length: ColumnLength.LongText,
|
|
375
|
+
nullable: true,
|
|
376
|
+
}),
|
|
377
|
+
__metadata("design:type", String)
|
|
378
|
+
], BillingInvoice.prototype, "invoiceNumber", void 0);
|
|
342
379
|
BillingInvoice = __decorate([
|
|
343
380
|
AllowAccessIfSubscriptionIsUnpaid(),
|
|
344
381
|
TenantColumn("projectId"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingInvoice.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/BillingInvoice.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,iCAAiC,MAAM,sEAAsE,CAAC;AACrH,OAAO,mBAAmB,MAAM,wDAAwD,CAAC;AACzF,OAAO,kBAAkB,MAAM,uDAAuD,CAAC;AACvF,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,UAAU,MAAM,iCAAiC,CAAC;AACzD,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAC3D,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,CAAN,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,gDAA+B,CAAA;IAC/B,oCAAmB,CAAA;IACnB,8BAAa,CAAA;IACb,+BAAc,CAAA;AAChB,CAAC,EARW,aAAa,KAAb,aAAa,QAQxB;AAyBc,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,SAAS;IAAtC;;QA6BN,YAAO,GAAa,SAAS,CAAC;QAwB9B,cAAS,GAAc,SAAS,CAAC;QA+BjC,kBAAa,GAAU,SAAS,CAAC;QAsBjC,oBAAe,GAAc,SAAS,CAAC;QA+BvC,kBAAa,GAAU,SAAS,CAAC;QAsBjC,oBAAe,GAAc,SAAS,CAAC;QAiBvC,WAAM,GAAY,SAAS,CAAC;QAkB5B,iBAAY,GAAY,SAAS,CAAC;QAkBlC,qBAAgB,GAAS,SAAS,CAAC;QAkBnC,WAAM,GAAmB,SAAS,CAAC;QAkBnC,8BAAyB,GAAY,SAAS,CAAC;QAkB/C,kCAA6B,GAAY,SAAS,CAAC;QAkBnD,6BAAwB,GAAY,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"BillingInvoice.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/BillingInvoice.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,7 @@ let CopilotAction = class CopilotAction extends BaseModel {
|
|
|
57
57
|
this.logs = undefined;
|
|
58
58
|
// When this is true. Copilot tries to run this action as soon as possible.
|
|
59
59
|
this.isPriority = undefined;
|
|
60
|
+
this.statusChangedAt = undefined;
|
|
60
61
|
}
|
|
61
62
|
};
|
|
62
63
|
__decorate([
|
|
@@ -706,6 +707,39 @@ __decorate([
|
|
|
706
707
|
}),
|
|
707
708
|
__metadata("design:type", String)
|
|
708
709
|
], CopilotAction.prototype, "isPriority", void 0);
|
|
710
|
+
__decorate([
|
|
711
|
+
ColumnAccessControl({
|
|
712
|
+
create: [
|
|
713
|
+
Permission.ProjectOwner,
|
|
714
|
+
Permission.ProjectAdmin,
|
|
715
|
+
Permission.ProjectMember,
|
|
716
|
+
Permission.CreateCopilotAction,
|
|
717
|
+
],
|
|
718
|
+
read: [
|
|
719
|
+
Permission.ProjectOwner,
|
|
720
|
+
Permission.ProjectAdmin,
|
|
721
|
+
Permission.ProjectMember,
|
|
722
|
+
Permission.ReadCopilotAction,
|
|
723
|
+
],
|
|
724
|
+
update: [
|
|
725
|
+
Permission.ProjectOwner,
|
|
726
|
+
Permission.ProjectAdmin,
|
|
727
|
+
Permission.ProjectMember,
|
|
728
|
+
Permission.EditCopilotAction,
|
|
729
|
+
],
|
|
730
|
+
}),
|
|
731
|
+
TableColumn({
|
|
732
|
+
required: false,
|
|
733
|
+
type: TableColumnType.Date,
|
|
734
|
+
title: "Status Changed at",
|
|
735
|
+
description: "When the status of this action was changed",
|
|
736
|
+
}),
|
|
737
|
+
Column({
|
|
738
|
+
nullable: true,
|
|
739
|
+
type: ColumnType.Date,
|
|
740
|
+
}),
|
|
741
|
+
__metadata("design:type", Date)
|
|
742
|
+
], CopilotAction.prototype, "statusChangedAt", void 0);
|
|
709
743
|
CopilotAction = __decorate([
|
|
710
744
|
CanAccessIfCanReadOn("codeRepository"),
|
|
711
745
|
EnableDocumentation(),
|