Kaizen
Browse modulesRulesrules/serverClasses

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

ParameterType
prismaClientPrismaClientLike<Tx<PrismaClient<PrismaClientOptions, never, DefaultArgs>>> & PrismaClient<PrismaClientOptions, never, DefaultArgs>
optionsRepositoryOptions

Returns

RuleCrudRepository

Inherited from

CrudRepository.constructor

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

CrudRepository.ENTITY_TYPE


logger?

protected readonly optional logger?: Logger;

Defined in: server/persistence/base-repository.ts:64

Inherited from

CrudRepository.logger


prismaClient

protected prismaClient: PrismaClientLike<Tx<PrismaClient<PrismaClientOptions, never, DefaultArgs>>> & PrismaClient<PrismaClientOptions, never, DefaultArgs>;

Defined in: server/persistence/base-repository.ts:69

Inherited from

CrudRepository.prismaClient

Accessors

actorId

Get Signature

get protected actorId(): string | null | undefined;

Defined in: server/persistence/base-repository.ts:76

Returns

string | null | undefined

Inherited from

CrudRepository.actorId


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

CrudRepository.auditCreate


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

CrudRepository.auditDelete


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

CrudRepository.auditUpdate


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 normally
Returns

this

Inherited from

CrudRepository.silent


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

CrudRepository.tx

Methods

_count()

protected _count(): Promise<number>;

Defined in: server/rules/rule-crud-repository.ts:83

Returns

Promise<number>

Overrides

CrudRepository._count


_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

ParameterType
inputCreateInput

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

CrudRepository._create


_exists()

protected _exists(id: string): Promise<boolean>;

Defined in: server/rules/rule-crud-repository.ts:76

Parameters

ParameterType
idstring

Returns

Promise<boolean>

Overrides

CrudRepository._exists


_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

ParameterType
idstring

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

CrudRepository._findById


_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

ParameterType
pagination{ page: number; pageSize: number; }
pagination.pagenumber
pagination.pageSizenumber

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

CrudRepository._findMany


_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

ParameterType
idstring

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

CrudRepository._hardDelete


_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

ParameterType
idstring

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

CrudRepository._softDelete


_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

ParameterType
idstring
patchUpdateInput

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

CrudRepository._update


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

ParameterType
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.createdAtDate
entity.createdBystring | null
entity.currentVersionIdstring | null
entity.deletedAtDate | null
entity.deletedBystring | null
entity.descriptionstring | null
entity.domainstring
entity.idstring
entity.identifierstring
entity.modulestring | null
entity.namestring
entity.organizationIdstring
entity.rateTierIdstring | null
entity.scheduleConditionIdstring | null
entity.statusRuleStatus
entity.statusUpdatedAtDate
entity.statusUpdatedBystring | null
entity.updatedAtDate
entity.updatedBystring | null
_inputCreateInput

Returns

Promise<void>

Inherited from

CrudRepository.afterCreate


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

ParameterType
_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.createdAtDate
_entity.createdBystring | null
_entity.currentVersionIdstring | null
_entity.deletedAtDate | null
_entity.deletedBystring | null
_entity.descriptionstring | null
_entity.domainstring
_entity.idstring
_entity.identifierstring
_entity.modulestring | null
_entity.namestring
_entity.organizationIdstring
_entity.rateTierIdstring | null
_entity.scheduleConditionIdstring | null
_entity.statusRuleStatus
_entity.statusUpdatedAtDate
_entity.statusUpdatedBystring | null
_entity.updatedAtDate
_entity.updatedBystring | null
idstring

Returns

Promise<void>

Inherited from

CrudRepository.afterDelete


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

ParameterType
_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.createdAtDate
_entity.createdBystring | null
_entity.currentVersionIdstring | null
_entity.deletedAtDate | null
_entity.deletedBystring | null
_entity.descriptionstring | null
_entity.domainstring
_entity.idstring
_entity.identifierstring
_entity.modulestring | null
_entity.namestring
_entity.organizationIdstring
_entity.rateTierIdstring | null
_entity.scheduleConditionIdstring | null
_entity.statusRuleStatus
_entity.statusUpdatedAtDate
_entity.statusUpdatedBystring | null
_entity.updatedAtDate
_entity.updatedBystring | null
idstring
inputPartial<{ 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

CrudRepository.afterUpdate


beforeCreate()

protected beforeCreate(_input: CreateInput): Promise<void>;

Defined in: server/persistence/base-repository.ts:315

Parameters

ParameterType
_inputCreateInput

Returns

Promise<void>

Inherited from

CrudRepository.beforeCreate


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

ParameterType
_idstring
_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.createdAtDate
_existing.createdBystring | null
_existing.currentVersionIdstring | null
_existing.deletedAtDate | null
_existing.deletedBystring | null
_existing.descriptionstring | null
_existing.domainstring
_existing.idstring
_existing.identifierstring
_existing.modulestring | null
_existing.namestring
_existing.organizationIdstring
_existing.rateTierIdstring | null
_existing.scheduleConditionIdstring | null
_existing.statusRuleStatus
_existing.statusUpdatedAtDate
_existing.statusUpdatedBystring | null
_existing.updatedAtDate
_existing.updatedBystring | null

Returns

Promise<void>

Inherited from

CrudRepository.beforeDelete


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

ParameterType
_idstring
_inputPartial<{ 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.createdAtDate
_existing.createdBystring | null
_existing.currentVersionIdstring | null
_existing.deletedAtDate | null
_existing.deletedBystring | null
_existing.descriptionstring | null
_existing.domainstring
_existing.idstring
_existing.identifierstring
_existing.modulestring | null
_existing.namestring
_existing.organizationIdstring
_existing.rateTierIdstring | null
_existing.scheduleConditionIdstring | null
_existing.statusRuleStatus
_existing.statusUpdatedAtDate
_existing.statusUpdatedBystring | null
_existing.updatedAtDate
_existing.updatedBystring | null

Returns

Promise<void>

Inherited from

CrudRepository.beforeUpdate


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

CrudRepository.consumeSilent


count()

count(): Promise<number>;

Defined in: server/persistence/base-repository.ts:191

Returns

Promise<number>

Inherited from

CrudRepository.count


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

ParameterType
inputCreateInput

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.create


exists()

exists(id: string): Promise<boolean>;

Defined in: server/persistence/base-repository.ts:187

Parameters

ParameterType
idstring

Returns

Promise<boolean>

Inherited from

CrudRepository.exists


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

ParameterType
domainstring
organizationIdstring

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

ParameterType
idstring

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

CrudRepository.findById


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

ParameterType
idstring

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

ParameterType
organizationIdstring
identifierstring

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

ParameterType
rateTierIdstring
scheduleConditionIdstring

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

ParameterType
rateTierIdstring

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

ParameterType
scheduleConditionIdstring

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

ParameterType
domainstring
organizationIdstring

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

ParameterType
pagination{ page: number; pageSize: number; }
pagination.pagenumber
pagination.pageSizenumber

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

CrudRepository.findMany


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

ParameterType
domainstring
organizationIdstring

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

ParameterType
idstring

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.hardDelete


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

ParameterType
_entityIdstring
_actionstring
_metadata?Record<string, unknown>

Returns

Promise<void>

Inherited from

CrudRepository.logActivity


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

ParameterType
idstring

Returns

Error

Overrides

CrudRepository.notFoundError


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

ParameterType
ruleIdstring

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

ParameterType
idstring

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.softDelete


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

ParameterType
idstring
inputPartial<{ 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; }>

Inherited from

CrudRepository.update

On this page

ExtendsConstructorsConstructorParametersReturnsInherited fromPropertiesENTITY_TYPE?Inherited fromlogger?Inherited fromprismaClientInherited fromAccessorsactorIdGet SignatureReturnsInherited fromauditCreateGet SignatureReturnscreatedByupdatedByInherited fromauditDeleteGet SignatureReturnsdeletedAtdeletedByInherited fromauditUpdateGet SignatureReturnsupdatedByInherited fromsilentGet SignatureExampleReturnsInherited fromtxGet SignatureReturnsInherited fromMethods_count()ReturnsOverrides_create()ParametersReturnsOverrides_exists()ParametersReturnsOverrides_findById()ParametersReturnsOverrides_findMany()ParametersReturnsOverrides_hardDelete()ParametersReturnsOverrides_softDelete()ParametersReturnsOverrides_update()ParametersReturnsOverridesafterCreate()ParametersReturnsInherited fromafterDelete()ParametersReturnsInherited fromafterUpdate()ParametersReturnsInherited frombeforeCreate()ParametersReturnsInherited frombeforeDelete()ParametersReturnsInherited frombeforeUpdate()ParametersReturnsInherited fromconsumeSilent()ReturnsInherited fromcount()ReturnsInherited fromcreate()ParametersReturnsInherited fromexists()ParametersReturnsInherited fromfindActiveByDomainAndOrg()ParametersReturnsfindById()ParametersReturnsInherited fromfindByIdOrThrow()ParametersReturnsInherited fromfindByOrgAndIdentifier()ParametersReturnsfindCellIncludingDeleted()ParametersReturnsfindLiveCellsByRateTierId()ParametersReturnsfindLiveCellsByScheduleConditionId()ParametersReturnsfindLiveMatrixCellsByOrg()ParametersReturnsfindMany()ParametersReturnsInherited fromfindMatrixManagedIdsByDomainAndOrgIncludingDeleted()ParametersReturnshardDelete()ParametersReturnsInherited fromlogActivity()ParametersReturnsInherited fromnotFoundError()ParametersReturnsOverridesrestore()ParametersReturnssoftDelete()ParametersReturnsInherited fromupdate()ParametersReturnsInherited from