diff --git a/CHANGELOG.md b/CHANGELOG.md index 79c1efe7..6e3bfc26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,3 @@ # CHANGELOG -Lib version: 1.15.0-SNAPSHOT-260820095958 +Lib version: 1.15.0-SNAPSHOT-260820102209 diff --git a/lib/restrictionLinks.pb.dart b/lib/restrictionLinks.pb.dart index bdb117e0..cda4a0d5 100644 --- a/lib/restrictionLinks.pb.dart +++ b/lib/restrictionLinks.pb.dart @@ -19,7 +19,6 @@ import 'shared.pb.dart' as $2; export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions; -/// ========== MODEL MESSAGES ========== class RestrictionLink extends $pb.GeneratedMessage { factory RestrictionLink({ $core.String? projectID, diff --git a/lib/restrictions.pb.dart b/lib/restrictions.pb.dart index e9f33797..ec19f25f 100644 --- a/lib/restrictions.pb.dart +++ b/lib/restrictions.pb.dart @@ -83,6 +83,7 @@ class Restriction extends $pb.GeneratedMessage { static Restriction getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static Restriction? _defaultInstance; + /// Unique identifier of the restriction. @$pb.TagNumber(1) $core.String get iD => $_getSZ(0); @$pb.TagNumber(1) @@ -92,7 +93,7 @@ class Restriction extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearID() => $_clearField(1); - /// Unique identifier of the restriction. + /// Identifier of the project the restriction belongs to. @$pb.TagNumber(2) $core.String get projectID => $_getSZ(1); @$pb.TagNumber(2) @@ -102,7 +103,7 @@ class Restriction extends $pb.GeneratedMessage { @$pb.TagNumber(2) void clearProjectID() => $_clearField(2); - /// Identifier of the project the restriction belongs to. + /// Determines how the restriction is applied (by user or by partner). @$pb.TagNumber(3) RestrictionType get targetType => $_getN(2); @$pb.TagNumber(3) @@ -112,7 +113,7 @@ class Restriction extends $pb.GeneratedMessage { @$pb.TagNumber(3) void clearTargetType() => $_clearField(3); - /// Determines how the restriction is applied (by user or by partner). + /// Human-readable name of the restriction. @$pb.TagNumber(4) $core.String get name => $_getSZ(3); @$pb.TagNumber(4) @@ -122,7 +123,7 @@ class Restriction extends $pb.GeneratedMessage { @$pb.TagNumber(4) void clearName() => $_clearField(4); - /// Human-readable name of the restriction. + /// Optional description providing context for the restriction. @$pb.TagNumber(5) $core.String get description => $_getSZ(4); @$pb.TagNumber(5) @@ -132,7 +133,7 @@ class Restriction extends $pb.GeneratedMessage { @$pb.TagNumber(5) void clearDescription() => $_clearField(5); - /// Optional description providing context for the restriction. + /// Whether the restriction is currently active (true = enabled, false = disabled). @$pb.TagNumber(6) $core.bool get status => $_getBF(5); @$pb.TagNumber(6) @@ -142,11 +143,11 @@ class Restriction extends $pb.GeneratedMessage { @$pb.TagNumber(6) void clearStatus() => $_clearField(6); - /// Whether the restriction is currently active (true = enabled, false = disabled). + /// List of RPL rules that make up this restriction. @$pb.TagNumber(7) $pb.PbList<$1.Rule> get rules => $_getList(6); - /// List of RPL rules that make up this restriction. + /// Timestamp of the last update (RFC 3339). @$pb.TagNumber(8) $core.String get updatedAt => $_getSZ(7); @$pb.TagNumber(8) @@ -156,7 +157,7 @@ class Restriction extends $pb.GeneratedMessage { @$pb.TagNumber(8) void clearUpdatedAt() => $_clearField(8); - /// Timestamp of the last update (RFC 3339). + /// Timestamp of creation (RFC 3339). @$pb.TagNumber(9) $core.String get createdAt => $_getSZ(8); @$pb.TagNumber(9) @@ -210,10 +211,11 @@ class RestrictionComputeResult extends $pb.GeneratedMessage { static RestrictionComputeResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RestrictionComputeResult? _defaultInstance; + /// Computed results for each rule in the restriction, one entry per output format. @$pb.TagNumber(1) $pb.PbList get results => $_getList(0); - /// Computed results for each rule in the restriction, one entry per output format. + /// Identifier of the restriction these results belong to. @$pb.TagNumber(2) $core.String get restrictionID => $_getSZ(1); @$pb.TagNumber(2) @@ -223,7 +225,7 @@ class RestrictionComputeResult extends $pb.GeneratedMessage { @$pb.TagNumber(2) void clearRestrictionID() => $_clearField(2); - /// Identifier of the restriction these results belong to. + /// Name of the restriction these results belong to. @$pb.TagNumber(3) $core.String get restrictionName => $_getSZ(2); @$pb.TagNumber(3) @@ -280,6 +282,7 @@ class RuleComputeResult extends $pb.GeneratedMessage { static RuleComputeResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RuleComputeResult? _defaultInstance; + /// Output format the rule was compiled into. @$pb.TagNumber(1) RuleComputeFormat get format => $_getN(0); @$pb.TagNumber(1) @@ -289,7 +292,7 @@ class RuleComputeResult extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearFormat() => $_clearField(1); - /// Output format the rule was compiled into. + /// Compiled rule expression in the target format. @$pb.TagNumber(2) $core.String get value => $_getSZ(1); @$pb.TagNumber(2) @@ -299,7 +302,7 @@ class RuleComputeResult extends $pb.GeneratedMessage { @$pb.TagNumber(2) void clearValue() => $_clearField(2); - /// Compiled rule expression in the target format. + /// Identifier of the rule this result was computed from. @$pb.TagNumber(3) $core.String get ruleID => $_getSZ(2); @$pb.TagNumber(3) @@ -309,7 +312,7 @@ class RuleComputeResult extends $pb.GeneratedMessage { @$pb.TagNumber(3) void clearRuleID() => $_clearField(3); - /// Identifier of the rule this result was computed from. + /// Key:value pairs used to scope the computation (e.g. "ActorID:\" for a restriction rule). @$pb.TagNumber(4) $pb.PbList<$core.String> get attributes => $_getList(3); } @@ -363,6 +366,7 @@ class RestrictionRule extends $pb.GeneratedMessage { static RestrictionRule getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RestrictionRule? _defaultInstance; + /// Human-readable name of the rule. @$pb.TagNumber(1) $core.String get name => $_getSZ(0); @$pb.TagNumber(1) @@ -372,7 +376,7 @@ class RestrictionRule extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearName() => $_clearField(1); - /// Human-readable name of the rule. + /// Entity type the rule applies to (e.g. ORDER, ACTOR). @$pb.TagNumber(2) $2.EntityType get entity => $_getN(1); @$pb.TagNumber(2) @@ -382,7 +386,7 @@ class RestrictionRule extends $pb.GeneratedMessage { @$pb.TagNumber(2) void clearEntity() => $_clearField(2); - /// Entity type the rule applies to (e.g. ORDER, ACTOR). + /// Optional description providing context for the rule. @$pb.TagNumber(3) $core.String get description => $_getSZ(2); @$pb.TagNumber(3) @@ -392,7 +396,7 @@ class RestrictionRule extends $pb.GeneratedMessage { @$pb.TagNumber(3) void clearDescription() => $_clearField(3); - /// Optional description providing context for the rule. + /// RPL (Reflex Platform Language) expression defining the rule logic. @$pb.TagNumber(4) $core.String get definition => $_getSZ(3); @$pb.TagNumber(4) @@ -402,7 +406,7 @@ class RestrictionRule extends $pb.GeneratedMessage { @$pb.TagNumber(4) void clearDefinition() => $_clearField(4); - /// RPL (Reflex Platform Language) expression defining the rule logic. + /// Optional contextual key:value pairs provided by the rule's consumer to scope evaluation. Usually empty. "ActorID:\" may be provided to compute the rule against a specific actor's data access context. @$pb.TagNumber(5) $pb.PbList<$core.String> get attributes => $_getList(4); } @@ -449,6 +453,7 @@ class ValidationComputeResult extends $pb.GeneratedMessage { static ValidationComputeResult getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static ValidationComputeResult? _defaultInstance; + /// Name of the field being validated. @$pb.TagNumber(1) $core.String get fieldName => $_getSZ(0); @$pb.TagNumber(1) @@ -458,7 +463,7 @@ class ValidationComputeResult extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearFieldName() => $_clearField(1); - /// Name of the field being validated. + /// Regular expression the field must match. @$pb.TagNumber(2) $core.String get regex => $_getSZ(1); @$pb.TagNumber(2) @@ -468,7 +473,7 @@ class ValidationComputeResult extends $pb.GeneratedMessage { @$pb.TagNumber(2) void clearRegex() => $_clearField(2); - /// Regular expression the field must match. + /// List of values the field can take. @$pb.TagNumber(3) $pb.PbList<$core.String> get values => $_getList(2); } diff --git a/lib/restrictions.pbenum.dart b/lib/restrictions.pbenum.dart index a969cd2b..3af39877 100644 --- a/lib/restrictions.pbenum.dart +++ b/lib/restrictions.pbenum.dart @@ -16,10 +16,11 @@ import 'package:protobuf/protobuf.dart' as $pb; /// RestrictionType determines the scope of a restriction's application. class RestrictionType extends $pb.ProtobufEnum { - static const RestrictionType RESTRICTION_TYPE_UNKNOWN = RestrictionType._(0, _omitEnumNames ? '' : 'RESTRICTION_TYPE_UNKNOWN'); /// Default unset value. Should not be used explicitly. - static const RestrictionType RESTRICTION_TYPE_USER = RestrictionType._(1, _omitEnumNames ? '' : 'RESTRICTION_TYPE_USER'); + static const RestrictionType RESTRICTION_TYPE_UNKNOWN = RestrictionType._(0, _omitEnumNames ? '' : 'RESTRICTION_TYPE_UNKNOWN'); /// Restriction applies to individual users directly. + static const RestrictionType RESTRICTION_TYPE_USER = RestrictionType._(1, _omitEnumNames ? '' : 'RESTRICTION_TYPE_USER'); + /// Restriction applies via partner: users whose partner has this restriction will also have it applied to them. static const RestrictionType RESTRICTION_TYPE_PARTNER = RestrictionType._(2, _omitEnumNames ? '' : 'RESTRICTION_TYPE_PARTNER'); static const $core.List values = [ @@ -36,14 +37,15 @@ class RestrictionType extends $pb.ProtobufEnum { /// RuleComputeFormat specifies the query language into which a restriction rule is compiled. class RuleComputeFormat extends $pb.ProtobufEnum { - static const RuleComputeFormat RULE_COMPUTE_FORMAT_UNKNOWN = RuleComputeFormat._(0, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_UNKNOWN'); /// Default unset value. Should not be used explicitly. - static const RuleComputeFormat RULE_COMPUTE_FORMAT_CH = RuleComputeFormat._(1, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_CH'); + static const RuleComputeFormat RULE_COMPUTE_FORMAT_UNKNOWN = RuleComputeFormat._(0, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_UNKNOWN'); /// ClickHouse SQL expression. - static const RuleComputeFormat RULE_COMPUTE_FORMAT_OS = RuleComputeFormat._(2, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_OS'); + static const RuleComputeFormat RULE_COMPUTE_FORMAT_CH = RuleComputeFormat._(1, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_CH'); /// OpenSearch query expression. - static const RuleComputeFormat RULE_COMPUTE_FORMAT_JQ = RuleComputeFormat._(3, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_JQ'); + static const RuleComputeFormat RULE_COMPUTE_FORMAT_OS = RuleComputeFormat._(2, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_OS'); /// jq filter expression. + static const RuleComputeFormat RULE_COMPUTE_FORMAT_JQ = RuleComputeFormat._(3, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_JQ'); + /// Regular expression. static const RuleComputeFormat RULE_COMPUTE_FORMAT_REGEX = RuleComputeFormat._(4, _omitEnumNames ? '' : 'RULE_COMPUTE_FORMAT_REGEX'); static const $core.List values = [ diff --git a/lib/ruleEngine_model.pb.dart b/lib/ruleEngine_model.pb.dart index 8eada36f..e3169e5c 100644 --- a/lib/ruleEngine_model.pb.dart +++ b/lib/ruleEngine_model.pb.dart @@ -367,6 +367,8 @@ class EngineRuleScheduledTrigger extends $pb.GeneratedMessage { @$pb.TagNumber(4) void clearStartDate() => $_clearField(4); + /// Time of day the rule fires, e.g. "23:59:00"; only meaningful when Frequency = DAILY/WEEKLY/MONTHLY/YEARLY. Not meaningful when Frequency + /// = MINUTELY (the rule fires repeatedly all day); structurally required by this schema but ignored by the application layer in that case. @$pb.TagNumber(5) $core.String get atTime => $_getSZ(4); @$pb.TagNumber(5) @@ -871,6 +873,8 @@ class EngineRuleCondition extends $pb.GeneratedMessage { EngineRuleCondition_Value whichValue() => _EngineRuleCondition_ValueByTag[$_whichOneof(1)]!; void clearValue() => $_clearField($_whichOneof(1)); + /// e.g. "Order.TotalAmount". When Trigger = ScheduledTrigger, acts as a filter over the whole population (evaluated per-instance, ANDed with sibling conditions) instead of + /// a predicate on a single "current" instance. @$pb.TagNumber(10) $core.String get field_10 => $_getSZ(0); @$pb.TagNumber(10) @@ -880,7 +884,8 @@ class EngineRuleCondition extends $pb.GeneratedMessage { @$pb.TagNumber(10) void clearField_10() => $_clearField(10); - /// a predicate on a single "current" instance. + /// Quantifier (ALL/ANY/NONE) over a collection nested INSIDE one entity instance, + /// e.g. "Order.Lines". Same population-filter semantics as Field above when Trigger = ScheduledTrigger. @$pb.TagNumber(11) EngineRuleConditionCollectionCriteria get collection => $_getN(1); @$pb.TagNumber(11) @@ -892,7 +897,8 @@ class EngineRuleCondition extends $pb.GeneratedMessage { @$pb.TagNumber(11) EngineRuleConditionCollectionCriteria ensureCollection() => $_ensure(1); - /// e.g. "Order.Lines". Same population-filter semantics as Field above when Trigger = ScheduledTrigger. + /// Aggregate function (SUM/COUNT/...) computed over the whole population, filtered by the sibling Field/Collection conditions of the same + /// rule if any -- only valid when Trigger = ScheduledTrigger. @$pb.TagNumber(12) EngineRuleConditionAggregateCriteria get aggregate => $_getN(2); @$pb.TagNumber(12) @@ -1112,6 +1118,8 @@ class EngineRuleConditionAggregateCriteria extends $pb.GeneratedMessage { static EngineRuleConditionAggregateCriteria getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static EngineRuleConditionAggregateCriteria? _defaultInstance; + /// Field to aggregate over the population (filtered by the rule's other conditions, if any), e.g. "Amount". Required for SUM/AVG/MIN/MAX; ignored (and may be left empty) for + /// COUNT, which just counts matching instances. @$pb.TagNumber(1) $core.String get field_1 => $_getSZ(0); @$pb.TagNumber(1) @@ -1121,7 +1129,6 @@ class EngineRuleConditionAggregateCriteria extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearField_1() => $_clearField(1); - /// COUNT, which just counts matching instances. @$pb.TagNumber(2) EngineRuleConditionAggregateFunction get aggregateFunction => $_getN(1); @$pb.TagNumber(2) @@ -2594,6 +2601,8 @@ class MappingTableInputDescription extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearField_1() => $_clearField(1); + /// Reserved for date fields to indicate whether the mapping table expects full timestamps or truncated values (e.g. just date or just hour) and should apply appropriate transformations at + /// runtime @$pb.TagNumber(2) MappingTableInputDescriptionGranularity get granularity => $_getN(1); @$pb.TagNumber(2) diff --git a/lib/rules.pb.dart b/lib/rules.pb.dart index b896f020..ab89bc9c 100644 --- a/lib/rules.pb.dart +++ b/lib/rules.pb.dart @@ -85,6 +85,7 @@ class Rule extends $pb.GeneratedMessage { static Rule getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static Rule? _defaultInstance; + /// Unique identifier of the rule. @$pb.TagNumber(1) $core.String get iD => $_getSZ(0); @$pb.TagNumber(1) @@ -94,7 +95,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(1) void clearID() => $_clearField(1); - /// Unique identifier of the rule. + /// Identifier of the organisation the rule belongs to. @$pb.TagNumber(2) $core.String get organisationID => $_getSZ(1); @$pb.TagNumber(2) @@ -104,7 +105,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(2) void clearOrganisationID() => $_clearField(2); - /// Identifier of the organisation the rule belongs to. + /// Entity type the rule applies to (e.g. ORDER, ACTOR). @$pb.TagNumber(3) $1.EntityType get entity => $_getN(2); @$pb.TagNumber(3) @@ -114,7 +115,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(3) void clearEntity() => $_clearField(3); - /// Entity type the rule applies to (e.g. ORDER, ACTOR). + /// Human-readable name of the rule. @$pb.TagNumber(4) $core.String get name => $_getSZ(3); @$pb.TagNumber(4) @@ -124,7 +125,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(4) void clearName() => $_clearField(4); - /// Human-readable name of the rule. + /// Optional description providing context for the rule. @$pb.TagNumber(5) $core.String get description => $_getSZ(4); @$pb.TagNumber(5) @@ -134,7 +135,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(5) void clearDescription() => $_clearField(5); - /// Optional description providing context for the rule. + /// RPL (Reflex Platform Language) expression defining the rule logic. @$pb.TagNumber(6) $core.String get definition => $_getSZ(5); @$pb.TagNumber(6) @@ -144,7 +145,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(6) void clearDefinition() => $_clearField(6); - /// RPL (Reflex Platform Language) expression defining the rule logic. + /// Category of the rule, determining how it is enforced. @$pb.TagNumber(7) RuleType get ruleType => $_getN(6); @$pb.TagNumber(7) @@ -154,7 +155,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(7) void clearRuleType() => $_clearField(7); - /// Category of the rule, determining how it is enforced. + /// ID of the resource this rule is attached to. Its type depends on RuleType (e.g. a RestrictionID for RESTRICTION, a ProjectLifecycle task ID for PRUNE or ANONYMIZE). @$pb.TagNumber(8) $core.String get ruleTypeID => $_getSZ(7); @$pb.TagNumber(8) @@ -164,7 +165,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(8) void clearRuleTypeID() => $_clearField(8); - /// ID of the resource this rule is attached to. Its type depends on RuleType (e.g. a RestrictionID for RESTRICTION, a ProjectLifecycle task ID for PRUNE or ANONYMIZE). + /// Whether the rule is currently active (true = enabled, false = disabled). @$pb.TagNumber(9) $core.bool get status => $_getBF(8); @$pb.TagNumber(9) @@ -174,7 +175,7 @@ class Rule extends $pb.GeneratedMessage { @$pb.TagNumber(9) void clearStatus() => $_clearField(9); - /// Whether the rule is currently active (true = enabled, false = disabled). + /// Contextual key:value pairs provided by the rule's consumer to scope evaluation (e.g. "ActorID:\" used to compute a restriction rule for a given actor context). @$pb.TagNumber(10) $pb.PbList<$core.String> get attributes => $_getList(9); } diff --git a/lib/rules.pbenum.dart b/lib/rules.pbenum.dart index 05b98409..6cdec562 100644 --- a/lib/rules.pbenum.dart +++ b/lib/rules.pbenum.dart @@ -16,12 +16,13 @@ import 'package:protobuf/protobuf.dart' as $pb; /// RuleType categorises rules by their enforcement behaviour within a project. class RuleType extends $pb.ProtobufEnum { - static const RuleType RULE_TYPE_PROJECT_UNKNOWN = RuleType._(0, _omitEnumNames ? '' : 'RULE_TYPE_PROJECT_UNKNOWN'); /// Default unset value. Should not be used explicitly. - static const RuleType RULE_TYPE_PROJECT_RESTRICTION = RuleType._(1, _omitEnumNames ? '' : 'RULE_TYPE_PROJECT_RESTRICTION'); + static const RuleType RULE_TYPE_PROJECT_UNKNOWN = RuleType._(0, _omitEnumNames ? '' : 'RULE_TYPE_PROJECT_UNKNOWN'); /// Data-access restriction: filters which data a user or role can see. - static const RuleType RULE_TYPE_PROJECT_PRUNE = RuleType._(2, _omitEnumNames ? '' : 'RULE_TYPE_PROJECT_PRUNE'); + static const RuleType RULE_TYPE_PROJECT_RESTRICTION = RuleType._(1, _omitEnumNames ? '' : 'RULE_TYPE_PROJECT_RESTRICTION'); /// Prune: removes or archives entities based on defined conditions. + static const RuleType RULE_TYPE_PROJECT_PRUNE = RuleType._(2, _omitEnumNames ? '' : 'RULE_TYPE_PROJECT_PRUNE'); + /// Anonymize: masks or anonymizes entity data based on defined conditions. static const RuleType RULE_TYPE_PROJECT_ANONYMIZE = RuleType._(3, _omitEnumNames ? '' : 'RULE_TYPE_PROJECT_ANONYMIZE'); static const $core.List values = [ diff --git a/pubspec.yaml b/pubspec.yaml index 1f1b60de..64797d43 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_core_sdk description: dart libs from core model proto files -version: 1.15.0-SNAPSHOT-260820095958 +version: 1.15.0-SNAPSHOT-260820102209 homepage: '' publish_to: '' repository: ''