Protected ReadonlydbStaticinstanceThe process default: built from each dependency's own instance().
Optionaldescription?: stringOptionaleffectiveFrom?: InstantWhen this version becomes effective. Defaults to now() at the
DB layer when omitted.
Optionallabel?: stringOptionalmatcher?: Matcher | undefinedReturns limit rules visible to this customer:
customerId IS NULL)type='ADMIN', customerId=input.customerId)type='CUSTOMER', customerId=input.customerId)Pass types: ["CUSTOMER"] from a controller to restrict to the customer's
own writable slice. Write paths always operate on the CUSTOMER slice
regardless of this filter.
OptionalcreatedAt?: DbTimestampCriteria<Instant>Optionalids?: string[]OptionalorderBy?: RuleOrderByCriterion[]Optionalpage?: numberOptionalpageSize?: numberOptionalproductCategories?: ProductCategory[]Matches category rules only.
OptionalrouteIds?: string[]Matches route rules only.
Optionalstatuses?: ("ACTIVE" | "DISABLED")[]Optionaltypes?: ("CUSTOMER" | "ADMIN")[]OptionalupdatedAt?: DbTimestampCriteria<Instant>
Customer-tier CRUD over
product_limit_rule. Always operates on thetype='CUSTOMER'slice. Customer rules can only TIGHTEN against the matching admin baseline (max columns ≤ admin baseline; min columns ≥ admin baseline). Violations returnINVALID_LIMIT_RULEnaming the offending column.Identity / version split: see ProductLimitRuleAdminService.
Internal admins must use
ProductLimitRuleAdminServiceinstead.