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

    IDENTITY workspaces. Kept apart from the customer dashboard's memberships, which never list these.

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

    The process service: the shared database, identities and their memberships.

    • A new IDENTITY workspace, with userId as its member when given. Given an identityId, links it through IdentityAdminService.update in the same transaction; a refused membership or link rolls the workspace back. Cold sign-up creates the identity first (IdentityService.create, which runs AML outside any transaction), then calls this with its id. On an error, a caller's tx must be rolled back by the caller.

      Parameters

      • __namedParameters: {
            customerId: string;
            identityId?: string;
            tx?: PgAsyncTransaction<NodePgQueryResultHKT, EmptyRelations>;
            userId?: string;
        }
        • customerId: string
        • OptionalidentityId?: string

          Links this existing identity; omitted to link one later, through IdentityAdminService.update.

        • Optionaltx?: PgAsyncTransaction<NodePgQueryResultHKT, EmptyRelations>
        • OptionaluserId?: string

          Omitted when the person joins later, through the membership service.

      Returns Promise<
          | { ok: true; value: IdentityDashboardWorkspace }
          | { error: CreateError; ok: false },
      >

    • Parameters

      • __namedParameters: {
            customerIds?: string[];
            identityIds?: string[];
            ids?: string[];
            orderBy?: DbOrderByCriterion<
                Omit<
                    PgTableWithColumns<
                        {
                            columns: {
                                billingAttention: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                billingEmailAddresses: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    SetHasDefault<SetNotNull<(...)>>,
                                    {
                                        data: (...)[];
                                        dataType: "string";
                                        driverParam: (...) | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "customer_dashboard_workspace";
                                    },
                                >;
                                createdAt: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                customerExternalId: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                customerId: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                externalId: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                id: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                kind: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                logoPath: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                notifications: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    Set$Type<
                                        PgJsonbBuilder,
                                        { email?: ...; internalEmailUserIds?: ...; slack?: ...; sms?: ... },
                                    >,
                                    {
                                        data: {
                                            email?: ...;
                                            internalEmailUserIds?: ...;
                                            slack?: ...;
                                            sms?: ...;
                                        };
                                        dataType: "object json";
                                        driverParam: unknown;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "customer_dashboard_workspace";
                                    },
                                >;
                                roleSetExternalId: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                roleSetId: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                                updatedAt: PgBuildColumn<
                                    "customer_dashboard_workspace",
                                    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: "customer_dashboard_workspace";
                                    },
                                >;
                            };
                            dialect: "pg";
                            isAlias: false;
                            name: "customer_dashboard_workspace";
                            schema: "b2b";
                        },
                    >,
                    "enableRLS",
                >,
                "createdAt"
                | "updatedAt",
            >[];
            page?: number;
            pageSize?: number;
            tx?: PgAsyncTransaction<NodePgQueryResultHKT, EmptyRelations>;
            userIds?: string[];
        } = {}
        • OptionalcustomerIds?: string[]
        • OptionalidentityIds?: string[]
        • Optionalids?: string[]
        • OptionalorderBy?: DbOrderByCriterion<
              Omit<
                  PgTableWithColumns<
                      {
                          columns: {
                              billingAttention: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              billingEmailAddresses: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  SetHasDefault<SetNotNull<(...)>>,
                                  {
                                      data: (...)[];
                                      dataType: "string";
                                      driverParam: (...) | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "customer_dashboard_workspace";
                                  },
                              >;
                              createdAt: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              customerExternalId: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              customerId: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              externalId: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              id: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              kind: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              logoPath: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              notifications: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  Set$Type<
                                      PgJsonbBuilder,
                                      { email?: ...; internalEmailUserIds?: ...; slack?: ...; sms?: ... },
                                  >,
                                  {
                                      data: {
                                          email?: ...;
                                          internalEmailUserIds?: ...;
                                          slack?: ...;
                                          sms?: ...;
                                      };
                                      dataType: "object json";
                                      driverParam: unknown;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "customer_dashboard_workspace";
                                  },
                              >;
                              roleSetExternalId: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              roleSetId: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                              updatedAt: PgBuildColumn<
                                  "customer_dashboard_workspace",
                                  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: "customer_dashboard_workspace";
                                  },
                              >;
                          };
                          dialect: "pg";
                          isAlias: false;
                          name: "customer_dashboard_workspace";
                          schema: "b2b";
                      },
                  >,
                  "enableRLS",
              >,
              "createdAt"
              | "updatedAt",
          >[]
        • Optionalpage?: number

          Defaults to 1

        • OptionalpageSize?: number

          Defaults to 50

        • Optionaltx?: PgAsyncTransaction<NodePgQueryResultHKT, EmptyRelations>
        • OptionaluserIds?: string[]

          Workspaces with a live membership for one of these dashboard users

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