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

    Reads + writes the wire_email table. The SES wire-email lambda calls create; the admin-dashboard calls get / search. No customer scoping — wire emails are bank-level operator records.

    Index
    • Inserts an inbound wire email. Idempotent on the unique SES messageId — a replay returns the existing row instead of inserting a duplicate.

      Parameters

      • args: {
            bankId: string;
            body: string;
            messageId: string;
            parsed: WireEmailParsed | null;
            receivedAt: Date;
            status: "IGNORED" | "RECEIVED" | "RECONCILED" | "UNMATCHED" | "UNPARSED";
        }

      Returns Promise<{ ok: true; value: WireEmail }>

    • Parameters

      • __namedParameters: {
            bankIds?: string[];
            createdAt?: DbTimestampCriteria;
            ids?: string[];
            messageIds?: string[];
            orderBy?: DbOrderByCriterion<
                Omit<
                    PgTableWithColumns<
                        {
                            columns: {
                                bankId: PgBuildColumn<
                                    "wire_email",
                                    Set$Type<SetNotNull<(...)>, string>,
                                    {
                                        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: "wire_email";
                                    },
                                >;
                                body: PgBuildColumn<
                                    "wire_email",
                                    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: "wire_email";
                                    },
                                >;
                                createdAt: PgBuildColumn<
                                    "wire_email",
                                    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: "wire_email";
                                    },
                                >;
                                externalId: PgBuildColumn<
                                    "wire_email",
                                    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: "wire_email";
                                    },
                                >;
                                id: PgBuildColumn<
                                    "wire_email",
                                    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: "wire_email";
                                    },
                                >;
                                messageId: PgBuildColumn<
                                    "wire_email",
                                    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: "wire_email";
                                    },
                                >;
                                parsed: PgBuildColumn<
                                    "wire_email",
                                    Set$Type<PgJsonbBuilder, WireEmailParsed>,
                                    {
                                        data: WireEmailParsed;
                                        dataType: "object json";
                                        driverParam: unknown;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "wire_email";
                                    },
                                >;
                                receivedAt: PgBuildColumn<
                                    "wire_email",
                                    SetNotNull<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: true;
                                        tableName: "wire_email";
                                    },
                                >;
                                status: PgBuildColumn<
                                    "wire_email",
                                    Set$Type<SetHasDefault<(...)>, (...) | (...) | (...) | (...) | (...)>,
                                    {
                                        data: (...) | (...) | (...) | (...) | (...);
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "wire_email";
                                    },
                                >;
                                updatedAt: PgBuildColumn<
                                    "wire_email",
                                    SetHasDefault<SetHasDefault<(...)>>,
                                    {
                                        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: "wire_email";
                                    },
                                >;
                            };
                            dialect: "pg";
                            name: "wire_email";
                            schema: "b2b";
                        },
                    >,
                    "enableRLS",
                >,
                "id"
                | "createdAt"
                | "receivedAt",
            >[];
            page?: number;
            pageSize?: number;
            q?: string;
            receivedAt?: DbTimestampCriteria;
            statuses?: (
                "IGNORED"
                | "RECEIVED"
                | "RECONCILED"
                | "UNMATCHED"
                | "UNPARSED"
            )[];
            types?: ("CREDIT" | "DEBIT")[];
            wireNumbers?: string[];
        }
        • OptionalbankIds?: string[]
        • OptionalcreatedAt?: DbTimestampCriteria
        • Optionalids?: string[]
        • OptionalmessageIds?: string[]

          SES message ids. Used by the inbox to resolve a page of S3 objects.

        • OptionalorderBy?: DbOrderByCriterion<
              Omit<
                  PgTableWithColumns<
                      {
                          columns: {
                              bankId: PgBuildColumn<
                                  "wire_email",
                                  Set$Type<SetNotNull<(...)>, string>,
                                  {
                                      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: "wire_email";
                                  },
                              >;
                              body: PgBuildColumn<
                                  "wire_email",
                                  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: "wire_email";
                                  },
                              >;
                              createdAt: PgBuildColumn<
                                  "wire_email",
                                  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: "wire_email";
                                  },
                              >;
                              externalId: PgBuildColumn<
                                  "wire_email",
                                  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: "wire_email";
                                  },
                              >;
                              id: PgBuildColumn<
                                  "wire_email",
                                  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: "wire_email";
                                  },
                              >;
                              messageId: PgBuildColumn<
                                  "wire_email",
                                  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: "wire_email";
                                  },
                              >;
                              parsed: PgBuildColumn<
                                  "wire_email",
                                  Set$Type<PgJsonbBuilder, WireEmailParsed>,
                                  {
                                      data: WireEmailParsed;
                                      dataType: "object json";
                                      driverParam: unknown;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "wire_email";
                                  },
                              >;
                              receivedAt: PgBuildColumn<
                                  "wire_email",
                                  SetNotNull<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: true;
                                      tableName: "wire_email";
                                  },
                              >;
                              status: PgBuildColumn<
                                  "wire_email",
                                  Set$Type<SetHasDefault<(...)>, (...) | (...) | (...) | (...) | (...)>,
                                  {
                                      data: (...) | (...) | (...) | (...) | (...);
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "wire_email";
                                  },
                              >;
                              updatedAt: PgBuildColumn<
                                  "wire_email",
                                  SetHasDefault<SetHasDefault<(...)>>,
                                  {
                                      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: "wire_email";
                                  },
                              >;
                          };
                          dialect: "pg";
                          name: "wire_email";
                          schema: "b2b";
                      },
                  >,
                  "enableRLS",
              >,
              "id"
              | "createdAt"
              | "receivedAt",
          >[]
        • Optionalpage?: number

          Defaults to 1

        • OptionalpageSize?: number

          Defaults to 50

        • Optionalq?: string

          Free-text filter: case-insensitive substring across the parsed wire number, IMAD/OMAD, sender name, SES message id, and raw body.

        • OptionalreceivedAt?: DbTimestampCriteria
        • Optionalstatuses?: ("IGNORED" | "RECEIVED" | "RECONCILED" | "UNMATCHED" | "UNPARSED")[]
        • Optionaltypes?: ("CREDIT" | "DEBIT")[]
        • OptionalwireNumbers?: string[]

          Exact match on the parsed wire sequence number. This is the key a synced bank_transaction carries in its statement description ("Wire 100692787 …"), so it is how a transaction finds the notification email about the same movement. Distinct from q, which substring-matches the same field among five others — a reconciliation lookup must not match a wire number that merely appears inside some other email's body.

      Returns Promise<
          {
              ok: true;
              value: { hasNext: boolean; items: WireEmail[]; total: number };
          },
      >

    • status is the only writable column, and only the two outcomes of an actual posting attempt can be written: RECONCILED (a bank_transaction now covers this wire) and UNMATCHED (we tried to resolve the account and could not). A wire we never attempted — wrong bank, a debit, no account line — keeps whatever create gave it, because "not tried" and "tried and failed" are different operator queues and collapsing them buries the second in the first. The other three statuses are create's to set from the parse outcome, so they are excluded at the type level rather than by a runtime check.

      Parameters

      • args: { data: { status: "RECONCILED" | "UNMATCHED" }; id: string }

      Returns Promise<{ ok: true; value: WireEmail } | { error: ServiceError; ok: false }>