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
| Parameter | Type |
|---|---|
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.createdAt | Date |
input.rule.createdBy | string | null |
input.rule.currentVersionId | string | null |
input.rule.deletedAt | Date | null |
input.rule.deletedBy | string | null |
input.rule.description | string | null |
input.rule.domain | string |
input.rule.id | string |
input.rule.identifier | string |
input.rule.module | string | null |
input.rule.name | string |
input.rule.organizationId | string |
input.rule.rateTierId | string | null |
input.rule.scheduleConditionId | string | null |
input.rule.status | RuleStatus |
input.rule.statusUpdatedAt | Date |
input.rule.statusUpdatedBy | string | null |
input.rule.updatedAt | Date |
input.rule.updatedBy | string | 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.changeReason | string | null |
input.version.conditionLogic | JsonValue |
input.version.createdAt | Date |
input.version.createdBy | string | null |
input.version.deletedAt | Date | null |
input.version.deletedBy | string | null |
input.version.domainConfig | JsonValue |
input.version.effectiveEnd | Date | null |
input.version.effectiveStart | Date |
input.version.id | string |
input.version.priority | number |
input.version.ruleEffectiveDate | Date | null |
input.version.ruleExpirationDate | Date | null |
input.version.ruleId | string |
input.version.scopes | JsonValue |
input.version.versionNumber | number |
Returns
RuleRecordWithVersion
Overrides
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
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
createdBy
Get Signature
get createdBy(): string | null;Defined in: server/rules/models.ts:62
Returns
string | null
Inherited from
currentVersion
Get Signature
get currentVersion(): RuleVersionRecord;Defined in: server/rules/models.ts:183
Returns
currentVersionId
Get Signature
get currentVersionId(): string | null;Defined in: server/rules/models.ts:53
Returns
string | null
Inherited from
description
Get Signature
get description(): string | null;Defined in: server/rules/models.ts:47
Returns
string | null
Inherited from
domain
Get Signature
get domain(): string;Defined in: server/rules/models.ts:35
Returns
string
Inherited from
hasCurrentVersion
Get Signature
get hasCurrentVersion(): boolean;Defined in: server/rules/models.ts:71
Returns
boolean
Inherited from
id
Get Signature
get id(): string;Defined in: server/rules/models.ts:29
Returns
string
Inherited from
identifier
Get Signature
get identifier(): string;Defined in: server/rules/models.ts:32
Returns
string
Inherited from
isDeleted
Get Signature
get isDeleted(): boolean;Defined in: server/rules/models.ts:68
Returns
boolean
Inherited from
module
Get Signature
get module(): string | null;Defined in: server/rules/models.ts:38
Returns
string | null
Inherited from
name
Get Signature
get name(): string;Defined in: server/rules/models.ts:44
Returns
string
Inherited from
organizationId
Get Signature
get organizationId(): string;Defined in: server/rules/models.ts:41
Returns
string
Inherited from
status
Get Signature
get status(): string;Defined in: server/rules/models.ts:50
Returns
string
Inherited from
updatedAt
Get Signature
get updatedAt(): Date;Defined in: server/rules/models.ts:59
Returns
Date
Inherited from
updatedBy
Get Signature
get updatedBy(): string | null;Defined in: server/rules/models.ts:65
Returns
string | null
Inherited from
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
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;