@connexia/application 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +190 -0
- package/dist/commands/command-dispatcher.d.ts +10 -0
- package/dist/commands/command-dispatcher.d.ts.map +1 -0
- package/dist/commands/command-dispatcher.js +16 -0
- package/dist/commands/command-dispatcher.js.map +1 -0
- package/dist/commands/command-dispatcher.test.d.ts +2 -0
- package/dist/commands/command-dispatcher.test.d.ts.map +1 -0
- package/dist/commands/command-dispatcher.test.js +32 -0
- package/dist/commands/command-dispatcher.test.js.map +1 -0
- package/dist/commands/command.d.ts +18 -0
- package/dist/commands/command.d.ts.map +1 -0
- package/dist/commands/command.js +9 -0
- package/dist/commands/command.js.map +1 -0
- package/dist/commands/command.test.d.ts +2 -0
- package/dist/commands/command.test.d.ts.map +1 -0
- package/dist/commands/command.test.js +25 -0
- package/dist/commands/command.test.js.map +1 -0
- package/dist/context/application-context.d.ts +30 -0
- package/dist/context/application-context.d.ts.map +1 -0
- package/dist/context/application-context.js +15 -0
- package/dist/context/application-context.js.map +1 -0
- package/dist/context/application-context.test.d.ts +2 -0
- package/dist/context/application-context.test.d.ts.map +1 -0
- package/dist/context/application-context.test.js +36 -0
- package/dist/context/application-context.test.js.map +1 -0
- package/dist/contracts/contracts.d.ts +45 -0
- package/dist/contracts/contracts.d.ts.map +1 -0
- package/dist/contracts/contracts.js +2 -0
- package/dist/contracts/contracts.js.map +1 -0
- package/dist/errors/application-errors.d.ts +63 -0
- package/dist/errors/application-errors.d.ts.map +1 -0
- package/dist/errors/application-errors.js +22 -0
- package/dist/errors/application-errors.js.map +1 -0
- package/dist/events/domain-event-middleware.d.ts +16 -0
- package/dist/events/domain-event-middleware.d.ts.map +1 -0
- package/dist/events/domain-event-middleware.js +19 -0
- package/dist/events/domain-event-middleware.js.map +1 -0
- package/dist/handlers/handler-registry.d.ts +16 -0
- package/dist/handlers/handler-registry.d.ts.map +1 -0
- package/dist/handlers/handler-registry.js +29 -0
- package/dist/handlers/handler-registry.js.map +1 -0
- package/dist/handlers/handler-registry.test.d.ts +2 -0
- package/dist/handlers/handler-registry.test.d.ts.map +1 -0
- package/dist/handlers/handler-registry.test.js +33 -0
- package/dist/handlers/handler-registry.test.js.map +1 -0
- package/dist/idempotency/idempotency-middleware.d.ts +17 -0
- package/dist/idempotency/idempotency-middleware.d.ts.map +1 -0
- package/dist/idempotency/idempotency-middleware.js +33 -0
- package/dist/idempotency/idempotency-middleware.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/event-adapter.d.ts +26 -0
- package/dist/infrastructure/event-adapter.d.ts.map +1 -0
- package/dist/infrastructure/event-adapter.js +35 -0
- package/dist/infrastructure/event-adapter.js.map +1 -0
- package/dist/infrastructure/event-publisher.d.ts +27 -0
- package/dist/infrastructure/event-publisher.d.ts.map +1 -0
- package/dist/infrastructure/event-publisher.js +79 -0
- package/dist/infrastructure/event-publisher.js.map +1 -0
- package/dist/infrastructure/execution-metrics.d.ts +15 -0
- package/dist/infrastructure/execution-metrics.d.ts.map +1 -0
- package/dist/infrastructure/execution-metrics.js +47 -0
- package/dist/infrastructure/execution-metrics.js.map +1 -0
- package/dist/infrastructure/idempotency-store.d.ts +24 -0
- package/dist/infrastructure/idempotency-store.d.ts.map +1 -0
- package/dist/infrastructure/idempotency-store.js +43 -0
- package/dist/infrastructure/idempotency-store.js.map +1 -0
- package/dist/infrastructure/index.d.ts +7 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +7 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/infrastructure-config.d.ts +12 -0
- package/dist/infrastructure/infrastructure-config.d.ts.map +1 -0
- package/dist/infrastructure/infrastructure-config.js +22 -0
- package/dist/infrastructure/infrastructure-config.js.map +1 -0
- package/dist/infrastructure/transaction-manager.d.ts +6 -0
- package/dist/infrastructure/transaction-manager.d.ts.map +1 -0
- package/dist/infrastructure/transaction-manager.js +7 -0
- package/dist/infrastructure/transaction-manager.js.map +1 -0
- package/dist/pipeline/execution-pipeline.d.ts +10 -0
- package/dist/pipeline/execution-pipeline.d.ts.map +1 -0
- package/dist/pipeline/execution-pipeline.js +32 -0
- package/dist/pipeline/execution-pipeline.js.map +1 -0
- package/dist/pipeline/execution-pipeline.test.d.ts +2 -0
- package/dist/pipeline/execution-pipeline.test.d.ts.map +1 -0
- package/dist/pipeline/execution-pipeline.test.js +53 -0
- package/dist/pipeline/execution-pipeline.test.js.map +1 -0
- package/dist/queries/query-dispatcher.d.ts +10 -0
- package/dist/queries/query-dispatcher.d.ts.map +1 -0
- package/dist/queries/query-dispatcher.js +16 -0
- package/dist/queries/query-dispatcher.js.map +1 -0
- package/dist/queries/query-dispatcher.test.d.ts +2 -0
- package/dist/queries/query-dispatcher.test.d.ts.map +1 -0
- package/dist/queries/query-dispatcher.test.js +32 -0
- package/dist/queries/query-dispatcher.test.js.map +1 -0
- package/dist/queries/query.d.ts +18 -0
- package/dist/queries/query.d.ts.map +1 -0
- package/dist/queries/query.js +9 -0
- package/dist/queries/query.js.map +1 -0
- package/dist/results/execution-result.d.ts +18 -0
- package/dist/results/execution-result.d.ts.map +1 -0
- package/dist/results/execution-result.js +4 -0
- package/dist/results/execution-result.js.map +1 -0
- package/dist/runtime/application-runtime.d.ts +41 -0
- package/dist/runtime/application-runtime.d.ts.map +1 -0
- package/dist/runtime/application-runtime.js +135 -0
- package/dist/runtime/application-runtime.js.map +1 -0
- package/dist/runtime/application-runtime.test.d.ts +2 -0
- package/dist/runtime/application-runtime.test.d.ts.map +1 -0
- package/dist/runtime/application-runtime.test.js +91 -0
- package/dist/runtime/application-runtime.test.js.map +1 -0
- package/dist/shared/index.d.ts +12 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +6 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/transactions/transaction-middleware.d.ts +16 -0
- package/dist/transactions/transaction-middleware.d.ts.map +1 -0
- package/dist/transactions/transaction-middleware.js +26 -0
- package/dist/transactions/transaction-middleware.js.map +1 -0
- package/dist/usecases/audit/get-audit-event-count.d.ts +23 -0
- package/dist/usecases/audit/get-audit-event-count.d.ts.map +1 -0
- package/dist/usecases/audit/get-audit-event-count.js +19 -0
- package/dist/usecases/audit/get-audit-event-count.js.map +1 -0
- package/dist/usecases/audit/get-audit-events-by-resource.d.ts +33 -0
- package/dist/usecases/audit/get-audit-events-by-resource.d.ts.map +1 -0
- package/dist/usecases/audit/get-audit-events-by-resource.js +20 -0
- package/dist/usecases/audit/get-audit-events-by-resource.js.map +1 -0
- package/dist/usecases/audit/index.d.ts +4 -0
- package/dist/usecases/audit/index.d.ts.map +1 -0
- package/dist/usecases/audit/index.js +4 -0
- package/dist/usecases/audit/index.js.map +1 -0
- package/dist/usecases/audit/list-audit-events.d.ts +35 -0
- package/dist/usecases/audit/list-audit-events.d.ts.map +1 -0
- package/dist/usecases/audit/list-audit-events.js +20 -0
- package/dist/usecases/audit/list-audit-events.js.map +1 -0
- package/dist/usecases/build/cancel-build.d.ts +24 -0
- package/dist/usecases/build/cancel-build.d.ts.map +1 -0
- package/dist/usecases/build/cancel-build.js +19 -0
- package/dist/usecases/build/cancel-build.js.map +1 -0
- package/dist/usecases/build/get-build.d.ts +26 -0
- package/dist/usecases/build/get-build.d.ts.map +1 -0
- package/dist/usecases/build/get-build.js +19 -0
- package/dist/usecases/build/get-build.js.map +1 -0
- package/dist/usecases/build/index.d.ts +5 -0
- package/dist/usecases/build/index.d.ts.map +1 -0
- package/dist/usecases/build/index.js +5 -0
- package/dist/usecases/build/index.js.map +1 -0
- package/dist/usecases/build/list-builds.d.ts +32 -0
- package/dist/usecases/build/list-builds.d.ts.map +1 -0
- package/dist/usecases/build/list-builds.js +20 -0
- package/dist/usecases/build/list-builds.js.map +1 -0
- package/dist/usecases/build/trigger-build.d.ts +19 -0
- package/dist/usecases/build/trigger-build.d.ts.map +1 -0
- package/dist/usecases/build/trigger-build.js +19 -0
- package/dist/usecases/build/trigger-build.js.map +1 -0
- package/dist/usecases/deployment/create-deployment.d.ts +20 -0
- package/dist/usecases/deployment/create-deployment.d.ts.map +1 -0
- package/dist/usecases/deployment/create-deployment.js +19 -0
- package/dist/usecases/deployment/create-deployment.js.map +1 -0
- package/dist/usecases/deployment/get-deployment.d.ts +26 -0
- package/dist/usecases/deployment/get-deployment.d.ts.map +1 -0
- package/dist/usecases/deployment/get-deployment.js +19 -0
- package/dist/usecases/deployment/get-deployment.js.map +1 -0
- package/dist/usecases/deployment/index.d.ts +6 -0
- package/dist/usecases/deployment/index.d.ts.map +1 -0
- package/dist/usecases/deployment/index.js +6 -0
- package/dist/usecases/deployment/index.js.map +1 -0
- package/dist/usecases/deployment/list-deployments.d.ts +32 -0
- package/dist/usecases/deployment/list-deployments.d.ts.map +1 -0
- package/dist/usecases/deployment/list-deployments.js +20 -0
- package/dist/usecases/deployment/list-deployments.js.map +1 -0
- package/dist/usecases/deployment/promote-deployment.d.ts +26 -0
- package/dist/usecases/deployment/promote-deployment.d.ts.map +1 -0
- package/dist/usecases/deployment/promote-deployment.js +20 -0
- package/dist/usecases/deployment/promote-deployment.js.map +1 -0
- package/dist/usecases/deployment/rollback-deployment.d.ts +25 -0
- package/dist/usecases/deployment/rollback-deployment.d.ts.map +1 -0
- package/dist/usecases/deployment/rollback-deployment.js +20 -0
- package/dist/usecases/deployment/rollback-deployment.js.map +1 -0
- package/dist/usecases/environment/create-environment.d.ts +23 -0
- package/dist/usecases/environment/create-environment.d.ts.map +1 -0
- package/dist/usecases/environment/create-environment.js +19 -0
- package/dist/usecases/environment/create-environment.js.map +1 -0
- package/dist/usecases/environment/delete-environment.d.ts +23 -0
- package/dist/usecases/environment/delete-environment.d.ts.map +1 -0
- package/dist/usecases/environment/delete-environment.js +19 -0
- package/dist/usecases/environment/delete-environment.js.map +1 -0
- package/dist/usecases/environment/get-environment.d.ts +26 -0
- package/dist/usecases/environment/get-environment.d.ts.map +1 -0
- package/dist/usecases/environment/get-environment.js +19 -0
- package/dist/usecases/environment/get-environment.js.map +1 -0
- package/dist/usecases/environment/index.d.ts +6 -0
- package/dist/usecases/environment/index.d.ts.map +1 -0
- package/dist/usecases/environment/index.js +6 -0
- package/dist/usecases/environment/index.js.map +1 -0
- package/dist/usecases/environment/list-environments.d.ts +26 -0
- package/dist/usecases/environment/list-environments.d.ts.map +1 -0
- package/dist/usecases/environment/list-environments.js +22 -0
- package/dist/usecases/environment/list-environments.js.map +1 -0
- package/dist/usecases/environment/update-environment.d.ts +24 -0
- package/dist/usecases/environment/update-environment.d.ts.map +1 -0
- package/dist/usecases/environment/update-environment.js +19 -0
- package/dist/usecases/environment/update-environment.js.map +1 -0
- package/dist/usecases/index.d.ts +8 -0
- package/dist/usecases/index.d.ts.map +1 -0
- package/dist/usecases/index.js +8 -0
- package/dist/usecases/index.js.map +1 -0
- package/dist/usecases/organization/create-organization.d.ts +23 -0
- package/dist/usecases/organization/create-organization.d.ts.map +1 -0
- package/dist/usecases/organization/create-organization.js +19 -0
- package/dist/usecases/organization/create-organization.js.map +1 -0
- package/dist/usecases/organization/get-organization.d.ts +25 -0
- package/dist/usecases/organization/get-organization.d.ts.map +1 -0
- package/dist/usecases/organization/get-organization.js +19 -0
- package/dist/usecases/organization/get-organization.js.map +1 -0
- package/dist/usecases/organization/index.d.ts +4 -0
- package/dist/usecases/organization/index.d.ts.map +1 -0
- package/dist/usecases/organization/index.js +4 -0
- package/dist/usecases/organization/index.js.map +1 -0
- package/dist/usecases/organization/list-organizations.d.ts +27 -0
- package/dist/usecases/organization/list-organizations.d.ts.map +1 -0
- package/dist/usecases/organization/list-organizations.js +22 -0
- package/dist/usecases/organization/list-organizations.js.map +1 -0
- package/dist/usecases/project/create-project.d.ts +20 -0
- package/dist/usecases/project/create-project.d.ts.map +1 -0
- package/dist/usecases/project/create-project.js +19 -0
- package/dist/usecases/project/create-project.js.map +1 -0
- package/dist/usecases/project/get-project.d.ts +21 -0
- package/dist/usecases/project/get-project.d.ts.map +1 -0
- package/dist/usecases/project/get-project.js +19 -0
- package/dist/usecases/project/get-project.js.map +1 -0
- package/dist/usecases/project/index.d.ts +3 -0
- package/dist/usecases/project/index.d.ts.map +1 -0
- package/dist/usecases/project/index.js +3 -0
- package/dist/usecases/project/index.js.map +1 -0
- package/dist/usecases/secret/create-secret.d.ts +22 -0
- package/dist/usecases/secret/create-secret.d.ts.map +1 -0
- package/dist/usecases/secret/create-secret.js +19 -0
- package/dist/usecases/secret/create-secret.js.map +1 -0
- package/dist/usecases/secret/delete-secret.d.ts +23 -0
- package/dist/usecases/secret/delete-secret.d.ts.map +1 -0
- package/dist/usecases/secret/delete-secret.js +19 -0
- package/dist/usecases/secret/delete-secret.js.map +1 -0
- package/dist/usecases/secret/get-secret.d.ts +25 -0
- package/dist/usecases/secret/get-secret.d.ts.map +1 -0
- package/dist/usecases/secret/get-secret.js +19 -0
- package/dist/usecases/secret/get-secret.js.map +1 -0
- package/dist/usecases/secret/index.d.ts +6 -0
- package/dist/usecases/secret/index.d.ts.map +1 -0
- package/dist/usecases/secret/index.js +6 -0
- package/dist/usecases/secret/index.js.map +1 -0
- package/dist/usecases/secret/list-secrets.d.ts +31 -0
- package/dist/usecases/secret/list-secrets.d.ts.map +1 -0
- package/dist/usecases/secret/list-secrets.js +20 -0
- package/dist/usecases/secret/list-secrets.js.map +1 -0
- package/dist/usecases/secret/update-secret.d.ts +24 -0
- package/dist/usecases/secret/update-secret.d.ts.map +1 -0
- package/dist/usecases/secret/update-secret.js +19 -0
- package/dist/usecases/secret/update-secret.js.map +1 -0
- package/dist/validation/validation-middleware.d.ts +14 -0
- package/dist/validation/validation-middleware.d.ts.map +1 -0
- package/dist/validation/validation-middleware.js +28 -0
- package/dist/validation/validation-middleware.js.map +1 -0
- package/dist/validation/validation-middleware.test.d.ts +2 -0
- package/dist/validation/validation-middleware.test.d.ts.map +1 -0
- package/dist/validation/validation-middleware.test.js +26 -0
- package/dist/validation/validation-middleware.test.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach } from "vitest";
|
|
2
|
+
import { ApplicationRuntime } from "./application-runtime.js";
|
|
3
|
+
import { createCommand } from "../commands/command.js";
|
|
4
|
+
import { createQuery } from "../queries/query.js";
|
|
5
|
+
import { ok } from "@connexia/domain";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
describe("ApplicationRuntime", () => {
|
|
8
|
+
let runtime;
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
runtime = new ApplicationRuntime();
|
|
11
|
+
});
|
|
12
|
+
it("creates runtime with defaults", () => {
|
|
13
|
+
expect(runtime.getRegistry()).toBeDefined();
|
|
14
|
+
expect(runtime.getPipeline()).toBeDefined();
|
|
15
|
+
});
|
|
16
|
+
it("executes command through runtime", async () => {
|
|
17
|
+
const handler = {
|
|
18
|
+
commandType: "CreateProject",
|
|
19
|
+
handle: async (cmd) => ok(`Created ${cmd.input.name}`),
|
|
20
|
+
};
|
|
21
|
+
runtime.getRegistry().registerCommandHandler(handler);
|
|
22
|
+
const context = runtime.createContext({ source: "http" });
|
|
23
|
+
const command = createCommand("CreateProject", { name: "Test" });
|
|
24
|
+
const result = await runtime.executeCommand(command, context);
|
|
25
|
+
expect(result.result.ok).toBe(true);
|
|
26
|
+
expect(result.durationMs).toBeGreaterThanOrEqual(0);
|
|
27
|
+
expect(result.correlationId).toBeDefined();
|
|
28
|
+
expect(result.requestId).toBeDefined();
|
|
29
|
+
});
|
|
30
|
+
it("executes query through runtime", async () => {
|
|
31
|
+
const handler = {
|
|
32
|
+
queryType: "GetProject",
|
|
33
|
+
handle: async (query) => ok({ name: `Project ${query.input.id}` }),
|
|
34
|
+
};
|
|
35
|
+
runtime.getRegistry().registerQueryHandler(handler);
|
|
36
|
+
const context = runtime.createContext({ source: "cli" });
|
|
37
|
+
const query = createQuery("GetProject", { id: "proj-1" });
|
|
38
|
+
const result = await runtime.executeQuery(query, context);
|
|
39
|
+
expect(result.result.ok).toBe(true);
|
|
40
|
+
if (result.result.ok) {
|
|
41
|
+
expect(result.result.value.name).toBe("Project proj-1");
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
it("returns error for unknown command", async () => {
|
|
45
|
+
const context = runtime.createContext({ source: "http" });
|
|
46
|
+
const command = createCommand("Unknown", {});
|
|
47
|
+
const result = await runtime.executeCommand(command, context);
|
|
48
|
+
expect(result.result.ok).toBe(false);
|
|
49
|
+
});
|
|
50
|
+
it("returns error for unknown query", async () => {
|
|
51
|
+
const context = runtime.createContext({ source: "http" });
|
|
52
|
+
const query = createQuery("Unknown", {});
|
|
53
|
+
const result = await runtime.executeQuery(query, context);
|
|
54
|
+
expect(result.result.ok).toBe(false);
|
|
55
|
+
});
|
|
56
|
+
it("handles handler errors gracefully", async () => {
|
|
57
|
+
const handler = {
|
|
58
|
+
commandType: "FailCommand",
|
|
59
|
+
handle: async () => { throw new Error("Handler failed"); },
|
|
60
|
+
};
|
|
61
|
+
runtime.getRegistry().registerCommandHandler(handler);
|
|
62
|
+
const context = runtime.createContext({ source: "worker" });
|
|
63
|
+
const command = createCommand("FailCommand", {});
|
|
64
|
+
const result = await runtime.executeCommand(command, context);
|
|
65
|
+
expect(result.result.ok).toBe(false);
|
|
66
|
+
});
|
|
67
|
+
it("validates input before execution", async () => {
|
|
68
|
+
const handler = {
|
|
69
|
+
commandType: "ValidatedCommand",
|
|
70
|
+
handle: async () => ok(undefined),
|
|
71
|
+
};
|
|
72
|
+
runtime.getRegistry().registerCommandHandler(handler);
|
|
73
|
+
const schema = z.object({ name: z.string().min(1) });
|
|
74
|
+
const context = runtime.createContext({ source: "http" });
|
|
75
|
+
const command = createCommand("ValidatedCommand", { name: "" }, { schema });
|
|
76
|
+
const result = await runtime.executeCommand(command, context);
|
|
77
|
+
expect(result.result.ok).toBe(false);
|
|
78
|
+
});
|
|
79
|
+
it("creates context with custom values", () => {
|
|
80
|
+
const context = runtime.createContext({
|
|
81
|
+
source: "scheduler",
|
|
82
|
+
tenantId: "tenant-1",
|
|
83
|
+
principal: { id: "user-1", roles: ["admin"] },
|
|
84
|
+
metadata: { key: "value" },
|
|
85
|
+
});
|
|
86
|
+
expect(context.source).toBe("scheduler");
|
|
87
|
+
expect(context.tenantId).toBe("tenant-1");
|
|
88
|
+
expect(context.principal?.id).toBe("user-1");
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=application-runtime.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-runtime.test.js","sourceRoot":"","sources":["../../src/runtime/application-runtime.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type { ApplicationContext, ExecutionSource, Principal, CancellationToken } from "../context/application-context.js";
|
|
2
|
+
export { createApplicationContext } from "../context/application-context.js";
|
|
3
|
+
export type { Command, CommandHandler } from "../commands/command.js";
|
|
4
|
+
export { createCommand } from "../commands/command.js";
|
|
5
|
+
export type { Query, QueryHandler } from "../queries/query.js";
|
|
6
|
+
export { createQuery } from "../queries/query.js";
|
|
7
|
+
export type { ApplicationError, ValidationError, NotFoundError, ConflictError, StateError, TransactionError, IdempotencyError, InfrastructureError, } from "../errors/application-errors.js";
|
|
8
|
+
export { createValidationError, createNotFoundError, createConflictError, createStateError, createTransactionError, createIdempotencyError, createInfrastructureError, } from "../errors/application-errors.js";
|
|
9
|
+
export type { CommandDispatcher, QueryDispatcher, HandlerRegistry, TransactionManager, EventPublisher, IdempotencyStore, PipelineMiddleware, ValidationMiddleware, ExecutionMetrics, } from "../contracts/contracts.js";
|
|
10
|
+
export type { ApplicationResult, ExecutionResult } from "../results/execution-result.js";
|
|
11
|
+
export { createExecutionResult } from "../results/execution-result.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3H,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createApplicationContext } from "../context/application-context.js";
|
|
2
|
+
export { createCommand } from "../commands/command.js";
|
|
3
|
+
export { createQuery } from "../queries/query.js";
|
|
4
|
+
export { createValidationError, createNotFoundError, createConflictError, createStateError, createTransactionError, createIdempotencyError, createInfrastructureError, } from "../errors/application-errors.js";
|
|
5
|
+
export { createExecutionResult } from "../results/execution-result.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAYlD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAezC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { UnitOfWork } from "@connexia/domain";
|
|
2
|
+
import type { PipelineMiddleware, TransactionManager } from "../contracts/contracts.js";
|
|
3
|
+
export interface TransactionalContext {
|
|
4
|
+
unitOfWork?: UnitOfWork;
|
|
5
|
+
_unitOfWorkResult?: {
|
|
6
|
+
committed: boolean;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare class TransactionMiddleware implements PipelineMiddleware {
|
|
10
|
+
private readonly transactionManager;
|
|
11
|
+
readonly name = "transaction";
|
|
12
|
+
readonly order = 100;
|
|
13
|
+
constructor(transactionManager: TransactionManager);
|
|
14
|
+
execute(context: unknown, next: () => Promise<void>): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=transaction-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-middleware.d.ts","sourceRoot":"","sources":["../../src/transactions/transaction-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAExF,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iBAAiB,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5C;AAED,qBAAa,qBAAsB,YAAW,kBAAkB;IAIlD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAH/C,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,KAAK,OAAO;gBAEQ,kBAAkB,EAAE,kBAAkB;IAE7D,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAiB1E"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class TransactionMiddleware {
|
|
2
|
+
transactionManager;
|
|
3
|
+
name = "transaction";
|
|
4
|
+
order = 100;
|
|
5
|
+
constructor(transactionManager) {
|
|
6
|
+
this.transactionManager = transactionManager;
|
|
7
|
+
}
|
|
8
|
+
async execute(context, next) {
|
|
9
|
+
const ctx = context;
|
|
10
|
+
const unitOfWork = this.transactionManager.createUnitOfWork();
|
|
11
|
+
ctx.unitOfWork = unitOfWork;
|
|
12
|
+
ctx._unitOfWorkResult = { committed: false };
|
|
13
|
+
try {
|
|
14
|
+
await next();
|
|
15
|
+
const result = await unitOfWork.commit();
|
|
16
|
+
if (result.ok) {
|
|
17
|
+
ctx._unitOfWorkResult.committed = true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
await unitOfWork.rollback();
|
|
22
|
+
throw e;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=transaction-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-middleware.js","sourceRoot":"","sources":["../../src/transactions/transaction-middleware.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,qBAAqB;IAIH;IAHpB,IAAI,GAAG,aAAa,CAAC;IACrB,KAAK,GAAG,GAAG,CAAC;IAErB,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAEvE,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,IAAyB;QACvD,MAAM,GAAG,GAAG,OAA+B,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;QAC9D,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5B,GAAG,CAAC,iBAAiB,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,GAAG,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Result, DomainError } from "@connexia/domain";
|
|
2
|
+
import type { Query, QueryHandler } from "../../queries/query.js";
|
|
3
|
+
import type { ApplicationContext } from "../../context/application-context.js";
|
|
4
|
+
import type { AuditService } from "@connexia/services";
|
|
5
|
+
export interface GetAuditEventCountInput {
|
|
6
|
+
readonly organizationId: string;
|
|
7
|
+
}
|
|
8
|
+
export interface GetAuditEventCountOutput {
|
|
9
|
+
readonly count: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class GetAuditEventCountQuery implements Query<GetAuditEventCountInput, GetAuditEventCountOutput> {
|
|
12
|
+
readonly input: GetAuditEventCountInput;
|
|
13
|
+
readonly queryType = "audit.getCount";
|
|
14
|
+
readonly version = 1;
|
|
15
|
+
constructor(input: GetAuditEventCountInput);
|
|
16
|
+
}
|
|
17
|
+
export declare class GetAuditEventCountQueryHandler implements QueryHandler<GetAuditEventCountInput, GetAuditEventCountOutput> {
|
|
18
|
+
private readonly auditService;
|
|
19
|
+
readonly queryType = "audit.getCount";
|
|
20
|
+
constructor(auditService: AuditService);
|
|
21
|
+
handle(query: Query<GetAuditEventCountInput, GetAuditEventCountOutput>, _context: ApplicationContext): Promise<Result<GetAuditEventCountOutput, DomainError>>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=get-audit-event-count.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-audit-event-count.d.ts","sourceRoot":"","sources":["../../../src/usecases/audit/get-audit-event-count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,uBAAwB,YAAW,KAAK,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;IAG1F,QAAQ,CAAC,KAAK,EAAE,uBAAuB;IAFnD,QAAQ,CAAC,SAAS,oBAAoB;IACtC,QAAQ,CAAC,OAAO,KAAK;gBACA,KAAK,EAAE,uBAAuB;CACpD;AAED,qBAAa,8BAA+B,YAAW,YAAY,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;IAGxG,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,QAAQ,CAAC,SAAS,oBAAoB;gBAET,YAAY,EAAE,YAAY;IAEjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;CAGpK"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class GetAuditEventCountQuery {
|
|
2
|
+
input;
|
|
3
|
+
queryType = "audit.getCount";
|
|
4
|
+
version = 1;
|
|
5
|
+
constructor(input) {
|
|
6
|
+
this.input = input;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class GetAuditEventCountQueryHandler {
|
|
10
|
+
auditService;
|
|
11
|
+
queryType = "audit.getCount";
|
|
12
|
+
constructor(auditService) {
|
|
13
|
+
this.auditService = auditService;
|
|
14
|
+
}
|
|
15
|
+
async handle(query, _context) {
|
|
16
|
+
return this.auditService.getAuditEventCount(query.input.organizationId);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=get-audit-event-count.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-audit-event-count.js","sourceRoot":"","sources":["../../../src/usecases/audit/get-audit-event-count.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,uBAAuB;IAGb;IAFZ,SAAS,GAAG,gBAAgB,CAAC;IAC7B,OAAO,GAAG,CAAC,CAAC;IACrB,YAAqB,KAA8B;QAA9B,UAAK,GAAL,KAAK,CAAyB;IAAG,CAAC;CACxD;AAED,MAAM,OAAO,8BAA8B;IAGZ;IAFpB,SAAS,GAAG,gBAAgB,CAAC;IAEtC,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,KAA+D,EAAE,QAA4B;QACxG,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1E,CAAC;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Result, DomainError } from "@connexia/domain";
|
|
2
|
+
import type { Query, QueryHandler } from "../../queries/query.js";
|
|
3
|
+
import type { ApplicationContext } from "../../context/application-context.js";
|
|
4
|
+
import type { AuditService } from "@connexia/services";
|
|
5
|
+
export interface GetAuditEventsByResourceInput {
|
|
6
|
+
readonly resourceType: string;
|
|
7
|
+
readonly resourceId: string;
|
|
8
|
+
readonly page: number;
|
|
9
|
+
readonly pageSize: number;
|
|
10
|
+
}
|
|
11
|
+
export interface GetAuditEventsByResourceOutput {
|
|
12
|
+
readonly items: readonly {
|
|
13
|
+
eventId: string;
|
|
14
|
+
action: string;
|
|
15
|
+
timestamp: string;
|
|
16
|
+
}[];
|
|
17
|
+
readonly total: number;
|
|
18
|
+
readonly page: number;
|
|
19
|
+
readonly pageSize: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class GetAuditEventsByResourceQuery implements Query<GetAuditEventsByResourceInput, GetAuditEventsByResourceOutput> {
|
|
22
|
+
readonly input: GetAuditEventsByResourceInput;
|
|
23
|
+
readonly queryType = "audit.getByResource";
|
|
24
|
+
readonly version = 1;
|
|
25
|
+
constructor(input: GetAuditEventsByResourceInput);
|
|
26
|
+
}
|
|
27
|
+
export declare class GetAuditEventsByResourceQueryHandler implements QueryHandler<GetAuditEventsByResourceInput, GetAuditEventsByResourceOutput> {
|
|
28
|
+
private readonly auditService;
|
|
29
|
+
readonly queryType = "audit.getByResource";
|
|
30
|
+
constructor(auditService: AuditService);
|
|
31
|
+
handle(query: Query<GetAuditEventsByResourceInput, GetAuditEventsByResourceOutput>, context: ApplicationContext): Promise<Result<GetAuditEventsByResourceOutput, DomainError>>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=get-audit-events-by-resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-audit-events-by-resource.d.ts","sourceRoot":"","sources":["../../../src/usecases/audit/get-audit-events-by-resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,6BAA8B,YAAW,KAAK,CAAC,6BAA6B,EAAE,8BAA8B,CAAC;IAG5G,QAAQ,CAAC,KAAK,EAAE,6BAA6B;IAFzD,QAAQ,CAAC,SAAS,yBAAyB;IAC3C,QAAQ,CAAC,OAAO,KAAK;gBACA,KAAK,EAAE,6BAA6B;CAC1D;AAED,qBAAa,oCAAqC,YAAW,YAAY,CAAC,6BAA6B,EAAE,8BAA8B,CAAC;IAG1H,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,QAAQ,CAAC,SAAS,yBAAyB;gBAEd,YAAY,EAAE,YAAY;IAEjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,6BAA6B,EAAE,8BAA8B,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,8BAA8B,EAAE,WAAW,CAAC,CAAC;CAIrL"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class GetAuditEventsByResourceQuery {
|
|
2
|
+
input;
|
|
3
|
+
queryType = "audit.getByResource";
|
|
4
|
+
version = 1;
|
|
5
|
+
constructor(input) {
|
|
6
|
+
this.input = input;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class GetAuditEventsByResourceQueryHandler {
|
|
10
|
+
auditService;
|
|
11
|
+
queryType = "audit.getByResource";
|
|
12
|
+
constructor(auditService) {
|
|
13
|
+
this.auditService = auditService;
|
|
14
|
+
}
|
|
15
|
+
async handle(query, context) {
|
|
16
|
+
const { resourceType, resourceId, page, pageSize } = query.input;
|
|
17
|
+
return this.auditService.getAuditEventsByResource(resourceType, resourceId, page, pageSize, context.tenantId);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=get-audit-events-by-resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-audit-events-by-resource.js","sourceRoot":"","sources":["../../../src/usecases/audit/get-audit-events-by-resource.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,6BAA6B;IAGnB;IAFZ,SAAS,GAAG,qBAAqB,CAAC;IAClC,OAAO,GAAG,CAAC,CAAC;IACrB,YAAqB,KAAoC;QAApC,UAAK,GAAL,KAAK,CAA+B;IAAG,CAAC;CAC9D;AAED,MAAM,OAAO,oCAAoC;IAGlB;IAFpB,SAAS,GAAG,qBAAqB,CAAC;IAE3C,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,KAA2E,EAAE,OAA2B;QACnH,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAkB,CAAC,CAAC;IAC1H,CAAC;CACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ListAuditEventsQuery, ListAuditEventsQueryHandler, type ListAuditEventsInput, type ListAuditEventsOutput } from "./list-audit-events.js";
|
|
2
|
+
export { GetAuditEventsByResourceQuery, GetAuditEventsByResourceQueryHandler, type GetAuditEventsByResourceInput, type GetAuditEventsByResourceOutput } from "./get-audit-events-by-resource.js";
|
|
3
|
+
export { GetAuditEventCountQuery, GetAuditEventCountQueryHandler, type GetAuditEventCountInput, type GetAuditEventCountOutput } from "./get-audit-event-count.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/usecases/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAClJ,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,KAAK,6BAA6B,EAAE,KAAK,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACjM,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,KAAK,uBAAuB,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ListAuditEventsQuery, ListAuditEventsQueryHandler } from "./list-audit-events.js";
|
|
2
|
+
export { GetAuditEventsByResourceQuery, GetAuditEventsByResourceQueryHandler } from "./get-audit-events-by-resource.js";
|
|
3
|
+
export { GetAuditEventCountQuery, GetAuditEventCountQueryHandler } from "./get-audit-event-count.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/usecases/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAyD,MAAM,wBAAwB,CAAC;AAClJ,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAA2E,MAAM,mCAAmC,CAAC;AACjM,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAA+D,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Result, DomainError } from "@connexia/domain";
|
|
2
|
+
import type { Query, QueryHandler } from "../../queries/query.js";
|
|
3
|
+
import type { ApplicationContext } from "../../context/application-context.js";
|
|
4
|
+
import type { AuditService } from "@connexia/services";
|
|
5
|
+
export interface ListAuditEventsInput {
|
|
6
|
+
readonly organizationId: string;
|
|
7
|
+
readonly page: number;
|
|
8
|
+
readonly pageSize: number;
|
|
9
|
+
readonly resourceType?: string;
|
|
10
|
+
readonly resourceId?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ListAuditEventsOutput {
|
|
13
|
+
readonly items: readonly {
|
|
14
|
+
eventId: string;
|
|
15
|
+
action: string;
|
|
16
|
+
resourceType: string;
|
|
17
|
+
timestamp: string;
|
|
18
|
+
}[];
|
|
19
|
+
readonly total: number;
|
|
20
|
+
readonly page: number;
|
|
21
|
+
readonly pageSize: number;
|
|
22
|
+
}
|
|
23
|
+
export declare class ListAuditEventsQuery implements Query<ListAuditEventsInput, ListAuditEventsOutput> {
|
|
24
|
+
readonly input: ListAuditEventsInput;
|
|
25
|
+
readonly queryType = "audit.list";
|
|
26
|
+
readonly version = 1;
|
|
27
|
+
constructor(input: ListAuditEventsInput);
|
|
28
|
+
}
|
|
29
|
+
export declare class ListAuditEventsQueryHandler implements QueryHandler<ListAuditEventsInput, ListAuditEventsOutput> {
|
|
30
|
+
private readonly auditService;
|
|
31
|
+
readonly queryType = "audit.list";
|
|
32
|
+
constructor(auditService: AuditService);
|
|
33
|
+
handle(query: Query<ListAuditEventsInput, ListAuditEventsOutput>, _context: ApplicationContext): Promise<Result<ListAuditEventsOutput, DomainError>>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=list-audit-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audit-events.d.ts","sourceRoot":"","sources":["../../../src/usecases/audit/list-audit-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,oBAAqB,YAAW,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAGjF,QAAQ,CAAC,KAAK,EAAE,oBAAoB;IAFhD,QAAQ,CAAC,SAAS,gBAAgB;IAClC,QAAQ,CAAC,OAAO,KAAK;gBACA,KAAK,EAAE,oBAAoB;CACjD;AAED,qBAAa,2BAA4B,YAAW,YAAY,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAG/F,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,QAAQ,CAAC,SAAS,gBAAgB;gBAEL,YAAY,EAAE,YAAY;IAEjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;CAI3J"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class ListAuditEventsQuery {
|
|
2
|
+
input;
|
|
3
|
+
queryType = "audit.list";
|
|
4
|
+
version = 1;
|
|
5
|
+
constructor(input) {
|
|
6
|
+
this.input = input;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class ListAuditEventsQueryHandler {
|
|
10
|
+
auditService;
|
|
11
|
+
queryType = "audit.list";
|
|
12
|
+
constructor(auditService) {
|
|
13
|
+
this.auditService = auditService;
|
|
14
|
+
}
|
|
15
|
+
async handle(query, _context) {
|
|
16
|
+
const { organizationId, page, pageSize, resourceType } = query.input;
|
|
17
|
+
return this.auditService.listAuditEvents(organizationId, page, pageSize, resourceType);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=list-audit-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-audit-events.js","sourceRoot":"","sources":["../../../src/usecases/audit/list-audit-events.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,oBAAoB;IAGV;IAFZ,SAAS,GAAG,YAAY,CAAC;IACzB,OAAO,GAAG,CAAC,CAAC;IACrB,YAAqB,KAA2B;QAA3B,UAAK,GAAL,KAAK,CAAsB;IAAG,CAAC;CACrD;AAED,MAAM,OAAO,2BAA2B;IAGT;IAFpB,SAAS,GAAG,YAAY,CAAC;IAElC,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,KAAyD,EAAE,QAA4B;QAClG,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzF,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Result, DomainError } from "@connexia/domain";
|
|
2
|
+
import type { Command, CommandHandler } from "../../commands/command.js";
|
|
3
|
+
import type { ApplicationContext } from "../../context/application-context.js";
|
|
4
|
+
import type { BuildService } from "@connexia/services";
|
|
5
|
+
export interface CancelBuildInput {
|
|
6
|
+
readonly buildId: string;
|
|
7
|
+
}
|
|
8
|
+
export interface CancelBuildOutput {
|
|
9
|
+
readonly buildId: string;
|
|
10
|
+
readonly status: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class CancelBuildCommand implements Command<CancelBuildInput, CancelBuildOutput> {
|
|
13
|
+
readonly input: CancelBuildInput;
|
|
14
|
+
readonly commandType = "build.cancel";
|
|
15
|
+
readonly version = 1;
|
|
16
|
+
constructor(input: CancelBuildInput);
|
|
17
|
+
}
|
|
18
|
+
export declare class CancelBuildCommandHandler implements CommandHandler<CancelBuildInput, CancelBuildOutput> {
|
|
19
|
+
private readonly buildService;
|
|
20
|
+
readonly commandType = "build.cancel";
|
|
21
|
+
constructor(buildService: BuildService);
|
|
22
|
+
handle(command: Command<CancelBuildInput, CancelBuildOutput>, _context: ApplicationContext): Promise<Result<CancelBuildOutput, DomainError>>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=cancel-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancel-build.d.ts","sourceRoot":"","sources":["../../../src/usecases/build/cancel-build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,kBAAmB,YAAW,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAGzE,QAAQ,CAAC,KAAK,EAAE,gBAAgB;IAF5C,QAAQ,CAAC,WAAW,kBAAkB;IACtC,QAAQ,CAAC,OAAO,KAAK;gBACA,KAAK,EAAE,gBAAgB;CAC7C;AAED,qBAAa,yBAA0B,YAAW,cAAc,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAGvF,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,QAAQ,CAAC,WAAW,kBAAkB;gBAET,YAAY,EAAE,YAAY;IAEjD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;CAGnJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class CancelBuildCommand {
|
|
2
|
+
input;
|
|
3
|
+
commandType = "build.cancel";
|
|
4
|
+
version = 1;
|
|
5
|
+
constructor(input) {
|
|
6
|
+
this.input = input;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class CancelBuildCommandHandler {
|
|
10
|
+
buildService;
|
|
11
|
+
commandType = "build.cancel";
|
|
12
|
+
constructor(buildService) {
|
|
13
|
+
this.buildService = buildService;
|
|
14
|
+
}
|
|
15
|
+
async handle(command, _context) {
|
|
16
|
+
return this.buildService.cancelBuild(command.input.buildId);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=cancel-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancel-build.js","sourceRoot":"","sources":["../../../src/usecases/build/cancel-build.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,kBAAkB;IAGR;IAFZ,WAAW,GAAG,cAAc,CAAC;IAC7B,OAAO,GAAG,CAAC,CAAC;IACrB,YAAqB,KAAuB;QAAvB,UAAK,GAAL,KAAK,CAAkB;IAAG,CAAC;CACjD;AAED,MAAM,OAAO,yBAAyB;IAGP;IAFpB,WAAW,GAAG,cAAc,CAAC;IAEtC,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,OAAqD,EAAE,QAA4B;QAC9F,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Result, DomainError } from "@connexia/domain";
|
|
2
|
+
import type { Query, QueryHandler } from "../../queries/query.js";
|
|
3
|
+
import type { ApplicationContext } from "../../context/application-context.js";
|
|
4
|
+
import type { BuildService } from "@connexia/services";
|
|
5
|
+
export interface GetBuildInput {
|
|
6
|
+
readonly buildId: string;
|
|
7
|
+
}
|
|
8
|
+
export interface GetBuildOutput {
|
|
9
|
+
readonly buildId: string;
|
|
10
|
+
readonly projectId: string;
|
|
11
|
+
readonly status: string;
|
|
12
|
+
readonly branch: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class GetBuildQuery implements Query<GetBuildInput, GetBuildOutput> {
|
|
15
|
+
readonly input: GetBuildInput;
|
|
16
|
+
readonly queryType = "build.get";
|
|
17
|
+
readonly version = 1;
|
|
18
|
+
constructor(input: GetBuildInput);
|
|
19
|
+
}
|
|
20
|
+
export declare class GetBuildQueryHandler implements QueryHandler<GetBuildInput, GetBuildOutput> {
|
|
21
|
+
private readonly buildService;
|
|
22
|
+
readonly queryType = "build.get";
|
|
23
|
+
constructor(buildService: BuildService);
|
|
24
|
+
handle(query: Query<GetBuildInput, GetBuildOutput>, _context: ApplicationContext): Promise<Result<GetBuildOutput, DomainError>>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=get-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-build.d.ts","sourceRoot":"","sources":["../../../src/usecases/build/get-build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,aAAc,YAAW,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC;IAG5D,QAAQ,CAAC,KAAK,EAAE,aAAa;IAFzC,QAAQ,CAAC,SAAS,eAAe;IACjC,QAAQ,CAAC,OAAO,KAAK;gBACA,KAAK,EAAE,aAAa;CAC1C;AAED,qBAAa,oBAAqB,YAAW,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC;IAG1E,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,QAAQ,CAAC,SAAS,eAAe;gBAEJ,YAAY,EAAE,YAAY;IAEjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;CAGtI"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class GetBuildQuery {
|
|
2
|
+
input;
|
|
3
|
+
queryType = "build.get";
|
|
4
|
+
version = 1;
|
|
5
|
+
constructor(input) {
|
|
6
|
+
this.input = input;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class GetBuildQueryHandler {
|
|
10
|
+
buildService;
|
|
11
|
+
queryType = "build.get";
|
|
12
|
+
constructor(buildService) {
|
|
13
|
+
this.buildService = buildService;
|
|
14
|
+
}
|
|
15
|
+
async handle(query, _context) {
|
|
16
|
+
return this.buildService.getBuild(query.input.buildId);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=get-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-build.js","sourceRoot":"","sources":["../../../src/usecases/build/get-build.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,aAAa;IAGH;IAFZ,SAAS,GAAG,WAAW,CAAC;IACxB,OAAO,GAAG,CAAC,CAAC;IACrB,YAAqB,KAAoB;QAApB,UAAK,GAAL,KAAK,CAAe;IAAG,CAAC;CAC9C;AAED,MAAM,OAAO,oBAAoB;IAGF;IAFpB,SAAS,GAAG,WAAW,CAAC;IAEjC,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,KAA2C,EAAE,QAA4B;QACpF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { TriggerBuildCommand, TriggerBuildCommandHandler, type TriggerBuildInput, type TriggerBuildOutput } from "./trigger-build.js";
|
|
2
|
+
export { GetBuildQuery, GetBuildQueryHandler, type GetBuildInput, type GetBuildOutput } from "./get-build.js";
|
|
3
|
+
export { ListBuildsQuery, ListBuildsQueryHandler, type ListBuildsInput, type ListBuildsOutput } from "./list-builds.js";
|
|
4
|
+
export { CancelBuildCommand, CancelBuildCommandHandler, type CancelBuildInput, type CancelBuildOutput } from "./cancel-build.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/usecases/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACtI,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { TriggerBuildCommand, TriggerBuildCommandHandler } from "./trigger-build.js";
|
|
2
|
+
export { GetBuildQuery, GetBuildQueryHandler } from "./get-build.js";
|
|
3
|
+
export { ListBuildsQuery, ListBuildsQueryHandler } from "./list-builds.js";
|
|
4
|
+
export { CancelBuildCommand, CancelBuildCommandHandler } from "./cancel-build.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/usecases/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAmD,MAAM,oBAAoB,CAAC;AACtI,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAA2C,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAA+C,MAAM,kBAAkB,CAAC;AACxH,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAiD,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Result, DomainError } from "@connexia/domain";
|
|
2
|
+
import type { Query, QueryHandler } from "../../queries/query.js";
|
|
3
|
+
import type { ApplicationContext } from "../../context/application-context.js";
|
|
4
|
+
import type { BuildService } from "@connexia/services";
|
|
5
|
+
export interface ListBuildsInput {
|
|
6
|
+
readonly projectId: string;
|
|
7
|
+
readonly page: number;
|
|
8
|
+
readonly pageSize: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ListBuildsOutput {
|
|
11
|
+
readonly items: readonly {
|
|
12
|
+
buildId: string;
|
|
13
|
+
status: string;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
}[];
|
|
16
|
+
readonly total: number;
|
|
17
|
+
readonly page: number;
|
|
18
|
+
readonly pageSize: number;
|
|
19
|
+
}
|
|
20
|
+
export declare class ListBuildsQuery implements Query<ListBuildsInput, ListBuildsOutput> {
|
|
21
|
+
readonly input: ListBuildsInput;
|
|
22
|
+
readonly queryType = "build.list";
|
|
23
|
+
readonly version = 1;
|
|
24
|
+
constructor(input: ListBuildsInput);
|
|
25
|
+
}
|
|
26
|
+
export declare class ListBuildsQueryHandler implements QueryHandler<ListBuildsInput, ListBuildsOutput> {
|
|
27
|
+
private readonly buildService;
|
|
28
|
+
readonly queryType = "build.list";
|
|
29
|
+
constructor(buildService: BuildService);
|
|
30
|
+
handle(query: Query<ListBuildsInput, ListBuildsOutput>, _context: ApplicationContext): Promise<Result<ListBuildsOutput, DomainError>>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=list-builds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-builds.d.ts","sourceRoot":"","sources":["../../../src/usecases/build/list-builds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,eAAgB,YAAW,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAGlE,QAAQ,CAAC,KAAK,EAAE,eAAe;IAF3C,QAAQ,CAAC,SAAS,gBAAgB;IAClC,QAAQ,CAAC,OAAO,KAAK;gBACA,KAAK,EAAE,eAAe;CAC5C;AAED,qBAAa,sBAAuB,YAAW,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAGhF,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,QAAQ,CAAC,SAAS,gBAAgB;gBAEL,YAAY,EAAE,YAAY;IAEjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;CAI5I"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class ListBuildsQuery {
|
|
2
|
+
input;
|
|
3
|
+
queryType = "build.list";
|
|
4
|
+
version = 1;
|
|
5
|
+
constructor(input) {
|
|
6
|
+
this.input = input;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class ListBuildsQueryHandler {
|
|
10
|
+
buildService;
|
|
11
|
+
queryType = "build.list";
|
|
12
|
+
constructor(buildService) {
|
|
13
|
+
this.buildService = buildService;
|
|
14
|
+
}
|
|
15
|
+
async handle(query, _context) {
|
|
16
|
+
const { projectId, page, pageSize } = query.input;
|
|
17
|
+
return this.buildService.listBuilds(projectId, page, pageSize);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=list-builds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-builds.js","sourceRoot":"","sources":["../../../src/usecases/build/list-builds.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,eAAe;IAGL;IAFZ,SAAS,GAAG,YAAY,CAAC;IACzB,OAAO,GAAG,CAAC,CAAC;IACrB,YAAqB,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;CAChD;AAED,MAAM,OAAO,sBAAsB;IAGJ;IAFpB,SAAS,GAAG,YAAY,CAAC;IAElC,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,KAA+C,EAAE,QAA4B;QACxF,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Result, DomainError } from "@connexia/domain";
|
|
2
|
+
import type { Command, CommandHandler } from "../../commands/command.js";
|
|
3
|
+
import type { ApplicationContext } from "../../context/application-context.js";
|
|
4
|
+
import type { BuildService, TriggerBuildInput, BuildResult } from "@connexia/services";
|
|
5
|
+
export type { TriggerBuildInput } from "@connexia/services";
|
|
6
|
+
export type TriggerBuildOutput = BuildResult;
|
|
7
|
+
export declare class TriggerBuildCommand implements Command<TriggerBuildInput, TriggerBuildOutput> {
|
|
8
|
+
readonly input: TriggerBuildInput;
|
|
9
|
+
readonly commandType = "build.trigger";
|
|
10
|
+
readonly version = 1;
|
|
11
|
+
constructor(input: TriggerBuildInput);
|
|
12
|
+
}
|
|
13
|
+
export declare class TriggerBuildCommandHandler implements CommandHandler<TriggerBuildInput, TriggerBuildOutput> {
|
|
14
|
+
private readonly buildService;
|
|
15
|
+
readonly commandType = "build.trigger";
|
|
16
|
+
constructor(buildService: BuildService);
|
|
17
|
+
handle(command: Command<TriggerBuildInput, TriggerBuildOutput>, _context: ApplicationContext): Promise<Result<TriggerBuildOutput, DomainError>>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=trigger-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-build.d.ts","sourceRoot":"","sources":["../../../src/usecases/build/trigger-build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEvF,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE7C,qBAAa,mBAAoB,YAAW,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAG5E,QAAQ,CAAC,KAAK,EAAE,iBAAiB;IAF7C,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,OAAO,KAAK;gBACA,KAAK,EAAE,iBAAiB;CAC9C;AAED,qBAAa,0BAA2B,YAAW,cAAc,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAG1F,OAAO,CAAC,QAAQ,CAAC,YAAY;IAFzC,QAAQ,CAAC,WAAW,mBAAmB;gBAEV,YAAY,EAAE,YAAY;IAEjD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;CAGtJ"}
|