Class: RuleCrudRepository
Defined in: server/rules/rule-crud-repository.ts:58
CRUD repository for Rules parent rows. Pairs with RuleVersionRepository
for the immutable per-version content. The flattened, engine-shaped read
path lives on the separate read-only RuleRepository — this class works in
camelCase Prisma rows so service code can keep both worlds isolated.
Extends
CrudRepository<PrismaClient,Rules,CreateInput,UpdateInput,string,Tx<PrismaClient>>
Constructors
Constructor
new RuleCrudRepository(prismaClient: PrismaClientLike<Tx<PrismaClient<PrismaClientOptions, never, DefaultArgs>>> & PrismaClient<PrismaClientOptions, never, DefaultArgs>, options?: RepositoryOptions): RuleCrudRepository;Defined in: server/persistence/base-repository.ts:68
Parameters
| Parameter | Type |
|---|---|
prismaClient | PrismaClientLike<Tx<PrismaClient<PrismaClientOptions, never, DefaultArgs>>> & PrismaClient<PrismaClientOptions, never, DefaultArgs> |
options | RepositoryOptions |
Returns
RuleCrudRepository
Inherited from
Properties
ENTITY_TYPE?
protected readonly optional ENTITY_TYPE?: string;Defined in: server/persistence/base-repository.ts:61
Set ENTITY_TYPE in child repositories to enable automatic activity
logging. When set, create/update/delete operations auto-log unless
silenced with .silent. Requires an activity model on the consumer's
Prisma schema.
Inherited from
logger?
protected readonly optional logger?: Logger;Defined in: server/persistence/base-repository.ts:64
Inherited from
prismaClient
protected prismaClient: PrismaClientLike<Tx<PrismaClient<PrismaClientOptions, never, DefaultArgs>>> & PrismaClient<PrismaClientOptions, never, DefaultArgs>;Defined in: server/persistence/base-repository.ts:69
Inherited from
Accessors
actorId
Get Signature
get protected actorId(): string | null | undefined;Defined in: server/persistence/base-repository.ts:76
Returns
string | null | undefined
Inherited from
auditCreate
Get Signature
get protected auditCreate(): {
createdBy: string | null | undefined;
updatedBy: string | null | undefined;
};Defined in: server/persistence/base-repository.ts:90
Returns
{
createdBy: string | null | undefined;
updatedBy: string | null | undefined;
}createdBy
createdBy: string | null | undefined = actorId;updatedBy
updatedBy: string | null | undefined = actorId;Inherited from
auditDelete
Get Signature
get protected auditDelete(): {
deletedAt: Date;
deletedBy: string | null | undefined;
};Defined in: server/persistence/base-repository.ts:99
Returns
{
deletedAt: Date;
deletedBy: string | null | undefined;
}deletedAt
deletedAt: Date;deletedBy
deletedBy: string | null | undefined;Inherited from
auditUpdate
Get Signature
get protected auditUpdate(): {
updatedBy: string | null | undefined;
};Defined in: server/persistence/base-repository.ts:95
Returns
{
updatedBy: string | null | undefined;
}updatedBy
updatedBy: string | null | undefined;Inherited from
silent
Get Signature
get silent(): this;Defined in: server/persistence/base-repository.ts:115
Suppress activity logging for the next mutation call. One-shot: the flag is consumed by the next create/update/delete.
Example
await repo.silent.update(id, data); // no activity logged
await repo.update(id, data); // activity logged normallyReturns
this
Inherited from
tx
Get Signature
get protected tx(): TTx;Defined in: server/persistence/base-repository.ts:86
The current Prisma handle: the active transaction if one is running on this async context, otherwise the raw client.
Returns
TTx
Inherited from
Methods
_count()
protected _count(): Promise<number>;Defined in: server/rules/rule-crud-repository.ts:83
Returns
Promise<number>
Overrides
_create()
protected _create(input: CreateInput): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/rules/rule-crud-repository.ts:104
Parameters
| Parameter | Type |
|---|---|
input | CreateInput |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
Overrides
_exists()
protected _exists(id: string): Promise<boolean>;Defined in: server/rules/rule-crud-repository.ts:76
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<boolean>
Overrides
_findById()
protected _findById(id: string): Promise<
| {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
| null>;Defined in: server/rules/rule-crud-repository.ts:70
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<
| {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
| null>
Overrides
_findMany()
protected _findMany(pagination: {
page: number;
pageSize: number;
}): Promise<{
items: {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}[];
total: number;
}>;Defined in: server/rules/rule-crud-repository.ts:87
Parameters
| Parameter | Type |
|---|---|
pagination | { page: number; pageSize: number; } |
pagination.page | number |
pagination.pageSize | number |
Returns
Promise<{
items: {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}[];
total: number;
}>
Overrides
_hardDelete()
protected _hardDelete(id: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/rules/rule-crud-repository.ts:141
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
Overrides
_softDelete()
protected _softDelete(id: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/rules/rule-crud-repository.ts:134
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
Overrides
_update()
protected _update(id: string, patch: UpdateInput): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/rules/rule-crud-repository.ts:117
Parameters
| Parameter | Type |
|---|---|
id | string |
patch | UpdateInput |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
Overrides
afterCreate()
protected afterCreate(entity: {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}, _input: CreateInput): Promise<void>;Defined in: server/persistence/base-repository.ts:316
Parameters
| Parameter | Type |
|---|---|
entity | { createdAt: Date; createdBy: string | null; currentVersionId: string | null; deletedAt: Date | null; deletedBy: string | null; description: string | null; domain: string; id: string; identifier: string; module: string | null; name: string; organizationId: string; rateTierId: string | null; scheduleConditionId: string | null; status: RuleStatus; statusUpdatedAt: Date; statusUpdatedBy: string | null; updatedAt: Date; updatedBy: string | null; } |
entity.createdAt | Date |
entity.createdBy | string | null |
entity.currentVersionId | string | null |
entity.deletedAt | Date | null |
entity.deletedBy | string | null |
entity.description | string | null |
entity.domain | string |
entity.id | string |
entity.identifier | string |
entity.module | string | null |
entity.name | string |
entity.organizationId | string |
entity.rateTierId | string | null |
entity.scheduleConditionId | string | null |
entity.status | RuleStatus |
entity.statusUpdatedAt | Date |
entity.statusUpdatedBy | string | null |
entity.updatedAt | Date |
entity.updatedBy | string | null |
_input | CreateInput |
Returns
Promise<void>
Inherited from
afterDelete()
protected afterDelete(_entity: {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}, id: string): Promise<void>;Defined in: server/persistence/base-repository.ts:390
Parameters
| Parameter | Type |
|---|---|
_entity | { createdAt: Date; createdBy: string | null; currentVersionId: string | null; deletedAt: Date | null; deletedBy: string | null; description: string | null; domain: string; id: string; identifier: string; module: string | null; name: string; organizationId: string; rateTierId: string | null; scheduleConditionId: string | null; status: RuleStatus; statusUpdatedAt: Date; statusUpdatedBy: string | null; updatedAt: Date; updatedBy: string | null; } |
_entity.createdAt | Date |
_entity.createdBy | string | null |
_entity.currentVersionId | string | null |
_entity.deletedAt | Date | null |
_entity.deletedBy | string | null |
_entity.description | string | null |
_entity.domain | string |
_entity.id | string |
_entity.identifier | string |
_entity.module | string | null |
_entity.name | string |
_entity.organizationId | string |
_entity.rateTierId | string | null |
_entity.scheduleConditionId | string | null |
_entity.status | RuleStatus |
_entity.statusUpdatedAt | Date |
_entity.statusUpdatedBy | string | null |
_entity.updatedAt | Date |
_entity.updatedBy | string | null |
id | string |
Returns
Promise<void>
Inherited from
afterUpdate()
protected afterUpdate(
_entity: {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
},
id: string,
input: Partial<{
currentVersionId: string | null;
description: string | null;
module: string | null;
name: string;
status: "active" | "inactive" | "archived";
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
}>
): Promise<void>;Defined in: server/persistence/base-repository.ts:328
Parameters
| Parameter | Type |
|---|---|
_entity | { createdAt: Date; createdBy: string | null; currentVersionId: string | null; deletedAt: Date | null; deletedBy: string | null; description: string | null; domain: string; id: string; identifier: string; module: string | null; name: string; organizationId: string; rateTierId: string | null; scheduleConditionId: string | null; status: RuleStatus; statusUpdatedAt: Date; statusUpdatedBy: string | null; updatedAt: Date; updatedBy: string | null; } |
_entity.createdAt | Date |
_entity.createdBy | string | null |
_entity.currentVersionId | string | null |
_entity.deletedAt | Date | null |
_entity.deletedBy | string | null |
_entity.description | string | null |
_entity.domain | string |
_entity.id | string |
_entity.identifier | string |
_entity.module | string | null |
_entity.name | string |
_entity.organizationId | string |
_entity.rateTierId | string | null |
_entity.scheduleConditionId | string | null |
_entity.status | RuleStatus |
_entity.statusUpdatedAt | Date |
_entity.statusUpdatedBy | string | null |
_entity.updatedAt | Date |
_entity.updatedBy | string | null |
id | string |
input | Partial<{ currentVersionId: string | null; description: string | null; module: string | null; name: string; status: "active" | "inactive" | "archived"; statusUpdatedAt: Date; statusUpdatedBy: string | null; }> |
Returns
Promise<void>
Inherited from
beforeCreate()
protected beforeCreate(_input: CreateInput): Promise<void>;Defined in: server/persistence/base-repository.ts:315
Parameters
| Parameter | Type |
|---|---|
_input | CreateInput |
Returns
Promise<void>
Inherited from
beforeDelete()
protected beforeDelete(_id: string, _existing: {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}): Promise<void>;Defined in: server/persistence/base-repository.ts:388
Parameters
| Parameter | Type |
|---|---|
_id | string |
_existing | { createdAt: Date; createdBy: string | null; currentVersionId: string | null; deletedAt: Date | null; deletedBy: string | null; description: string | null; domain: string; id: string; identifier: string; module: string | null; name: string; organizationId: string; rateTierId: string | null; scheduleConditionId: string | null; status: RuleStatus; statusUpdatedAt: Date; statusUpdatedBy: string | null; updatedAt: Date; updatedBy: string | null; } |
_existing.createdAt | Date |
_existing.createdBy | string | null |
_existing.currentVersionId | string | null |
_existing.deletedAt | Date | null |
_existing.deletedBy | string | null |
_existing.description | string | null |
_existing.domain | string |
_existing.id | string |
_existing.identifier | string |
_existing.module | string | null |
_existing.name | string |
_existing.organizationId | string |
_existing.rateTierId | string | null |
_existing.scheduleConditionId | string | null |
_existing.status | RuleStatus |
_existing.statusUpdatedAt | Date |
_existing.statusUpdatedBy | string | null |
_existing.updatedAt | Date |
_existing.updatedBy | string | null |
Returns
Promise<void>
Inherited from
beforeUpdate()
protected beforeUpdate(
_id: string,
_input: Partial<{
currentVersionId: string | null;
description: string | null;
module: string | null;
name: string;
status: "active" | "inactive" | "archived";
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
}>,
_existing: {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
): Promise<void>;Defined in: server/persistence/base-repository.ts:323
Parameters
| Parameter | Type |
|---|---|
_id | string |
_input | Partial<{ currentVersionId: string | null; description: string | null; module: string | null; name: string; status: "active" | "inactive" | "archived"; statusUpdatedAt: Date; statusUpdatedBy: string | null; }> |
_existing | { createdAt: Date; createdBy: string | null; currentVersionId: string | null; deletedAt: Date | null; deletedBy: string | null; description: string | null; domain: string; id: string; identifier: string; module: string | null; name: string; organizationId: string; rateTierId: string | null; scheduleConditionId: string | null; status: RuleStatus; statusUpdatedAt: Date; statusUpdatedBy: string | null; updatedAt: Date; updatedBy: string | null; } |
_existing.createdAt | Date |
_existing.createdBy | string | null |
_existing.currentVersionId | string | null |
_existing.deletedAt | Date | null |
_existing.deletedBy | string | null |
_existing.description | string | null |
_existing.domain | string |
_existing.id | string |
_existing.identifier | string |
_existing.module | string | null |
_existing.name | string |
_existing.organizationId | string |
_existing.rateTierId | string | null |
_existing.scheduleConditionId | string | null |
_existing.status | RuleStatus |
_existing.statusUpdatedAt | Date |
_existing.statusUpdatedBy | string | null |
_existing.updatedAt | Date |
_existing.updatedBy | string | null |
Returns
Promise<void>
Inherited from
consumeSilent()
protected consumeSilent(): boolean;Defined in: server/persistence/base-repository.ts:128
Consume and reset the silent flag. Called by template methods.
Returns
boolean
Inherited from
count()
count(): Promise<number>;Defined in: server/persistence/base-repository.ts:191
Returns
Promise<number>
Inherited from
create()
create(input: CreateInput): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/persistence/base-repository.ts:292
Parameters
| Parameter | Type |
|---|---|
input | CreateInput |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
Inherited from
exists()
exists(id: string): Promise<boolean>;Defined in: server/persistence/base-repository.ts:187
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<boolean>
Inherited from
findActiveByDomainAndOrg()
findActiveByDomainAndOrg(domain: string, organizationId: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}[]>;Defined in: server/rules/rule-crud-repository.ts:163
Fetch every active, non-deleted rule for the given domain + organization.
Returns parent rows only — pair with RuleVersionRepository.findById for
the version content.
Parameters
| Parameter | Type |
|---|---|
domain | string |
organizationId | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}[]>
findById()
findById(id: string): Promise<
| {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
| null>;Defined in: server/persistence/base-repository.ts:177
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<
| {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
| null>
Inherited from
findByIdOrThrow()
findByIdOrThrow(id: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/persistence/base-repository.ts:181
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
Inherited from
CrudRepository.findByIdOrThrow
findByOrgAndIdentifier()
findByOrgAndIdentifier(organizationId: string, identifier: string): Promise<
| {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
| null>;Defined in: server/rules/rule-crud-repository.ts:149
Find a non-deleted rule by its caller-supplied (organizationId, identifier) pair. Used by seeders to skip already-inserted fixtures.
Parameters
| Parameter | Type |
|---|---|
organizationId | string |
identifier | string |
Returns
Promise<
| {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
| null>
findCellIncludingDeleted()
findCellIncludingDeleted(rateTierId: string, scheduleConditionId: string): Promise<
| {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
| null>;Defined in: server/rules/rule-crud-repository.ts:215
Find the matrix cell rule (PLA-136) for a given (rateTierId,
scheduleConditionId) pair, INCLUDING soft-deleted rows — unlike every
other finder on this class, which filters deletedAt: null by
default. PricingMatrixService.setCellPrice needs this to decide
whether to revive a previously-unset cell (soft-deleted), append a
new version to a live cell, or create fresh.
Parameters
| Parameter | Type |
|---|---|
rateTierId | string |
scheduleConditionId | string |
Returns
Promise<
| {
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}
| null>
findLiveCellsByRateTierId()
findLiveCellsByRateTierId(rateTierId: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}[]>;Defined in: server/rules/rule-crud-repository.ts:255
Every live (non-deleted) matrix cell rule (PLA-136) under a given rate
tier. Used by PricingMatrixService.deleteRateTier's cascade and
updateRateTierRequirements's condition_logic rebuild.
Parameters
| Parameter | Type |
|---|---|
rateTierId | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}[]>
findLiveCellsByScheduleConditionId()
findLiveCellsByScheduleConditionId(scheduleConditionId: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}[]>;Defined in: server/rules/rule-crud-repository.ts:242
Every live (non-deleted) matrix cell rule (PLA-136) under a given
schedule. Used by PricingMatrixService.deleteSchedule's cascade.
Parameters
| Parameter | Type |
|---|---|
scheduleConditionId | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}[]>
findLiveMatrixCellsByOrg()
findLiveMatrixCellsByOrg(domain: string, organizationId: string): Promise<LiveMatrixCell[]>;Defined in: server/rules/rule-crud-repository.ts:267
Live matrix cell rules for an org (PLA-136), with current-version
domainConfig joined in. Used by PricingRepository.getPricingMatrix
so the matrix read doesn't have to load every pricing rule twice
(engine shape + CRUD shape) just to recover the matrix FK columns.
Parameters
| Parameter | Type |
|---|---|
domain | string |
organizationId | string |
Returns
Promise<LiveMatrixCell[]>
findMany()
findMany(pagination: {
page: number;
pageSize: number;
}): Promise<OffsetPaginatedResult<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>>;Defined in: server/persistence/base-repository.ts:195
Parameters
| Parameter | Type |
|---|---|
pagination | { page: number; pageSize: number; } |
pagination.page | number |
pagination.pageSize | number |
Returns
Promise<OffsetPaginatedResult<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>>
Inherited from
findMatrixManagedIdsByDomainAndOrgIncludingDeleted()
findMatrixManagedIdsByDomainAndOrgIncludingDeleted(domain: string, organizationId: string): Promise<string[]>;Defined in: server/rules/rule-crud-repository.ts:187
Return the immutable ownership set for pricing-matrix rules, including soft-deleted and inactive rows. Matrix wiring is assigned only at parent creation and generic RuleService mutations cannot change it, so this set remains authoritative across a concurrent unset/status change. Read paths use it to avoid misclassifying a stale engine snapshot as an ordinary authored rule.
Parameters
| Parameter | Type |
|---|---|
domain | string |
organizationId | string |
Returns
Promise<string[]>
hardDelete()
hardDelete(id: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/persistence/base-repository.ts:377
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
Inherited from
logActivity()
protected logActivity(
_entityId: string,
_action: string,
_metadata?: Record<string, unknown>
): Promise<void>;Defined in: server/persistence/base-repository.ts:140
Log an activity entry.
NOTE: This is not implemented because there's no activity model implemented in taproot yet! https://linear.app/kaizenlabs/issue/ENG-7846/add-activity-log-tables
Parameters
| Parameter | Type |
|---|---|
_entityId | string |
_action | string |
_metadata? | Record<string, unknown> |
Returns
Promise<void>
Inherited from
notFoundError()
protected notFoundError(id: string): Error;Defined in: server/rules/rule-crud-repository.ts:66
Create a not-found error. Override to provide custom error types.
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Error
Overrides
restore()
restore(ruleId: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/rules/rule-crud-repository.ts:231
Clear deletedAt/deletedBy on a soft-deleted rule, reviving it in
place. Used by PricingMatrixService.setCellPrice's revive-on-reset
flow — the cell's identity (id, identifier) is preserved, so the
(organizationId, identifier) unique constraint is never at risk on
revive.
Parameters
| Parameter | Type |
|---|---|
ruleId | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
softDelete()
softDelete(id: string): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/persistence/base-repository.ts:366
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>
Inherited from
update()
update(id: string, input: Partial<{
currentVersionId: string | null;
description: string | null;
module: string | null;
name: string;
status: "active" | "inactive" | "archived";
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
}>): Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>;Defined in: server/persistence/base-repository.ts:301
Parameters
| Parameter | Type |
|---|---|
id | string |
input | Partial<{ currentVersionId: string | null; description: string | null; module: string | null; name: string; status: "active" | "inactive" | "archived"; statusUpdatedAt: Date; statusUpdatedBy: string | null; }> |
Returns
Promise<{
createdAt: Date;
createdBy: string | null;
currentVersionId: string | null;
deletedAt: Date | null;
deletedBy: string | null;
description: string | null;
domain: string;
id: string;
identifier: string;
module: string | null;
name: string;
organizationId: string;
rateTierId: string | null;
scheduleConditionId: string | null;
status: RuleStatus;
statusUpdatedAt: Date;
statusUpdatedBy: string | null;
updatedAt: Date;
updatedBy: string | null;
}>