Latest generation

This commit is contained in:
ci core model
2026-03-17 13:05:36 +00:00
parent c9867a5c31
commit 64f3718241
4 changed files with 131 additions and 47 deletions

View File

@@ -41,12 +41,6 @@ export interface AliasPropertiesAppointmentScheduling {
* @generated from protobuf field: string ActorName = 4 * @generated from protobuf field: string ActorName = 4
*/ */
ActorName: string; ActorName: string;
/**
* Restriction rule IDs which will be applied when this alias is used.
*
* @generated from protobuf field: repeated string RestrictionRuleIDs = 5
*/
RestrictionRuleIDs: string[];
} }
/** /**
* Alias represents a named link from one resource to another. * Alias represents a named link from one resource to another.
@@ -237,8 +231,7 @@ class AliasPropertiesAppointmentScheduling$Type extends MessageType<AliasPropert
{ no: 1, name: "AptType", kind: "enum", localName: "AptType", jsonName: "AptType", T: () => ["api.AppointmentType", AppointmentType], options: { "validate.rules": { enum: { definedOnly: true } } } }, { no: 1, name: "AptType", kind: "enum", localName: "AptType", jsonName: "AptType", T: () => ["api.AppointmentType", AppointmentType], options: { "validate.rules": { enum: { definedOnly: true } } } },
{ no: 2, name: "LoadingCommandIdentifierEntry", kind: "enum", localName: "LoadingCommandIdentifierEntry", jsonName: "LoadingCommandIdentifierEntry", T: () => ["api.CommandIdentifierEntry", CommandIdentifierEntry], options: { "validate.rules": { enum: { definedOnly: true } } } }, { no: 2, name: "LoadingCommandIdentifierEntry", kind: "enum", localName: "LoadingCommandIdentifierEntry", jsonName: "LoadingCommandIdentifierEntry", T: () => ["api.CommandIdentifierEntry", CommandIdentifierEntry], options: { "validate.rules": { enum: { definedOnly: true } } } },
{ no: 3, name: "UnLoadingCommandIdentifierEntry", kind: "enum", localName: "UnLoadingCommandIdentifierEntry", jsonName: "UnLoadingCommandIdentifierEntry", T: () => ["api.CommandIdentifierEntry", CommandIdentifierEntry], options: { "validate.rules": { enum: { definedOnly: true } } } }, { no: 3, name: "UnLoadingCommandIdentifierEntry", kind: "enum", localName: "UnLoadingCommandIdentifierEntry", jsonName: "UnLoadingCommandIdentifierEntry", T: () => ["api.CommandIdentifierEntry", CommandIdentifierEntry], options: { "validate.rules": { enum: { definedOnly: true } } } },
{ no: 4, name: "ActorName", kind: "scalar", localName: "ActorName", jsonName: "ActorName", T: 9 /*ScalarType.STRING*/ }, { no: 4, name: "ActorName", kind: "scalar", localName: "ActorName", jsonName: "ActorName", T: 9 /*ScalarType.STRING*/ }
{ no: 5, name: "RestrictionRuleIDs", kind: "scalar", localName: "RestrictionRuleIDs", jsonName: "RestrictionRuleIDs", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
]); ]);
} }
create(value?: PartialMessage<AliasPropertiesAppointmentScheduling>): AliasPropertiesAppointmentScheduling { create(value?: PartialMessage<AliasPropertiesAppointmentScheduling>): AliasPropertiesAppointmentScheduling {
@@ -247,7 +240,6 @@ class AliasPropertiesAppointmentScheduling$Type extends MessageType<AliasPropert
message.LoadingCommandIdentifierEntry = 0; message.LoadingCommandIdentifierEntry = 0;
message.UnLoadingCommandIdentifierEntry = 0; message.UnLoadingCommandIdentifierEntry = 0;
message.ActorName = ""; message.ActorName = "";
message.RestrictionRuleIDs = [];
if (value !== undefined) if (value !== undefined)
reflectionMergePartial<AliasPropertiesAppointmentScheduling>(this, message, value); reflectionMergePartial<AliasPropertiesAppointmentScheduling>(this, message, value);
return message; return message;
@@ -269,9 +261,6 @@ class AliasPropertiesAppointmentScheduling$Type extends MessageType<AliasPropert
case /* string ActorName */ 4: case /* string ActorName */ 4:
message.ActorName = reader.string(); message.ActorName = reader.string();
break; break;
case /* repeated string RestrictionRuleIDs */ 5:
message.RestrictionRuleIDs.push(reader.string());
break;
default: default:
let u = options.readUnknownField; let u = options.readUnknownField;
if (u === "throw") if (u === "throw")
@@ -296,9 +285,6 @@ class AliasPropertiesAppointmentScheduling$Type extends MessageType<AliasPropert
/* string ActorName = 4; */ /* string ActorName = 4; */
if (message.ActorName !== "") if (message.ActorName !== "")
writer.tag(4, WireType.LengthDelimited).string(message.ActorName); writer.tag(4, WireType.LengthDelimited).string(message.ActorName);
/* repeated string RestrictionRuleIDs = 5; */
for (let i = 0; i < message.RestrictionRuleIDs.length; i++)
writer.tag(5, WireType.LengthDelimited).string(message.RestrictionRuleIDs[i]);
let u = options.writeUnknownFields; let u = options.writeUnknownFields;
if (u !== false) if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);

View File

@@ -1,6 +1,6 @@
{ {
"name": "@reflex-platform/npm-core-sdk", "name": "@reflex-platform/npm-core-sdk",
"version": "1.13.0-SNAPSHOT-260317125816", "version": "1.13.0-SNAPSHOT-260317130449",
"description": "npm libs from core model proto files", "description": "npm libs from core model proto files",
"homepage": "", "homepage": "",
"main": "index.ts", "main": "index.ts",

View File

@@ -17,81 +17,93 @@ import { Rule } from "./rules";
// ========== MODEL MESSAGES ========== // ========== MODEL MESSAGES ==========
/** /**
* Restriction represents a named, project-scoped data-access restriction composed of one or more RPL rules.
*
* @generated from protobuf message api.Restriction * @generated from protobuf message api.Restriction
*/ */
export interface Restriction { export interface Restriction {
/** /**
* @generated from protobuf field: string ID = 1 * @generated from protobuf field: string ID = 1
*/ */
ID: string; ID: string; // Unique identifier of the restriction.
/** /**
* @generated from protobuf field: string ProjectID = 2 * @generated from protobuf field: string ProjectID = 2
*/ */
ProjectID: string; ProjectID: string; // Identifier of the project the restriction belongs to.
/** /**
* @generated from protobuf field: api.RestrictionType TargetType = 3 * @generated from protobuf field: api.RestrictionType TargetType = 3
*/ */
TargetType: RestrictionType; TargetType: RestrictionType; // Determines how the restriction is applied (by user or by partner).
/** /**
* @generated from protobuf field: string Name = 4 * @generated from protobuf field: string Name = 4
*/ */
Name: string; Name: string; // Human-readable name of the restriction.
/** /**
* @generated from protobuf field: string Description = 5 * @generated from protobuf field: string Description = 5
*/ */
Description: string; Description: string; // Optional description providing context for the restriction.
/** /**
* @generated from protobuf field: bool Status = 6 * @generated from protobuf field: bool Status = 6
*/ */
Status: boolean; Status: boolean; // Whether the restriction is currently active (true = enabled, false = disabled).
/** /**
* @generated from protobuf field: repeated api.Rule Rules = 7 * @generated from protobuf field: repeated api.Rule Rules = 7
*/ */
Rules: Rule[]; Rules: Rule[]; // List of RPL rules that make up this restriction.
/** /**
* @generated from protobuf field: string UpdatedAt = 8 * @generated from protobuf field: string UpdatedAt = 8
*/ */
UpdatedAt: string; UpdatedAt: string; // Timestamp of the last update (RFC 3339).
/** /**
* @generated from protobuf field: string CreatedAt = 9 * @generated from protobuf field: string CreatedAt = 9
*/ */
CreatedAt: string; CreatedAt: string; // Timestamp of creation (RFC 3339).
} }
/** /**
* RestrictionComputeResult holds the computed rule outputs for a single restriction.
*
* @generated from protobuf message api.RestrictionComputeResult * @generated from protobuf message api.RestrictionComputeResult
*/ */
export interface RestrictionComputeResult { export interface RestrictionComputeResult {
/** /**
* @generated from protobuf field: repeated api.RuleComputeResult Results = 1 * @generated from protobuf field: repeated api.RuleComputeResult Results = 1
*/ */
Results: RuleComputeResult[]; Results: RuleComputeResult[]; // Computed results for each rule in the restriction, one entry per output format.
/** /**
* @generated from protobuf field: string RestrictionID = 2 * @generated from protobuf field: string RestrictionID = 2
*/ */
RestrictionID: string; RestrictionID: string; // Identifier of the restriction these results belong to.
/** /**
* @generated from protobuf field: string RestrictionName = 3 * @generated from protobuf field: string RestrictionName = 3
*/ */
RestrictionName: string; RestrictionName: string; // Name of the restriction these results belong to.
} }
/** /**
* RuleComputeResult holds the compiled output of a single rule in a given format.
*
* @generated from protobuf message api.RuleComputeResult * @generated from protobuf message api.RuleComputeResult
*/ */
export interface RuleComputeResult { export interface RuleComputeResult {
/** /**
* @generated from protobuf field: api.RuleComputeFormat Format = 1 * @generated from protobuf field: api.RuleComputeFormat Format = 1
*/ */
Format: RuleComputeFormat; Format: RuleComputeFormat; // Output format the rule was compiled into.
/** /**
* @generated from protobuf field: string Value = 2 * @generated from protobuf field: string Value = 2
*/ */
Value: string; Value: string; // Compiled rule expression in the target format.
/** /**
* @generated from protobuf field: string RuleID = 3 * @generated from protobuf field: string RuleID = 3
*/ */
RuleID: string; RuleID: string; // Identifier of the rule this result was computed from.
/**
* @generated from protobuf field: repeated string Attributes = 4
*/
Attributes: string[]; // Key:value pairs used to scope the computation (e.g. "ActorID:<id>" for a restriction rule).
} }
/** /**
* RestrictionRule is the input structure used to define a rule within a restriction, before it is persisted as a full Rule.
*
* @generated from protobuf message api.RestrictionRule * @generated from protobuf message api.RestrictionRule
*/ */
export interface RestrictionRule { export interface RestrictionRule {
@@ -106,11 +118,15 @@ export interface RestrictionRule {
/** /**
* @generated from protobuf field: string Description = 3 * @generated from protobuf field: string Description = 3
*/ */
Description: string; Description: string; // Optional description providing context for the rule.
/** /**
* @generated from protobuf field: string Definition = 4 * @generated from protobuf field: string Definition = 4
*/ */
Definition: string; Definition: string;
/**
* @generated from protobuf field: repeated string Attributes = 5
*/
Attributes: string[]; // Optional contextual key:value pairs provided by the rule's consumer to scope evaluation. Usually empty. "ActorID:<id>" may be provided to compute the rule against a specific actor's data access context.
} }
// ========== REQUESTS & RESPONSE MESSAGES ========== // ========== REQUESTS & RESPONSE MESSAGES ==========
@@ -399,7 +415,7 @@ export interface ComputeRuleRequest {
/** /**
* @generated from protobuf field: string RewriteFor = 5 * @generated from protobuf field: string RewriteFor = 5
*/ */
RewriteFor: string; // Example: "ShipFrom.Actor", "ShipTo.Actor" RewriteFor: string; // Actor path prefix used to rewrite actor references in the computed output (e.g. "ShipFrom.Actor", "ShipTo.Actor").
} }
/** /**
* @generated from protobuf message api.ComputeRuleResponse * @generated from protobuf message api.ComputeRuleResponse
@@ -429,39 +445,57 @@ export interface ValidateRestrictionRuleRequest {
export interface ValidateRestrictionRuleResponse { export interface ValidateRestrictionRuleResponse {
} }
/** /**
* RestrictionType determines the scope of a restriction's application.
*
* @generated from protobuf enum api.RestrictionType * @generated from protobuf enum api.RestrictionType
*/ */
export enum RestrictionType { export enum RestrictionType {
/** /**
* Default unset value. Should not be used explicitly.
*
* @generated from protobuf enum value: RESTRICTION_TYPE_UNKNOWN = 0; * @generated from protobuf enum value: RESTRICTION_TYPE_UNKNOWN = 0;
*/ */
RESTRICTION_TYPE_UNKNOWN = 0, RESTRICTION_TYPE_UNKNOWN = 0,
/** /**
* Restriction applies to individual users directly.
*
* @generated from protobuf enum value: RESTRICTION_TYPE_USER = 1; * @generated from protobuf enum value: RESTRICTION_TYPE_USER = 1;
*/ */
RESTRICTION_TYPE_USER = 1, RESTRICTION_TYPE_USER = 1,
/** /**
* Restriction applies via partner: users whose partner has this restriction will also have it applied to them.
*
* @generated from protobuf enum value: RESTRICTION_TYPE_PARTNER = 2; * @generated from protobuf enum value: RESTRICTION_TYPE_PARTNER = 2;
*/ */
RESTRICTION_TYPE_PARTNER = 2 RESTRICTION_TYPE_PARTNER = 2
} }
/** /**
* RuleComputeFormat specifies the query language into which a restriction rule is compiled.
*
* @generated from protobuf enum api.RuleComputeFormat * @generated from protobuf enum api.RuleComputeFormat
*/ */
export enum RuleComputeFormat { export enum RuleComputeFormat {
/** /**
* Default unset value. Should not be used explicitly.
*
* @generated from protobuf enum value: RULE_COMPUTE_FORMAT_UNKNOWN = 0; * @generated from protobuf enum value: RULE_COMPUTE_FORMAT_UNKNOWN = 0;
*/ */
RULE_COMPUTE_FORMAT_UNKNOWN = 0, RULE_COMPUTE_FORMAT_UNKNOWN = 0,
/** /**
* ClickHouse SQL expression.
*
* @generated from protobuf enum value: RULE_COMPUTE_FORMAT_CH = 1; * @generated from protobuf enum value: RULE_COMPUTE_FORMAT_CH = 1;
*/ */
RULE_COMPUTE_FORMAT_CH = 1, RULE_COMPUTE_FORMAT_CH = 1,
/** /**
* OpenSearch query expression.
*
* @generated from protobuf enum value: RULE_COMPUTE_FORMAT_OS = 2; * @generated from protobuf enum value: RULE_COMPUTE_FORMAT_OS = 2;
*/ */
RULE_COMPUTE_FORMAT_OS = 2, RULE_COMPUTE_FORMAT_OS = 2,
/** /**
* jq filter expression.
*
* @generated from protobuf enum value: RULE_COMPUTE_FORMAT_JQ = 3; * @generated from protobuf enum value: RULE_COMPUTE_FORMAT_JQ = 3;
*/ */
RULE_COMPUTE_FORMAT_JQ = 3 RULE_COMPUTE_FORMAT_JQ = 3
@@ -646,7 +680,8 @@ class RuleComputeResult$Type extends MessageType<RuleComputeResult> {
super("api.RuleComputeResult", [ super("api.RuleComputeResult", [
{ no: 1, name: "Format", kind: "enum", localName: "Format", jsonName: "Format", T: () => ["api.RuleComputeFormat", RuleComputeFormat] }, { no: 1, name: "Format", kind: "enum", localName: "Format", jsonName: "Format", T: () => ["api.RuleComputeFormat", RuleComputeFormat] },
{ no: 2, name: "Value", kind: "scalar", localName: "Value", jsonName: "Value", T: 9 /*ScalarType.STRING*/ }, { no: 2, name: "Value", kind: "scalar", localName: "Value", jsonName: "Value", T: 9 /*ScalarType.STRING*/ },
{ no: 3, name: "RuleID", kind: "scalar", localName: "RuleID", jsonName: "RuleID", T: 9 /*ScalarType.STRING*/ } { no: 3, name: "RuleID", kind: "scalar", localName: "RuleID", jsonName: "RuleID", T: 9 /*ScalarType.STRING*/ },
{ no: 4, name: "Attributes", kind: "scalar", localName: "Attributes", jsonName: "Attributes", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
]); ]);
} }
create(value?: PartialMessage<RuleComputeResult>): RuleComputeResult { create(value?: PartialMessage<RuleComputeResult>): RuleComputeResult {
@@ -654,6 +689,7 @@ class RuleComputeResult$Type extends MessageType<RuleComputeResult> {
message.Format = 0; message.Format = 0;
message.Value = ""; message.Value = "";
message.RuleID = ""; message.RuleID = "";
message.Attributes = [];
if (value !== undefined) if (value !== undefined)
reflectionMergePartial<RuleComputeResult>(this, message, value); reflectionMergePartial<RuleComputeResult>(this, message, value);
return message; return message;
@@ -672,6 +708,9 @@ class RuleComputeResult$Type extends MessageType<RuleComputeResult> {
case /* string RuleID */ 3: case /* string RuleID */ 3:
message.RuleID = reader.string(); message.RuleID = reader.string();
break; break;
case /* repeated string Attributes */ 4:
message.Attributes.push(reader.string());
break;
default: default:
let u = options.readUnknownField; let u = options.readUnknownField;
if (u === "throw") if (u === "throw")
@@ -693,6 +732,9 @@ class RuleComputeResult$Type extends MessageType<RuleComputeResult> {
/* string RuleID = 3; */ /* string RuleID = 3; */
if (message.RuleID !== "") if (message.RuleID !== "")
writer.tag(3, WireType.LengthDelimited).string(message.RuleID); writer.tag(3, WireType.LengthDelimited).string(message.RuleID);
/* repeated string Attributes = 4; */
for (let i = 0; i < message.Attributes.length; i++)
writer.tag(4, WireType.LengthDelimited).string(message.Attributes[i]);
let u = options.writeUnknownFields; let u = options.writeUnknownFields;
if (u !== false) if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -710,7 +752,8 @@ class RestrictionRule$Type extends MessageType<RestrictionRule> {
{ no: 1, name: "Name", kind: "scalar", localName: "Name", jsonName: "Name", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }, { no: 1, name: "Name", kind: "scalar", localName: "Name", jsonName: "Name", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
{ no: 2, name: "Entity", kind: "enum", localName: "Entity", jsonName: "Entity", T: () => ["api.EntityType", EntityType], options: { "validate.rules": { enum: { definedOnly: true } } } }, { no: 2, name: "Entity", kind: "enum", localName: "Entity", jsonName: "Entity", T: () => ["api.EntityType", EntityType], options: { "validate.rules": { enum: { definedOnly: true } } } },
{ no: 3, name: "Description", kind: "scalar", localName: "Description", jsonName: "Description", T: 9 /*ScalarType.STRING*/ }, { no: 3, name: "Description", kind: "scalar", localName: "Description", jsonName: "Description", T: 9 /*ScalarType.STRING*/ },
{ no: 4, name: "Definition", kind: "scalar", localName: "Definition", jsonName: "Definition", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } } { no: 4, name: "Definition", kind: "scalar", localName: "Definition", jsonName: "Definition", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
{ no: 5, name: "Attributes", kind: "scalar", localName: "Attributes", jsonName: "Attributes", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Name", "Entity", "Definition"] } } }); ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Name", "Entity", "Definition"] } } });
} }
create(value?: PartialMessage<RestrictionRule>): RestrictionRule { create(value?: PartialMessage<RestrictionRule>): RestrictionRule {
@@ -719,6 +762,7 @@ class RestrictionRule$Type extends MessageType<RestrictionRule> {
message.Entity = 0; message.Entity = 0;
message.Description = ""; message.Description = "";
message.Definition = ""; message.Definition = "";
message.Attributes = [];
if (value !== undefined) if (value !== undefined)
reflectionMergePartial<RestrictionRule>(this, message, value); reflectionMergePartial<RestrictionRule>(this, message, value);
return message; return message;
@@ -740,6 +784,9 @@ class RestrictionRule$Type extends MessageType<RestrictionRule> {
case /* string Definition */ 4: case /* string Definition */ 4:
message.Definition = reader.string(); message.Definition = reader.string();
break; break;
case /* repeated string Attributes */ 5:
message.Attributes.push(reader.string());
break;
default: default:
let u = options.readUnknownField; let u = options.readUnknownField;
if (u === "throw") if (u === "throw")
@@ -764,6 +811,9 @@ class RestrictionRule$Type extends MessageType<RestrictionRule> {
/* string Definition = 4; */ /* string Definition = 4; */
if (message.Definition !== "") if (message.Definition !== "")
writer.tag(4, WireType.LengthDelimited).string(message.Definition); writer.tag(4, WireType.LengthDelimited).string(message.Definition);
/* repeated string Attributes = 5; */
for (let i = 0; i < message.Attributes.length; i++)
writer.tag(5, WireType.LengthDelimited).string(message.Attributes[i]);
let u = options.writeUnknownFields; let u = options.writeUnknownFields;
if (u !== false) if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);

View File

@@ -15,45 +15,51 @@ import { EntityType } from "./shared";
// ========== MODEL MESSAGES ========== // ========== MODEL MESSAGES ==========
/** /**
* Rule represents a named business rule applied to a specific entity type within an organisation.
*
* @generated from protobuf message api.Rule * @generated from protobuf message api.Rule
*/ */
export interface Rule { export interface Rule {
/** /**
* @generated from protobuf field: string ID = 1 * @generated from protobuf field: string ID = 1
*/ */
ID: string; ID: string; // Unique identifier of the rule.
/** /**
* @generated from protobuf field: string OrganisationID = 2 * @generated from protobuf field: string OrganisationID = 2
*/ */
OrganisationID: string; OrganisationID: string; // Identifier of the organisation the rule belongs to.
/** /**
* @generated from protobuf field: api.EntityType Entity = 3 * @generated from protobuf field: api.EntityType Entity = 3
*/ */
Entity: EntityType; Entity: EntityType; // Entity type the rule applies to (e.g. ORDER, ACTOR).
/** /**
* @generated from protobuf field: string Name = 4 * @generated from protobuf field: string Name = 4
*/ */
Name: string; Name: string; // Human-readable name of the rule.
/** /**
* @generated from protobuf field: string Description = 5 * @generated from protobuf field: string Description = 5
*/ */
Description: string; Description: string; // Optional description providing context for the rule.
/** /**
* @generated from protobuf field: string Definition = 6 * @generated from protobuf field: string Definition = 6
*/ */
Definition: string; Definition: string; // RPL (Reflex Platform Language) expression defining the rule logic.
/** /**
* @generated from protobuf field: api.RuleType RuleType = 7 * @generated from protobuf field: api.RuleType RuleType = 7
*/ */
RuleType: RuleType; RuleType: RuleType; // Category of the rule, determining how it is enforced.
/** /**
* @generated from protobuf field: string RuleTypeID = 8 * @generated from protobuf field: string RuleTypeID = 8
*/ */
RuleTypeID: string; RuleTypeID: string; // 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).
/** /**
* @generated from protobuf field: bool Status = 9 * @generated from protobuf field: bool Status = 9
*/ */
Status: boolean; Status: boolean; // Whether the rule is currently active (true = enabled, false = disabled).
/**
* @generated from protobuf field: repeated string Attributes = 10
*/
Attributes: string[]; // Contextual key:value pairs provided by the rule's consumer to scope evaluation (e.g. "ActorID:<id>" used to compute a restriction rule for a given actor context).
} }
// ========== REQUESTS & RESPONSE MESSAGES ========== // ========== REQUESTS & RESPONSE MESSAGES ==========
@@ -95,6 +101,10 @@ export interface CreateRuleRequest {
* @generated from protobuf field: string Issuer = 8 * @generated from protobuf field: string Issuer = 8
*/ */
Issuer: string; // Who created the rule, will be used as the commit's author when pushed to git Issuer: string; // Who created the rule, will be used as the commit's author when pushed to git
/**
* @generated from protobuf field: repeated string Attributes = 9
*/
Attributes: string[];
} }
/** /**
* @generated from protobuf message api.CreateRuleResponse * @generated from protobuf message api.CreateRuleResponse
@@ -135,6 +145,10 @@ export interface UpdateRuleRequest {
* @generated from protobuf field: string Issuer = 6 * @generated from protobuf field: string Issuer = 6
*/ */
Issuer: string; // Who updated the rule, will be used as the commit's author when pushed to git Issuer: string; // Who updated the rule, will be used as the commit's author when pushed to git
/**
* @generated from protobuf field: repeated string Attributes = 7
*/
Attributes: string[];
} }
/** /**
* @generated from protobuf message api.UpdateRuleResponse * @generated from protobuf message api.UpdateRuleResponse
@@ -280,22 +294,32 @@ export interface GetJSONTreeResponse {
JSONTree: string; JSONTree: string;
} }
/** /**
* RuleType categorises rules by their enforcement behaviour within a project.
*
* @generated from protobuf enum api.RuleType * @generated from protobuf enum api.RuleType
*/ */
export enum RuleType { export enum RuleType {
/** /**
* Default unset value. Should not be used explicitly.
*
* @generated from protobuf enum value: RULE_TYPE_PROJECT_UNKNOWN = 0; * @generated from protobuf enum value: RULE_TYPE_PROJECT_UNKNOWN = 0;
*/ */
RULE_TYPE_PROJECT_UNKNOWN = 0, RULE_TYPE_PROJECT_UNKNOWN = 0,
/** /**
* Data-access restriction: filters which data a user or role can see.
*
* @generated from protobuf enum value: RULE_TYPE_PROJECT_RESTRICTION = 1; * @generated from protobuf enum value: RULE_TYPE_PROJECT_RESTRICTION = 1;
*/ */
RULE_TYPE_PROJECT_RESTRICTION = 1, RULE_TYPE_PROJECT_RESTRICTION = 1,
/** /**
* Prune: removes or archives entities based on defined conditions.
*
* @generated from protobuf enum value: RULE_TYPE_PROJECT_PRUNE = 2; * @generated from protobuf enum value: RULE_TYPE_PROJECT_PRUNE = 2;
*/ */
RULE_TYPE_PROJECT_PRUNE = 2, RULE_TYPE_PROJECT_PRUNE = 2,
/** /**
* Anonymize: masks or anonymizes entity data based on defined conditions.
*
* @generated from protobuf enum value: RULE_TYPE_PROJECT_ANONYMIZE = 3; * @generated from protobuf enum value: RULE_TYPE_PROJECT_ANONYMIZE = 3;
*/ */
RULE_TYPE_PROJECT_ANONYMIZE = 3 RULE_TYPE_PROJECT_ANONYMIZE = 3
@@ -312,7 +336,8 @@ class Rule$Type extends MessageType<Rule> {
{ no: 6, name: "Definition", kind: "scalar", localName: "Definition", jsonName: "Definition", T: 9 /*ScalarType.STRING*/ }, { no: 6, name: "Definition", kind: "scalar", localName: "Definition", jsonName: "Definition", T: 9 /*ScalarType.STRING*/ },
{ no: 7, name: "RuleType", kind: "enum", localName: "RuleType", jsonName: "RuleType", T: () => ["api.RuleType", RuleType] }, { no: 7, name: "RuleType", kind: "enum", localName: "RuleType", jsonName: "RuleType", T: () => ["api.RuleType", RuleType] },
{ no: 8, name: "RuleTypeID", kind: "scalar", localName: "RuleTypeID", jsonName: "RuleTypeID", T: 9 /*ScalarType.STRING*/ }, { no: 8, name: "RuleTypeID", kind: "scalar", localName: "RuleTypeID", jsonName: "RuleTypeID", T: 9 /*ScalarType.STRING*/ },
{ no: 9, name: "Status", kind: "scalar", localName: "Status", jsonName: "Status", T: 8 /*ScalarType.BOOL*/ } { no: 9, name: "Status", kind: "scalar", localName: "Status", jsonName: "Status", T: 8 /*ScalarType.BOOL*/ },
{ no: 10, name: "Attributes", kind: "scalar", localName: "Attributes", jsonName: "Attributes", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
]); ]);
} }
create(value?: PartialMessage<Rule>): Rule { create(value?: PartialMessage<Rule>): Rule {
@@ -326,6 +351,7 @@ class Rule$Type extends MessageType<Rule> {
message.RuleType = 0; message.RuleType = 0;
message.RuleTypeID = ""; message.RuleTypeID = "";
message.Status = false; message.Status = false;
message.Attributes = [];
if (value !== undefined) if (value !== undefined)
reflectionMergePartial<Rule>(this, message, value); reflectionMergePartial<Rule>(this, message, value);
return message; return message;
@@ -362,6 +388,9 @@ class Rule$Type extends MessageType<Rule> {
case /* bool Status */ 9: case /* bool Status */ 9:
message.Status = reader.bool(); message.Status = reader.bool();
break; break;
case /* repeated string Attributes */ 10:
message.Attributes.push(reader.string());
break;
default: default:
let u = options.readUnknownField; let u = options.readUnknownField;
if (u === "throw") if (u === "throw")
@@ -401,6 +430,9 @@ class Rule$Type extends MessageType<Rule> {
/* bool Status = 9; */ /* bool Status = 9; */
if (message.Status !== false) if (message.Status !== false)
writer.tag(9, WireType.Varint).bool(message.Status); writer.tag(9, WireType.Varint).bool(message.Status);
/* repeated string Attributes = 10; */
for (let i = 0; i < message.Attributes.length; i++)
writer.tag(10, WireType.LengthDelimited).string(message.Attributes[i]);
let u = options.writeUnknownFields; let u = options.writeUnknownFields;
if (u !== false) if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -422,7 +454,8 @@ class CreateRuleRequest$Type extends MessageType<CreateRuleRequest> {
{ no: 5, name: "RuleTypeID", kind: "scalar", localName: "RuleTypeID", jsonName: "RuleTypeID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }, { no: 5, name: "RuleTypeID", kind: "scalar", localName: "RuleTypeID", jsonName: "RuleTypeID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
{ no: 6, name: "Description", kind: "scalar", localName: "Description", jsonName: "Description", T: 9 /*ScalarType.STRING*/ }, { no: 6, name: "Description", kind: "scalar", localName: "Description", jsonName: "Description", T: 9 /*ScalarType.STRING*/ },
{ no: 7, name: "Definition", kind: "scalar", localName: "Definition", jsonName: "Definition", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }, { no: 7, name: "Definition", kind: "scalar", localName: "Definition", jsonName: "Definition", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
{ no: 8, name: "Issuer", kind: "scalar", localName: "Issuer", jsonName: "Issuer", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } } { no: 8, name: "Issuer", kind: "scalar", localName: "Issuer", jsonName: "Issuer", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
{ no: 9, name: "Attributes", kind: "scalar", localName: "Attributes", jsonName: "Attributes", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["OrganisationID", "Entity", "Name", "RuleType", "RuleTypeID", "Definition", "Issuer"] } } }); ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["OrganisationID", "Entity", "Name", "RuleType", "RuleTypeID", "Definition", "Issuer"] } } });
} }
create(value?: PartialMessage<CreateRuleRequest>): CreateRuleRequest { create(value?: PartialMessage<CreateRuleRequest>): CreateRuleRequest {
@@ -435,6 +468,7 @@ class CreateRuleRequest$Type extends MessageType<CreateRuleRequest> {
message.Description = ""; message.Description = "";
message.Definition = ""; message.Definition = "";
message.Issuer = ""; message.Issuer = "";
message.Attributes = [];
if (value !== undefined) if (value !== undefined)
reflectionMergePartial<CreateRuleRequest>(this, message, value); reflectionMergePartial<CreateRuleRequest>(this, message, value);
return message; return message;
@@ -468,6 +502,9 @@ class CreateRuleRequest$Type extends MessageType<CreateRuleRequest> {
case /* string Issuer */ 8: case /* string Issuer */ 8:
message.Issuer = reader.string(); message.Issuer = reader.string();
break; break;
case /* repeated string Attributes */ 9:
message.Attributes.push(reader.string());
break;
default: default:
let u = options.readUnknownField; let u = options.readUnknownField;
if (u === "throw") if (u === "throw")
@@ -504,6 +541,9 @@ class CreateRuleRequest$Type extends MessageType<CreateRuleRequest> {
/* string Issuer = 8; */ /* string Issuer = 8; */
if (message.Issuer !== "") if (message.Issuer !== "")
writer.tag(8, WireType.LengthDelimited).string(message.Issuer); writer.tag(8, WireType.LengthDelimited).string(message.Issuer);
/* repeated string Attributes = 9; */
for (let i = 0; i < message.Attributes.length; i++)
writer.tag(9, WireType.LengthDelimited).string(message.Attributes[i]);
let u = options.writeUnknownFields; let u = options.writeUnknownFields;
if (u !== false) if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -569,7 +609,8 @@ class UpdateRuleRequest$Type extends MessageType<UpdateRuleRequest> {
{ no: 3, name: "Description", kind: "scalar", localName: "Description", jsonName: "Description", T: 9 /*ScalarType.STRING*/ }, { no: 3, name: "Description", kind: "scalar", localName: "Description", jsonName: "Description", T: 9 /*ScalarType.STRING*/ },
{ no: 4, name: "Definition", kind: "scalar", localName: "Definition", jsonName: "Definition", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }, { no: 4, name: "Definition", kind: "scalar", localName: "Definition", jsonName: "Definition", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
{ no: 5, name: "Entity", kind: "enum", localName: "Entity", jsonName: "Entity", T: () => ["api.EntityType", EntityType], options: { "validate.rules": { enum: { definedOnly: true } } } }, { no: 5, name: "Entity", kind: "enum", localName: "Entity", jsonName: "Entity", T: () => ["api.EntityType", EntityType], options: { "validate.rules": { enum: { definedOnly: true } } } },
{ no: 6, name: "Issuer", kind: "scalar", localName: "Issuer", jsonName: "Issuer", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } } { no: 6, name: "Issuer", kind: "scalar", localName: "Issuer", jsonName: "Issuer", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
{ no: 7, name: "Attributes", kind: "scalar", localName: "Attributes", jsonName: "Attributes", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["RuleID", "Name", "Definition", "Issuer", "Entity"] } } }); ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["RuleID", "Name", "Definition", "Issuer", "Entity"] } } });
} }
create(value?: PartialMessage<UpdateRuleRequest>): UpdateRuleRequest { create(value?: PartialMessage<UpdateRuleRequest>): UpdateRuleRequest {
@@ -580,6 +621,7 @@ class UpdateRuleRequest$Type extends MessageType<UpdateRuleRequest> {
message.Definition = ""; message.Definition = "";
message.Entity = 0; message.Entity = 0;
message.Issuer = ""; message.Issuer = "";
message.Attributes = [];
if (value !== undefined) if (value !== undefined)
reflectionMergePartial<UpdateRuleRequest>(this, message, value); reflectionMergePartial<UpdateRuleRequest>(this, message, value);
return message; return message;
@@ -607,6 +649,9 @@ class UpdateRuleRequest$Type extends MessageType<UpdateRuleRequest> {
case /* string Issuer */ 6: case /* string Issuer */ 6:
message.Issuer = reader.string(); message.Issuer = reader.string();
break; break;
case /* repeated string Attributes */ 7:
message.Attributes.push(reader.string());
break;
default: default:
let u = options.readUnknownField; let u = options.readUnknownField;
if (u === "throw") if (u === "throw")
@@ -637,6 +682,9 @@ class UpdateRuleRequest$Type extends MessageType<UpdateRuleRequest> {
/* string Issuer = 6; */ /* string Issuer = 6; */
if (message.Issuer !== "") if (message.Issuer !== "")
writer.tag(6, WireType.LengthDelimited).string(message.Issuer); writer.tag(6, WireType.LengthDelimited).string(message.Issuer);
/* repeated string Attributes = 7; */
for (let i = 0; i < message.Attributes.length; i++)
writer.tag(7, WireType.LengthDelimited).string(message.Attributes[i]);
let u = options.writeUnknownFields; let u = options.writeUnknownFields;
if (u !== false) if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);