BrandApp Playground

Filter Builder

Compose AttributeFilter[] entries with the SDK's where() DSL — every operator (eq, neq, contains, gt/gte/lt/lte, isNull, isNotNull, after, before) — and run them against records.list().

No entities found. Run the seed (reopt.seed.ts) or define a schema first.
where-operators.ts
import { where } from "@reopt-ai/brandapp-sdk/eav";

// Equality / inequality
where("status").eq("active");
where("status").neq("archived");

// Numbers
where("age").gt(18);
where("age").gte(18);
where("score").lt(100);
where("score").lte(100);

// Strings
where("email").contains("@acme.com");

// Null
where("deletedAt").isNull();
where("verifiedAt").isNotNull();

// Dates (Date or ISO string)
where("createdAt").after(new Date("2026-01-01"));
where("createdAt").before("2026-06-01T00:00:00Z");

// Pass to records.list — filters AND together
const { records } = await sdk.eav.records.list(entityId, {
  filters: [
    where("status").eq("active"),
    where("age").gte(18),
  ],
});