@cfxlabsinc/b2b-services
    Preparing search index...

    Approval requests as the execution worker reads and writes them. Only CFX's worker calls it, so it takes no customer scope: it is the one place the execution activities reach the request tables.

    Index
    instance: (...args: []) => TransactionApprovalAdminService = ...

    The process default: built from each dependency's own instance().

    • Parameters

      • __namedParameters: { requestId: string }

      Returns Promise<
          | {
              createdAt: Date;
              customerExternalId: string;
              customerId: number;
              decidedAt: Date
              | null;
              entityId: string;
              estimate: Record<string, unknown>;
              executedAt: Date | null;
              executionAttempt: number | null;
              executionQuoteId: string | null;
              expiresAt: Date | null;
              externalId: string;
              id: number;
              input: Record<string, unknown>;
              metadata: Record<string, unknown>;
              previousRequestExternalId: string | null;
              previousRequestId: number | null;
              productExternalId: string;
              productId: number;
              reason: { by?: string; code: string; message: string } | null;
              requesterExternalId: string;
              requesterId: number;
              requirements: {
                  ruleExternalId: string;
                  ruleName: string;
                  steps: { roleIds: string[]; userIds: string[] }[];
              }[];
              status: | "PENDING"
              | "PROCESSING"
              | "COMPLETED"
              | "DECLINED"
              | "FAILED"
              | "CANCELLED";
              transactionId: string
              | null;
              updatedAt: Date;
          }
          | null,
      >

    • Parameters

      • __namedParameters: { ids?: string[]; page?: number; pageSize?: number }

      Returns Promise<
          {
              ok: true;
              value: {
                  hasNext: boolean;
                  items: {
                      createdAt: Date;
                      customerExternalId: string;
                      customerId: number;
                      decidedAt: Date
                      | null;
                      entityId: string;
                      estimate: Record<string, unknown>;
                      executedAt: Date | null;
                      executionAttempt: number | null;
                      executionQuoteId: string | null;
                      expiresAt: Date | null;
                      externalId: string;
                      id: number;
                      input: Record<string, unknown>;
                      metadata: Record<string, unknown>;
                      previousRequestExternalId: string | null;
                      previousRequestId: number | null;
                      productExternalId: string;
                      productId: number;
                      reason: { by?: string; code: string; message: string } | null;
                      requesterExternalId: string;
                      requesterId: number;
                      requirements: {
                          ruleExternalId: string;
                          ruleName: string;
                          steps: { roleIds: string[]; userIds: string[] }[];
                      }[];
                      status: | "PENDING"
                      | "PROCESSING"
                      | "COMPLETED"
                      | "DECLINED"
                      | "FAILED"
                      | "CANCELLED";
                      transactionId: string
                      | null;
                      updatedAt: Date;
                  }[];
                  total: number;
              };
          },
      >

    • Moves a PROCESSING request to to and records the matching activity for the approver whose approval started the execution, in one transaction.

      Parameters

      • __namedParameters: {
            request: {
                createdAt: Date;
                customerExternalId: string;
                customerId: number;
                decidedAt: Date | null;
                entityId: string;
                estimate: Record<string, unknown>;
                executedAt: Date | null;
                executionAttempt: number | null;
                executionQuoteId: string | null;
                expiresAt: Date | null;
                externalId: string;
                id: number;
                input: Record<string, unknown>;
                metadata: Record<string, unknown>;
                previousRequestExternalId: string | null;
                previousRequestId: number | null;
                productExternalId: string;
                productId: number;
                reason: { by?: string; code: string; message: string } | null;
                requesterExternalId: string;
                requesterId: number;
                requirements: {
                    ruleExternalId: string;
                    ruleName: string;
                    steps: { roleIds: string[]; userIds: string[] }[];
                }[];
                status: | "PENDING"
                | "PROCESSING"
                | "COMPLETED"
                | "DECLINED"
                | "FAILED"
                | "CANCELLED";
                transactionId: string
                | null;
                updatedAt: Date;
            };
            set: | Omit<
                PgUpdateSetSource<
                    Omit<
                        PgTableWithColumns<
                            {
                                columns: {
                                    createdAt: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetHasDefault<SetNotNull<(...)>>,
                                        {
                                            data: Date;
                                            dataType: "object date";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: true;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    customerExternalId: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetNotNull<PgTextBuilder<(...)>>,
                                        {
                                            data: string;
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    customerId: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetNotNull<PgIntegerBuilder>,
                                        {
                                            data: number;
                                            dataType: "number int32";
                                            driverParam: (...) | (...);
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    decidedAt: PgBuildColumn<
                                        "transaction_approval_request",
                                        PgTimestampBuilder,
                                        {
                                            data: Date;
                                            dataType: "object date";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    entityId: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetNotNull<PgTextBuilder<(...)>>,
                                        {
                                            data: string;
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    estimate: PgBuildColumn<
                                        "transaction_approval_request",
                                        Set$Type<SetNotNull<(...)>, Record<(...), (...)>>,
                                        {
                                            data: TData;
                                            dataType: "object json";
                                            driverParam: unknown;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    executedAt: PgBuildColumn<
                                        "transaction_approval_request",
                                        PgTimestampBuilder,
                                        {
                                            data: Date;
                                            dataType: "object date";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    executionAttempt: PgBuildColumn<
                                        "transaction_approval_request",
                                        PgIntegerBuilder,
                                        {
                                            data: number;
                                            dataType: "number int32";
                                            driverParam: (...)
                                            | (...);
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    executionQuoteId: PgBuildColumn<
                                        "transaction_approval_request",
                                        PgTextBuilder<[(...), ...(...)[]]>,
                                        {
                                            data: string;
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    expiresAt: PgBuildColumn<
                                        "transaction_approval_request",
                                        PgTimestampBuilder,
                                        {
                                            data: Date;
                                            dataType: "object date";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    externalId: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetHasRuntimeDefault<SetNotNull<(...)>>,
                                        {
                                            data: string;
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: true;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    id: PgBuildColumn<
                                        "transaction_approval_request",
                                        HasIdentity<SetIsPrimaryKey<(...)>, "byDefault">,
                                        {
                                            data: number;
                                            dataType: "number int32";
                                            driverParam: (...) | (...);
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: true;
                                            hasRuntimeDefault: false;
                                            identity: "byDefault";
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    input: PgBuildColumn<
                                        "transaction_approval_request",
                                        Set$Type<SetNotNull<(...)>, Record<(...), (...)>>,
                                        {
                                            data: TData;
                                            dataType: "object json";
                                            driverParam: unknown;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    metadata: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetHasDefault<Set$Type<(...), (...)>>,
                                        {
                                            data: TData;
                                            dataType: "object json";
                                            driverParam: unknown;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: true;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    previousRequestExternalId: PgBuildColumn<
                                        "transaction_approval_request",
                                        PgTextBuilder<[(...), ...(...)[]]>,
                                        {
                                            data: string;
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    previousRequestId: PgBuildColumn<
                                        "transaction_approval_request",
                                        PgIntegerBuilder,
                                        {
                                            data: number;
                                            dataType: "number int32";
                                            driverParam: (...)
                                            | (...);
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    productExternalId: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetNotNull<PgTextBuilder<(...)>>,
                                        {
                                            data: string;
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    productId: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetNotNull<PgIntegerBuilder>,
                                        {
                                            data: number;
                                            dataType: "number int32";
                                            driverParam: (...) | (...);
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    reason: PgBuildColumn<
                                        "transaction_approval_request",
                                        Set$Type<PgJsonbBuilder, { by?: ...; code: ...; message: ... }>,
                                        {
                                            data: { by?: ...; code: ...; message: ... };
                                            dataType: "object json";
                                            driverParam: unknown;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    requesterExternalId: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetNotNull<PgTextBuilder<(...)>>,
                                        {
                                            data: string;
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    requesterId: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetNotNull<PgIntegerBuilder>,
                                        {
                                            data: number;
                                            dataType: "number int32";
                                            driverParam: (...) | (...);
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    requirements: PgBuildColumn<
                                        "transaction_approval_request",
                                        Set$Type<SetNotNull<(...)>, (...)[]>,
                                        {
                                            data: (...)[];
                                            dataType: "object json";
                                            driverParam: unknown;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    status: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetHasDefault<Set$Type<(...), (...)>>,
                                        {
                                            data: (...) | (...) | (...) | (...) | (...) | (...);
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: true;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    transactionId: PgBuildColumn<
                                        "transaction_approval_request",
                                        PgTextBuilder<[(...), ...(...)[]]>,
                                        {
                                            data: string;
                                            dataType: "string";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: false;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: false;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                    updatedAt: PgBuildColumn<
                                        "transaction_approval_request",
                                        SetHasDefault<SetNotNull<(...)>>,
                                        {
                                            data: Date;
                                            dataType: "object date";
                                            driverParam: string;
                                            enumValues: undefined;
                                            generated: undefined;
                                            hasDefault: true;
                                            hasRuntimeDefault: false;
                                            identity: undefined;
                                            isAutoincrement: false;
                                            isPrimaryKey: false;
                                            name: string;
                                            notNull: true;
                                            tableName: "transaction_approval_request";
                                        },
                                    >;
                                };
                                dialect: "pg";
                                isAlias: false;
                                name: "transaction_approval_request";
                                schema: "b2b";
                            },
                        >,
                        "enableRLS",
                    >,
                >,
                "status",
            >
            | undefined;
            to: "COMPLETED"
            | "FAILED";
        }

      Returns Promise<void>