Skip to content

Commit 30c8f1a

Browse files
committed
feat: add responseHeaders to ExternalSquad model and update related services
1 parent decd046 commit 30c8f1a

File tree

16 files changed

+62
-8
lines changed

16 files changed

+62
-8
lines changed

libs/contract/commands/external-squads/update-external-squad.command.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { z } from 'zod';
22

33
import {
44
ExternalSquadHostOverridesSchema,
5+
ExternalSquadResponseHeadersSchema,
56
ExternalSquadSchema,
67
ExternalSquadSubscriptionSettingsSchema,
78
} from '../../models';
@@ -39,6 +40,7 @@ export namespace UpdateExternalSquadCommand {
3940
.optional(),
4041
subscriptionSettings: ExternalSquadSubscriptionSettingsSchema.optional(),
4142
hostOverrides: ExternalSquadHostOverridesSchema.optional(),
43+
responseHeaders: ExternalSquadResponseHeadersSchema.optional(),
4244
});
4345

4446
export type Request = z.infer<typeof RequestSchema>;

libs/contract/models/external-squad.schema.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { z } from 'zod';
33
import {
44
ExternalSquadSubscriptionSettingsSchema,
55
ExternalSquadHostOverridesSchema,
6+
ExternalSquadResponseHeadersSchema,
67
} from './external-squads';
78
import { SUBSCRIPTION_TEMPLATE_TYPE } from '../constants';
89

@@ -22,6 +23,7 @@ export const ExternalSquadSchema = z.object({
2223
),
2324
subscriptionSettings: z.nullable(ExternalSquadSubscriptionSettingsSchema),
2425
hostOverrides: z.nullable(ExternalSquadHostOverridesSchema),
26+
responseHeaders: ExternalSquadResponseHeadersSchema,
2527

2628
createdAt: z
2729
.string()
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { z } from 'zod';
2+
3+
export const ExternalSquadResponseHeadersSchema = z.nullable(z.record(z.string(), z.string()));
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
export * from './external-squad-host-overrides.schema';
2+
export * from './external-squad-response-headers.schema';
23
export * from './external-squad-subscription-settings.schema';

libs/contract/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@remnawave/backend-contract",
3-
"version": "2.2.32",
3+
"version": "2.2.34",
44
"public": true,
55
"license": "AGPL-3.0-only",
66
"description": "A contract library for Remnawave Backend. It can be used in backend and frontend.",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-- AlterTable
2+
ALTER TABLE "public"."external_squads" ADD COLUMN "response_headers" JSONB,
3+
ALTER COLUMN "created_at" SET DEFAULT now(),
4+
ALTER COLUMN "updated_at" SET DEFAULT now();

prisma/schema.prisma

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,7 @@ model ExternalSquads {
549549
name String @unique @map("name") @db.VarChar(30)
550550
subscriptionSettings Json? @map("subscription_settings")
551551
hostOverrides Json? @map("host_overrides")
552+
responseHeaders Json? @map("response_headers")
552553
553554
createdAt DateTime @default(dbgenerated("now()")) @map("created_at")
554555
updatedAt DateTime @default(dbgenerated("now()")) @updatedAt @map("updated_at")

src/modules/external-squads/entities/external-squad-with-info.entity.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import z from 'zod';
33

44
import {
55
ExternalSquadHostOverridesSchema,
6+
ExternalSquadResponseHeadersSchema,
67
ExternalSquadSubscriptionSettingsSchema,
78
} from '@libs/contracts/models';
89
import { TSubscriptionTemplateType } from '@libs/contracts/constants';
@@ -20,6 +21,7 @@ export class ExternalSquadWithInfoEntity implements ExternalSquads {
2021

2122
public subscriptionSettings: z.infer<typeof ExternalSquadSubscriptionSettingsSchema> | null;
2223
public hostOverrides: z.infer<typeof ExternalSquadHostOverridesSchema> | null;
24+
public responseHeaders: z.infer<typeof ExternalSquadResponseHeadersSchema> | null;
2325

2426
public createdAt: Date;
2527
public updatedAt: Date;

src/modules/external-squads/entities/external-squad.entity.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import z from 'zod';
33

44
import {
55
ExternalSquadHostOverridesSchema,
6+
ExternalSquadResponseHeadersSchema,
67
ExternalSquadSubscriptionSettingsSchema,
78
} from '@libs/contracts/models';
89

@@ -12,6 +13,7 @@ export class ExternalSquadEntity implements ExternalSquads {
1213

1314
public subscriptionSettings: z.infer<typeof ExternalSquadSubscriptionSettingsSchema> | null;
1415
public hostOverrides: z.infer<typeof ExternalSquadHostOverridesSchema> | null;
16+
public responseHeaders: z.infer<typeof ExternalSquadResponseHeadersSchema> | null;
1517

1618
public createdAt: Date;
1719
public updatedAt: Date;

src/modules/external-squads/external-squads.converter.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const entityToModel = (entity: ExternalSquadEntity): ExternalSquads => {
1616
name: entity.name,
1717
subscriptionSettings: entity.subscriptionSettings,
1818
hostOverrides: entity.hostOverrides,
19+
responseHeaders: entity.responseHeaders,
1920
createdAt: entity.createdAt,
2021
updatedAt: entity.updatedAt,
2122
};

0 commit comments

Comments
 (0)