- Implemented notification event publishing with a new NotificationEventPublisher interface. - Created a noopNotificationEventPublisher for testing purposes. - Added functionality to publish notification created events via MQTT. - Introduced a new stream event publisher for handling job logs and updates. - Added database migration for popup_ads table. - Created tests for notification events and popup ads functionality. - Established MQTT connection and publishing helpers for event messages.
201 lines
4.5 KiB
Protocol Buffer
201 lines
4.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package stream.app.v1;
|
|
|
|
option go_package = "stream.api/internal/gen/proto/app/v1;appv1";
|
|
|
|
import "app/v1/common.proto";
|
|
|
|
service Domains {
|
|
rpc ListDomains(ListDomainsRequest) returns (ListDomainsResponse);
|
|
rpc CreateDomain(CreateDomainRequest) returns (CreateDomainResponse);
|
|
rpc DeleteDomain(DeleteDomainRequest) returns (MessageResponse);
|
|
}
|
|
|
|
service AdTemplates {
|
|
rpc ListAdTemplates(ListAdTemplatesRequest) returns (ListAdTemplatesResponse);
|
|
rpc CreateAdTemplate(CreateAdTemplateRequest) returns (CreateAdTemplateResponse);
|
|
rpc UpdateAdTemplate(UpdateAdTemplateRequest) returns (UpdateAdTemplateResponse);
|
|
rpc DeleteAdTemplate(DeleteAdTemplateRequest) returns (MessageResponse);
|
|
}
|
|
|
|
service PopupAds {
|
|
rpc ListPopupAds(ListPopupAdsRequest) returns (ListPopupAdsResponse);
|
|
rpc CreatePopupAd(CreatePopupAdRequest) returns (CreatePopupAdResponse);
|
|
rpc UpdatePopupAd(UpdatePopupAdRequest) returns (UpdatePopupAdResponse);
|
|
rpc DeletePopupAd(DeletePopupAdRequest) returns (MessageResponse);
|
|
rpc GetActivePopupAd(GetActivePopupAdRequest) returns (GetActivePopupAdResponse);
|
|
}
|
|
|
|
service PlayerConfigs {
|
|
rpc ListPlayerConfigs(ListPlayerConfigsRequest) returns (ListPlayerConfigsResponse);
|
|
rpc CreatePlayerConfig(CreatePlayerConfigRequest) returns (CreatePlayerConfigResponse);
|
|
rpc UpdatePlayerConfig(UpdatePlayerConfigRequest) returns (UpdatePlayerConfigResponse);
|
|
rpc DeletePlayerConfig(DeletePlayerConfigRequest) returns (MessageResponse);
|
|
}
|
|
|
|
service Plans {
|
|
rpc ListPlans(ListPlansRequest) returns (ListPlansResponse);
|
|
}
|
|
|
|
message ListDomainsRequest {}
|
|
|
|
message ListDomainsResponse {
|
|
repeated Domain domains = 1;
|
|
}
|
|
|
|
message CreateDomainRequest {
|
|
string name = 1;
|
|
}
|
|
|
|
message CreateDomainResponse {
|
|
Domain domain = 1;
|
|
}
|
|
|
|
message DeleteDomainRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message ListAdTemplatesRequest {}
|
|
|
|
message ListAdTemplatesResponse {
|
|
repeated AdTemplate templates = 1;
|
|
}
|
|
|
|
message CreateAdTemplateRequest {
|
|
string name = 1;
|
|
optional string description = 2;
|
|
string vast_tag_url = 3;
|
|
optional string ad_format = 4;
|
|
optional int32 duration = 5;
|
|
optional bool is_active = 6;
|
|
optional bool is_default = 7;
|
|
}
|
|
|
|
message CreateAdTemplateResponse {
|
|
AdTemplate template = 1;
|
|
}
|
|
|
|
message UpdateAdTemplateRequest {
|
|
string id = 1;
|
|
string name = 2;
|
|
optional string description = 3;
|
|
string vast_tag_url = 4;
|
|
optional string ad_format = 5;
|
|
optional int32 duration = 6;
|
|
optional bool is_active = 7;
|
|
optional bool is_default = 8;
|
|
}
|
|
|
|
message UpdateAdTemplateResponse {
|
|
AdTemplate template = 1;
|
|
}
|
|
|
|
message DeleteAdTemplateRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message ListPopupAdsRequest {
|
|
int32 page = 1;
|
|
int32 limit = 2;
|
|
}
|
|
|
|
message ListPopupAdsResponse {
|
|
repeated PopupAd items = 1;
|
|
int64 total = 2;
|
|
int32 page = 3;
|
|
int32 limit = 4;
|
|
}
|
|
|
|
message CreatePopupAdRequest {
|
|
string type = 1;
|
|
string label = 2;
|
|
string value = 3;
|
|
optional bool is_active = 4;
|
|
optional int32 max_triggers_per_session = 5;
|
|
}
|
|
|
|
message CreatePopupAdResponse {
|
|
PopupAd item = 1;
|
|
}
|
|
|
|
message UpdatePopupAdRequest {
|
|
string id = 1;
|
|
string type = 2;
|
|
string label = 3;
|
|
string value = 4;
|
|
optional bool is_active = 5;
|
|
optional int32 max_triggers_per_session = 6;
|
|
}
|
|
|
|
message UpdatePopupAdResponse {
|
|
PopupAd item = 1;
|
|
}
|
|
|
|
message DeletePopupAdRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message GetActivePopupAdRequest {}
|
|
|
|
message GetActivePopupAdResponse {
|
|
optional PopupAd item = 1;
|
|
}
|
|
|
|
message ListPlayerConfigsRequest {}
|
|
|
|
message ListPlayerConfigsResponse {
|
|
repeated PlayerConfig configs = 1;
|
|
}
|
|
|
|
message CreatePlayerConfigRequest {
|
|
string name = 1;
|
|
optional string description = 2;
|
|
bool autoplay = 3;
|
|
bool loop = 4;
|
|
bool muted = 5;
|
|
bool show_controls = 6;
|
|
bool pip = 7;
|
|
bool airplay = 8;
|
|
bool chromecast = 9;
|
|
optional bool is_active = 10;
|
|
optional bool is_default = 11;
|
|
optional bool encrytion_m3u8 = 12;
|
|
optional string logo_url = 13;
|
|
}
|
|
|
|
message CreatePlayerConfigResponse {
|
|
PlayerConfig config = 1;
|
|
}
|
|
|
|
message UpdatePlayerConfigRequest {
|
|
string id = 1;
|
|
string name = 2;
|
|
optional string description = 3;
|
|
bool autoplay = 4;
|
|
bool loop = 5;
|
|
bool muted = 6;
|
|
bool show_controls = 7;
|
|
bool pip = 8;
|
|
bool airplay = 9;
|
|
bool chromecast = 10;
|
|
optional bool is_active = 11;
|
|
optional bool is_default = 12;
|
|
optional bool encrytion_m3u8 = 13;
|
|
optional string logo_url = 14;
|
|
}
|
|
|
|
message UpdatePlayerConfigResponse {
|
|
PlayerConfig config = 1;
|
|
}
|
|
|
|
message DeletePlayerConfigRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message ListPlansRequest {}
|
|
|
|
message ListPlansResponse {
|
|
repeated Plan plans = 1;
|
|
}
|