Skip to content

Commit

Permalink
fix style, add error types
Browse files Browse the repository at this point in the history
  • Loading branch information
WMXPY committed Oct 14, 2023
1 parent 01d0072 commit 95d9cb2
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 34 deletions.
2 changes: 1 addition & 1 deletion src/error/execute/configuration/connection-not-found.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { PubExecuteConfigurationError } from "./configuration-error";

export class PubExecuteConfigurationConnectionNotFoundError extends PubExecuteConfigurationError {

public static create(
public static withIdentifier(
connectionIdentifier: string,
): PubExecuteConfigurationConnectionNotFoundError {

Expand Down
29 changes: 29 additions & 0 deletions src/error/execute/configuration/procedure-not-found.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* @author WMXPY
* @namespace Error_Execute_Configuration
* @description Procedure Not Found
*/

import { PubExecuteConfigurationError } from "./configuration-error";

export class PubExecuteConfigurationProcedureNotFoundError extends PubExecuteConfigurationError {

public static withIdentifier(
procedureIdentifier: string,
): PubExecuteConfigurationProcedureNotFoundError {

return new PubExecuteConfigurationProcedureNotFoundError(
`Procedure "${procedureIdentifier}" not found`,
);
}

protected constructor(
message: string,
reason?: any,
) {

super(message, "PubExecuteConfigurationProcedureNotFoundError", reason);

Object.setPrototypeOf(this, PubExecuteConfigurationProcedureNotFoundError.prototype);
}
}
76 changes: 43 additions & 33 deletions src/execute/resume-execute.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import { PUB_CONNECTION_TYPE, PubConnectionConfiguration } from "../connection/definition/configuration";
import { PUB_CONNECTION_PROCEDURE_REFERENCE_TYPE, PubConnectionProcedureReference } from "../connection/definition/procedure-reference";
import { PubExecuteConfigurationConnectionNotFoundError } from "../error/execute/configuration/connection-not-found";
import { PubExecuteConfigurationProcedureNotFoundError } from "../error/execute/configuration/procedure-not-found";
import { OrchestrationResourceManager } from "../orchestration/resource/manager";
import { PUB_PROCEDURE_TYPE, PubProcedureConfiguration } from "../procedure/definition/configuration";
import { PubRecordProjection } from "../record/definition/projection";
Expand All @@ -22,39 +23,48 @@ export const resumeExecute = async (
for (const projection of projections) {

const connections: Array<PubConnectionConfiguration<PUB_CONNECTION_TYPE>> =
projection.triggerConnections.map((
connectionIdentifier: string,
) => {
const connection: PubConnectionConfiguration<PUB_CONNECTION_TYPE> | null =
record.cachedConfiguration.getConnectionByIdentifier(connectionIdentifier);

if (!connection) {
throw PubExecuteConfigurationConnectionNotFoundError.create(connectionIdentifier);
}

return connection;
});

const dependencyProcedures = connections
.filter((connection: PubConnectionConfiguration<PUB_CONNECTION_TYPE>) => connection.nextProcedure.type === PUB_CONNECTION_PROCEDURE_REFERENCE_TYPE.PROCEDURE)
.map((connection: PubConnectionConfiguration<PUB_CONNECTION_TYPE>) => {

const nextProcedure: PubConnectionProcedureReference<
PUB_CONNECTION_PROCEDURE_REFERENCE_TYPE.PROCEDURE
> = connection.nextProcedure as PubConnectionProcedureReference<
PUB_CONNECTION_PROCEDURE_REFERENCE_TYPE.PROCEDURE
>;

const procedure: PubProcedureConfiguration<PUB_PROCEDURE_TYPE> | null = record.cachedConfiguration.getProcedureByIdentifier(
nextProcedure.payload.procedureIdentifier,
);

if (!procedure) {
throw PubExecuteConfigurationConnectionNotFoundError.create(nextProcedure.payload.procedureIdentifier);
}

return procedure;
});
projection.triggerConnections
.map((
connectionIdentifier: string,
) => {
const connection: PubConnectionConfiguration<PUB_CONNECTION_TYPE> | null =
record.cachedConfiguration.getConnectionByIdentifier(connectionIdentifier);

if (!connection) {
throw PubExecuteConfigurationConnectionNotFoundError.withIdentifier(
connectionIdentifier,
);
}

return connection;
});

const dependencyProcedures =
connections
.filter((connection: PubConnectionConfiguration<PUB_CONNECTION_TYPE>) =>
connection.nextProcedure.type === PUB_CONNECTION_PROCEDURE_REFERENCE_TYPE.PROCEDURE,
)
.map((connection: PubConnectionConfiguration<PUB_CONNECTION_TYPE>) => {

const nextProcedure: PubConnectionProcedureReference<
PUB_CONNECTION_PROCEDURE_REFERENCE_TYPE.PROCEDURE
> = connection.nextProcedure as PubConnectionProcedureReference<
PUB_CONNECTION_PROCEDURE_REFERENCE_TYPE.PROCEDURE
>;

const procedure: PubProcedureConfiguration<PUB_PROCEDURE_TYPE> | null =
record.cachedConfiguration.getProcedureByIdentifier(
nextProcedure.payload.procedureIdentifier,
);

if (!procedure) {
throw PubExecuteConfigurationProcedureNotFoundError.withIdentifier(
nextProcedure.payload.procedureIdentifier,
);
}

return procedure;
});

console.log(connections, dependencyProcedures);
}
Expand Down

0 comments on commit 95d9cb2

Please sign in to comment.