syntax = “proto3”;
package riddler.protobuf;
import “google/protobuf/timestamp.proto”;
/* Slug is one of the outputs of the RiddlerAdmin app. It maps a URL slug to a specific ContentDefinition and allows for control of if it is available (status) as well as a targeting predicate. Changes to Slugs do NOT need to go through compliance approval (as they don't allow for modification of content). */ message Slug {
string id = 1; google.protobuf.Timestamp created_at = 2; google.protobuf.Timestamp updated_at = 3; // The URL slug used to access content: user_research_prompt string name = 4; // LIVE or PAUSED SlugStatus status = 5; // ContentDefinition to be displayed string content_definition_id = 6; // Liquid template to define if an interaction should be reused string interaction_identity = 7; // Predicate to evaluate if the content should be shown string target_predicate = 8;
}
enum SlugStatus {
UNKNOWN_SLUG_STATUS = 0; LIVE = 1; PAUSED = 2;
}
enum Interval {
UNKNOWN_INTERVAL = 0; SECOND = 1; MINUTE = 2; HOUR = 3; DAY = 4; WEEK = 5; MONTH = 6; QUARTER = 7; YEAR = 8;
}
message EventCount {
string event_name = 1; int32 count = 2;
}
message SlugStats {
Interval interval = 1; repeated EventCount event_counts = 2;
}