infoscreen

View readme on GitLab

info.proto

syntax = "proto3";
import "google/protobuf/timestamp.proto";

package info;

service Info {
    rpc ListInfoPages (ListInfoRequest) returns (stream InfoPageMeta);
    rpc GetInfoPage (GetInfoPageRequest) returns (InfoPage);
    rpc CreateInfoPage (CreateInfoPageRequest) returns (Empty);
    rpc DeleteInfoPage (DeleteInfoPageRequest) returns (Empty);
}

message Empty {
}

message GetInfoPageRequest {
    uint32 id = 1;
}

message CreateInfoPageRequest {
    InfoPage page = 1;
}

message DeleteInfoPageRequest {
    uint32 id = 1;
}

message ListInfoRequest {
}

message InfoPageMeta {
    uint32 id = 1;
    string name = 2;
    string association = 3;
    uint32 duration = 4; //In seconds
    google.protobuf.Timestamp start = 5;
    google.protobuf.Timestamp end = 6;

}

message InfoPage {
    InfoPageMeta meta = 1;
    bytes html = 2;
    repeated File files = 3;
}

message File {
    string name = 1;
    bytes data = 2;
}