Files
Minikura/apps/backend/src/application/services/reverse-proxy.service.ts
T

69 lines
1.8 KiB
TypeScript
Raw Normal View History

2026-02-17 18:12:02 +07:00
import type { ReverseProxyWithEnvVars } from "@minikura/db";
2026-02-13 15:52:13 +07:00
import {
ReverseProxyCreatedEvent,
ReverseProxyDeletedEvent,
ReverseProxyUpdatedEvent,
} from "../../domain/events/reverse-proxy-lifecycle.events";
import type {
ReverseProxyCreateInput,
ReverseProxyRepository,
ReverseProxyUpdateInput,
} from "../../domain/repositories/reverse-proxy.repository";
2026-02-17 18:12:02 +07:00
import type { IReverseProxyService } from "../interfaces/reverse-proxy.service.interface";
import { BaseCrudService } from "./base-crud.service";
2026-02-13 15:52:13 +07:00
2026-02-17 18:12:02 +07:00
export class ReverseProxyService
extends BaseCrudService<
ReverseProxyWithEnvVars,
ReverseProxyCreateInput,
ReverseProxyUpdateInput,
ReverseProxyRepository,
{
created: typeof ReverseProxyCreatedEvent;
updated: typeof ReverseProxyUpdatedEvent;
deleted: typeof ReverseProxyDeletedEvent;
2026-02-13 15:52:13 +07:00
}
2026-02-17 18:12:02 +07:00
>
implements IReverseProxyService
{
constructor(reverseProxyRepo: ReverseProxyRepository) {
super(
reverseProxyRepo,
{
created: ReverseProxyCreatedEvent,
updated: ReverseProxyUpdatedEvent,
deleted: ReverseProxyDeletedEvent,
},
"ReverseProxyServer"
2026-02-13 15:52:13 +07:00
);
}
2026-02-17 18:12:02 +07:00
protected getEntityType(input: ReverseProxyCreateInput) {
return input.type || "VELOCITY";
2026-02-13 15:52:13 +07:00
}
2026-02-17 18:12:02 +07:00
protected getInputId(input: ReverseProxyCreateInput): string {
return typeof input.id === "string" ? input.id : String(input.id);
2026-02-13 15:52:13 +07:00
}
2026-02-17 18:12:02 +07:00
getAllReverseProxies(omitSensitive = false) {
return this.getAll(omitSensitive);
2026-02-13 15:52:13 +07:00
}
2026-02-17 18:12:02 +07:00
getReverseProxyById(id: string, omitSensitive = false) {
return this.getById(id, omitSensitive);
2026-02-13 15:52:13 +07:00
}
2026-02-17 18:12:02 +07:00
createReverseProxy(input: ReverseProxyCreateInput) {
return this.create(input);
}
updateReverseProxy(id: string, input: ReverseProxyUpdateInput) {
return this.update(id, input);
}
deleteReverseProxy(id: string) {
return this.delete(id);
2026-02-13 15:52:13 +07:00
}
}