syntax = "proto3"; import "google/protobuf/struct.proto"; option go_package = "src.whiteboxsystems.nl/decozo/okapi"; // ConfigureCallback message ProtocolAuthConfiguration { string method = 1; google.protobuf.Struct configuration = 2; } enum SubscriptionPolicy { subnone = 0; optin = 1; optout = 2; } enum ConsentPolicy { consentnone = 0; explicit = 1; presumed = 2; } message ProtocolDefinition { string protocol = 1; repeated string authMethods = 2; } message Service { string id = 1; string name = 2; string description = 3; SubscriptionPolicy subscriptionPolicy = 4; ConsentPolicy consentPolicy = 5; repeated ProtocolDefinition fetchProtocols = 6; repeated ProtocolDefinition pushProtocols = 7; CallbackConfiguration fetchConfiguration = 8; CallbackConfiguration pushConfiguration = 9; bool enabled = 10; } message CallbackConfiguration { string protocol = 1; google.protobuf.Struct configuration = 2; ProtocolAuthConfiguration auth = 3; } message EnableServiceRequest { string serviceId = 1; CallbackConfiguration fetch = 2; CallbackConfiguration push = 3; } message EnableServiceResponse { string serviceId = 1; CallbackConfiguration fetch = 2; CallbackConfiguration push = 3; } message DisableServiceRequest { string serviceId = 1; } message DisableServiceResponse {} // ListServices message ListServicesRequest {} message ListServicesResponse { repeated Service services = 1; }