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

    Variable productVendorTableConst

    productVendorTable: Omit<
        PgTableWithColumns<
            {
                columns: {
                    bankExternalId: PgBuildColumn<
                        "product_vendor",
                        Set$Type<PgTextBuilder<[string, ...string[]]>, string>,
                        {
                            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: "product_vendor";
                        },
                    >;
                    bankId: PgBuildColumn<
                        "product_vendor",
                        PgIntegerBuilder,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string
                            | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: false;
                            tableName: "product_vendor";
                        },
                    >;
                    createdAt: PgBuildColumn<
                        "product_vendor",
                        SetHasDefault<
                            SetNotNull<
                                PgCustomColumnBuilder<
                                    { data: Instant; dataType: "custom"; driverParam: string },
                                >,
                            >,
                        >,
                        {
                            data: Instant;
                            dataType: "custom";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "product_vendor";
                        },
                    >;
                    currentVersionId: PgBuildColumn<
                        "product_vendor",
                        SetNotNull<PgIntegerBuilder>,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "product_vendor";
                        },
                    >;
                    deletedAt: PgBuildColumn<
                        "product_vendor",
                        PgCustomColumnBuilder<
                            { data: Instant; dataType: "custom"; driverParam: string },
                        >,
                        {
                            data: Instant;
                            dataType: "custom";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: false;
                            tableName: "product_vendor";
                        },
                    >;
                    externalId: PgBuildColumn<
                        "product_vendor",
                        Set$Type<SetNotNull<PgTextBuilder<[string, ...string[]]>>, Vendor>,
                        {
                            data: Vendor;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "product_vendor";
                        },
                    >;
                    id: PgBuildColumn<
                        "product_vendor",
                        HasIdentity<SetIsPrimaryKey<PgIntegerBuilder>, "byDefault">,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: "byDefault";
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "product_vendor";
                        },
                    >;
                    name: PgBuildColumn<
                        "product_vendor",
                        SetNotNull<PgTextBuilder<[string, ...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: "product_vendor";
                        },
                    >;
                    searchDocument: PgBuildColumn<
                        "product_vendor",
                        SetHasGenerated<SetNotNull<PgTextBuilder<[string, ...string[]]>>>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: true;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "product_vendor";
                        },
                    >;
                    updatedAt: PgBuildColumn<
                        "product_vendor",
                        SetHasDefault<
                            SetHasDefault<
                                SetNotNull<
                                    PgCustomColumnBuilder<
                                        { data: Instant; dataType: "custom"; driverParam: string },
                                    >,
                                >,
                            >,
                        >,
                        {
                            data: Instant;
                            dataType: "custom";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "product_vendor";
                        },
                    >;
                };
                dialect: "pg";
                isAlias: false;
                name: "product_vendor";
                schema: "b2b";
            },
        >,
        "enableRLS",
    > = ...

    Reference table for product-route vendors. externalId is the literal Vendor string — productRouteVersionTable.vendorId FKs into this table.

    bankId is set for BankVendor rows (must equal the vendor's externalId lookup against b2b.bank) and null for NonBankVendor rows. The pairing is asserted in service code via vendorBankIdMismatch.

    Carries vendor identity (name, bank linkage) only. Fees and limit ceilings are per-route, on product_route_version; a vendor's own restriction is a vendor-scoped cross-route activation rule.