From f5080f908e41785350b5c7854ee4f14643f3f912 Mon Sep 17 00:00:00 2001 From: Jesko Plitt Date: Tue, 27 Sep 2022 09:55:31 +0200 Subject: [PATCH] Add management and delivery api basis --- CHANGELOG.md | 4 ++++ README.md | 28 ++++++++++++++++++++++++++++ delivery/getData.proto | 15 +++++++++++++++ delivery/service.proto | 7 +++++++ management/createProjections.proto | 8 ++++++++ management/getProjections.proto | 8 ++++++++ management/removeProjections.proto | 8 ++++++++ management/service.proto | 13 +++++++++++++ management/updateProjections.proto | 8 ++++++++ 9 files changed, 99 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 README.md create mode 100644 delivery/getData.proto create mode 100644 delivery/service.proto create mode 100644 management/createProjections.proto create mode 100644 management/getProjections.proto create mode 100644 management/removeProjections.proto create mode 100644 management/service.proto create mode 100644 management/updateProjections.proto diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2aad05d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,4 @@ +# v1.0.0-alpha.1 + +- (feature) Add management +- (feature) Add delivery diff --git a/README.md b/README.md new file mode 100644 index 0000000..edf7294 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# projections-proto + +This repository contains all protocol buffers for the gRPC api of the projections service. + +## usage + +1. git clone this project: + +```shell +git clone git@github.com:fraym-work/projections-proto.git ./.pb +``` + +2. generate code from the cloned files +3. remove cloned data again to keep your project clean: + +```shell +rm -rf ./.pb +``` + +## components + +### management + +Contains all proto files for the management api of the projections service. + +### delivery + +Contains all proto files for the delivery api of the projections service. diff --git a/delivery/getData.proto b/delivery/getData.proto new file mode 100644 index 0000000..e941ca6 --- /dev/null +++ b/delivery/getData.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package delivery; + +message GetDataRequest { + string projection = 1; + string data_id = 2; + int32 limit = 3; + int32 page = 4; +} + +message GetDataResponse { + string data = 1; + int32 limit = 2; + int32 page = 3; +} diff --git a/delivery/service.proto b/delivery/service.proto new file mode 100644 index 0000000..a8b29bf --- /dev/null +++ b/delivery/service.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package delivery; +import "delivery/getData.proto"; + +service Service { + rpc GetData(GetDataRequest) returns (GetDataResponse); +} diff --git a/management/createProjections.proto b/management/createProjections.proto new file mode 100644 index 0000000..9117c29 --- /dev/null +++ b/management/createProjections.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package management; + +message CreateProjectionsRequest { + string schema = 1; +} + +message CreateProjectionsResponse {} diff --git a/management/getProjections.proto b/management/getProjections.proto new file mode 100644 index 0000000..dad7abc --- /dev/null +++ b/management/getProjections.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package management; + +message GetProjectionsRequest {} + +message GetProjectionsResponse { + repeated string name = 1; +} diff --git a/management/removeProjections.proto b/management/removeProjections.proto new file mode 100644 index 0000000..2655e7c --- /dev/null +++ b/management/removeProjections.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package management; + +message RemoveProjectionsRequest { + repeated string projection_names = 1; +} + +message RemoveProjectionsResponse {} diff --git a/management/service.proto b/management/service.proto new file mode 100644 index 0000000..1d9efbf --- /dev/null +++ b/management/service.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package management; +import "management/createProjections.proto"; +import "management/updateProjections.proto"; +import "management/removeProjections.proto"; +import "management/getProjections.proto"; + +service Service { + rpc CreateProjections(CreateProjectionsRequest) returns (CreateProjectionsResponse); + rpc UpdateProjections(UpdateProjectionsRequest) returns (UpdateProjectionsResponse); + rpc RemoveProjections(RemoveProjectionsRequest) returns (RemoveProjectionsResponse); + rpc GetProjections(GetProjectionsRequest) returns (GetProjectionsResponse); +} diff --git a/management/updateProjections.proto b/management/updateProjections.proto new file mode 100644 index 0000000..880fc3d --- /dev/null +++ b/management/updateProjections.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; +package management; + +message UpdateProjectionsRequest { + string schema = 1; +} + +message UpdateProjectionsResponse {}