Kaizen
Browse modulesRulesrules/serverClasses

Class: RuleRecordWithVersion

Defined in: server/rules/models.ts:175

Wrapper around a Rules Prisma row. Distinct from the engine's Rule type (which is the version-flattened, snake_case shape the engine consumes) — the persistence layer keeps the rule's identity fields and its version content as separate models.

Extends

Constructors

Constructor

new RuleRecordWithVersion(input: {
  rule: {
     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;
  };
  version: {
     changeReason: string | null;
     conditionLogic: JsonValue;
     createdAt: Date;
     createdBy: string | null;
     deletedAt: Date | null;
     deletedBy: string | null;
     domainConfig: JsonValue;
     effectiveEnd: Date | null;
     effectiveStart: Date;
     id: string;
     priority: number;
     ruleEffectiveDate: Date | null;
     ruleExpirationDate: Date | null;
     ruleId: string;
     scopes: JsonValue;
     versionNumber: number;
  };
}): RuleRecordWithVersion;

Defined in: server/rules/models.ts:178

Parameters

ParameterType
input{ rule: { 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; }; version: { changeReason: string | null; conditionLogic: JsonValue; createdAt: Date; createdBy: string | null; deletedAt: Date | null; deletedBy: string | null; domainConfig: JsonValue; effectiveEnd: Date | null; effectiveStart: Date; id: string; priority: number; ruleEffectiveDate: Date | null; ruleExpirationDate: Date | null; ruleId: string; scopes: JsonValue; versionNumber: number; }; }
input.rule{ 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.rule.createdAtDate
input.rule.createdBystring | null
input.rule.currentVersionIdstring | null
input.rule.deletedAtDate | null
input.rule.deletedBystring | null
input.rule.descriptionstring | null
input.rule.domainstring
input.rule.idstring
input.rule.identifierstring
input.rule.modulestring | null
input.rule.namestring
input.rule.organizationIdstring
input.rule.rateTierIdstring | null
input.rule.scheduleConditionIdstring | null
input.rule.statusRuleStatus
input.rule.statusUpdatedAtDate
input.rule.statusUpdatedBystring | null
input.rule.updatedAtDate
input.rule.updatedBystring | null
input.version{ changeReason: string | null; conditionLogic: JsonValue; createdAt: Date; createdBy: string | null; deletedAt: Date | null; deletedBy: string | null; domainConfig: JsonValue; effectiveEnd: Date | null; effectiveStart: Date; id: string; priority: number; ruleEffectiveDate: Date | null; ruleExpirationDate: Date | null; ruleId: string; scopes: JsonValue; versionNumber: number; }
input.version.changeReasonstring | null
input.version.conditionLogicJsonValue
input.version.createdAtDate
input.version.createdBystring | null
input.version.deletedAtDate | null
input.version.deletedBystring | null
input.version.domainConfigJsonValue
input.version.effectiveEndDate | null
input.version.effectiveStartDate
input.version.idstring
input.version.prioritynumber
input.version.ruleEffectiveDateDate | null
input.version.ruleExpirationDateDate | null
input.version.ruleIdstring
input.version.scopesJsonValue
input.version.versionNumbernumber

Returns

RuleRecordWithVersion

Overrides

RuleRecord.constructor

Properties

record

readonly record: {
  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/models.ts:23

createdAt

createdAt: Date;

createdBy

createdBy: string | null;

currentVersionId

currentVersionId: string | null;

deletedAt

deletedAt: Date | null;

deletedBy

deletedBy: string | null;

description

description: string | null;

domain

domain: string;

id

id: string;

identifier

identifier: string;

module

module: string | null;

name

name: string;

organizationId

organizationId: string;

rateTierId

rateTierId: string | null;

scheduleConditionId

scheduleConditionId: string | null;

status

status: RuleStatus;

statusUpdatedAt

statusUpdatedAt: Date;

statusUpdatedBy

statusUpdatedBy: string | null;

updatedAt

updatedAt: Date;

updatedBy

updatedBy: string | null;

Inherited from

RuleRecord.record


version

readonly version: RuleVersionRecord;

Defined in: server/rules/models.ts:176

Accessors

createdAt

Get Signature

get createdAt(): Date;

Defined in: server/rules/models.ts:56

Returns

Date

Inherited from

RuleRecord.createdAt


createdBy

Get Signature

get createdBy(): string | null;

Defined in: server/rules/models.ts:62

Returns

string | null

Inherited from

RuleRecord.createdBy


currentVersion

Get Signature

get currentVersion(): RuleVersionRecord;

Defined in: server/rules/models.ts:183

Returns

RuleVersionRecord


currentVersionId

Get Signature

get currentVersionId(): string | null;

Defined in: server/rules/models.ts:53

Returns

string | null

Inherited from

RuleRecord.currentVersionId


description

Get Signature

get description(): string | null;

Defined in: server/rules/models.ts:47

Returns

string | null

Inherited from

RuleRecord.description


domain

Get Signature

get domain(): string;

Defined in: server/rules/models.ts:35

Returns

string

Inherited from

RuleRecord.domain


hasCurrentVersion

Get Signature

get hasCurrentVersion(): boolean;

Defined in: server/rules/models.ts:71

Returns

boolean

Inherited from

RuleRecord.hasCurrentVersion


id

Get Signature

get id(): string;

Defined in: server/rules/models.ts:29

Returns

string

Inherited from

RuleRecord.id


identifier

Get Signature

get identifier(): string;

Defined in: server/rules/models.ts:32

Returns

string

Inherited from

RuleRecord.identifier


isDeleted

Get Signature

get isDeleted(): boolean;

Defined in: server/rules/models.ts:68

Returns

boolean

Inherited from

RuleRecord.isDeleted


module

Get Signature

get module(): string | null;

Defined in: server/rules/models.ts:38

Returns

string | null

Inherited from

RuleRecord.module


name

Get Signature

get name(): string;

Defined in: server/rules/models.ts:44

Returns

string

Inherited from

RuleRecord.name


organizationId

Get Signature

get organizationId(): string;

Defined in: server/rules/models.ts:41

Returns

string

Inherited from

RuleRecord.organizationId


status

Get Signature

get status(): string;

Defined in: server/rules/models.ts:50

Returns

string

Inherited from

RuleRecord.status


updatedAt

Get Signature

get updatedAt(): Date;

Defined in: server/rules/models.ts:59

Returns

Date

Inherited from

RuleRecord.updatedAt


updatedBy

Get Signature

get updatedBy(): string | null;

Defined in: server/rules/models.ts:65

Returns

string | null

Inherited from

RuleRecord.updatedBy

Methods

toJSON()

toJSON(): {
  createdAt: Date;
  createdBy: string | null;
  currentVersionId: string | null;
  description: string | null;
  domain: string;
  id: string;
  identifier: string;
  isDeleted: boolean;
  module: string | null;
  name: string;
  organizationId: string;
  status: string;
  updatedAt: Date;
  updatedBy: string | null;
  version: {
     changeReason: string | null;
     conditionLogic: ConditionLogicNode;
     createdAt: Date;
     createdBy: string | null;
     domainConfig: Record<string, unknown>;
     effectiveEnd: Date | null;
     effectiveStart: Date;
     id: string;
     priority: number;
     ruleEffectiveDate: Date | null;
     ruleExpirationDate: Date | null;
     ruleId: string;
     scopes: {
        scope_type: string;
        scope_value: string[];
     }[];
     versionNumber: number;
  };
};

Defined in: server/rules/models.ts:187

Returns

{
  createdAt: Date;
  createdBy: string | null;
  currentVersionId: string | null;
  description: string | null;
  domain: string;
  id: string;
  identifier: string;
  isDeleted: boolean;
  module: string | null;
  name: string;
  organizationId: string;
  status: string;
  updatedAt: Date;
  updatedBy: string | null;
  version: {
     changeReason: string | null;
     conditionLogic: ConditionLogicNode;
     createdAt: Date;
     createdBy: string | null;
     domainConfig: Record<string, unknown>;
     effectiveEnd: Date | null;
     effectiveStart: Date;
     id: string;
     priority: number;
     ruleEffectiveDate: Date | null;
     ruleExpirationDate: Date | null;
     ruleId: string;
     scopes: {
        scope_type: string;
        scope_value: string[];
     }[];
     versionNumber: number;
  };
}
createdAt
createdAt: Date;
createdBy
createdBy: string | null;
currentVersionId
currentVersionId: string | null;
description
description: string | null;
domain
domain: string;
id
id: string;
identifier
identifier: string;
isDeleted
isDeleted: boolean;
module
module: string | null;
name
name: string;
organizationId
organizationId: string;
status
status: string;
updatedAt
updatedAt: Date;
updatedBy
updatedBy: string | null;
version
version: {
  changeReason: string | null;
  conditionLogic: ConditionLogicNode;
  createdAt: Date;
  createdBy: string | null;
  domainConfig: Record<string, unknown>;
  effectiveEnd: Date | null;
  effectiveStart: Date;
  id: string;
  priority: number;
  ruleEffectiveDate: Date | null;
  ruleExpirationDate: Date | null;
  ruleId: string;
  scopes: {
     scope_type: string;
     scope_value: string[];
  }[];
  versionNumber: number;
};
version.changeReason
changeReason: string | null;
version.conditionLogic
conditionLogic: ConditionLogicNode;
version.createdAt
createdAt: Date;
version.createdBy
createdBy: string | null;
version.domainConfig
domainConfig: Record<string, unknown>;
version.effectiveEnd
effectiveEnd: Date | null;
version.effectiveStart
effectiveStart: Date;
version.id
id: string;
version.priority
priority: number;
version.ruleEffectiveDate
ruleEffectiveDate: Date | null;
version.ruleExpirationDate
ruleExpirationDate: Date | null;
version.ruleId
ruleId: string;
version.scopes
scopes: {
  scope_type: string;
  scope_value: string[];
}[];
version.versionNumber
versionNumber: number;

Overrides

RuleRecord.toJSON


toRaw()

toRaw(): {
  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/models.ts:75

Returns

{
  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;
}
createdAt
createdAt: Date;
createdBy
createdBy: string | null;
currentVersionId
currentVersionId: string | null;
deletedAt
deletedAt: Date | null;
deletedBy
deletedBy: string | null;
description
description: string | null;
domain
domain: string;
id
id: string;
identifier
identifier: string;
module
module: string | null;
name
name: string;
organizationId
organizationId: string;
rateTierId
rateTierId: string | null;
scheduleConditionId
scheduleConditionId: string | null;
status
status: RuleStatus;
statusUpdatedAt
statusUpdatedAt: Date;
statusUpdatedBy
statusUpdatedBy: string | null;
updatedAt
updatedAt: Date;
updatedBy
updatedBy: string | null;

Inherited from

RuleRecord.toRaw

On this page

ExtendsConstructorsConstructorParametersReturnsOverridesPropertiesrecordcreatedAtcreatedBycurrentVersionIddeletedAtdeletedBydescriptiondomainididentifiermodulenameorganizationIdrateTierIdscheduleConditionIdstatusstatusUpdatedAtstatusUpdatedByupdatedAtupdatedByInherited fromversionAccessorscreatedAtGet SignatureReturnsInherited fromcreatedByGet SignatureReturnsInherited fromcurrentVersionGet SignatureReturnscurrentVersionIdGet SignatureReturnsInherited fromdescriptionGet SignatureReturnsInherited fromdomainGet SignatureReturnsInherited fromhasCurrentVersionGet SignatureReturnsInherited fromidGet SignatureReturnsInherited fromidentifierGet SignatureReturnsInherited fromisDeletedGet SignatureReturnsInherited frommoduleGet SignatureReturnsInherited fromnameGet SignatureReturnsInherited fromorganizationIdGet SignatureReturnsInherited fromstatusGet SignatureReturnsInherited fromupdatedAtGet SignatureReturnsInherited fromupdatedByGet SignatureReturnsInherited fromMethodstoJSON()ReturnscreatedAtcreatedBycurrentVersionIddescriptiondomainididentifierisDeletedmodulenameorganizationIdstatusupdatedAtupdatedByversionversion.changeReasonversion.conditionLogicversion.createdAtversion.createdByversion.domainConfigversion.effectiveEndversion.effectiveStartversion.idversion.priorityversion.ruleEffectiveDateversion.ruleExpirationDateversion.ruleIdversion.scopesversion.versionNumberOverridestoRaw()ReturnscreatedAtcreatedBycurrentVersionIddeletedAtdeletedBydescriptiondomainididentifiermodulenameorganizationIdrateTierIdscheduleConditionIdstatusstatusUpdatedAtstatusUpdatedByupdatedAtupdatedByInherited from