summaryrefslogtreecommitdiff
path: root/proto/sovrabase.proto
blob: 14ce3fcd4fa42851df45c7041f4d321c14ecf1e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
syntax = "proto3";

package sovrabase;

option go_package = "github.com/ketsuna-org/sovrabase";

/**

Example Proto file defining gRPC services for User, Project, and Organization management. Not intended for production use.
*/


// User service
service UserService {
  rpc GetUser(GetUserRequest) returns (GetUserResponse);
  rpc CreateUser(CreateUserRequest) returns (CreateUserResponse);
  rpc UpdateUser(UpdateUserRequest) returns (UpdateUserResponse);
  rpc DeleteUser(DeleteUserRequest) returns (DeleteUserResponse);
}

message GetUserRequest {
  string id = 1;
}

message GetUserResponse {
  string id = 1;
  string name = 2;
  string email = 3;
}

message CreateUserRequest {
  string name = 1;
  string email = 2;
}

message CreateUserResponse {
  string id = 1;
}

message UpdateUserRequest {
  string id = 1;
  string name = 2;
  string email = 3;
}

message UpdateUserResponse {
  bool success = 1;
}

message DeleteUserRequest {
  string id = 1;
}

message DeleteUserResponse {
  bool success = 1;
}

// Project service
service ProjectService {
  rpc GetProject(GetProjectRequest) returns (GetProjectResponse);
  rpc CreateProject(CreateProjectRequest) returns (CreateProjectResponse);
  rpc UpdateProject(UpdateProjectRequest) returns (UpdateProjectResponse);
  rpc DeleteProject(DeleteProjectRequest) returns (DeleteProjectResponse);
}

message GetProjectRequest {
  string id = 1;
}

message GetProjectResponse {
  string id = 1;
  string name = 2;
  string description = 3;
}

message CreateProjectRequest {
  string name = 1;
  string description = 2;
}

message CreateProjectResponse {
  string id = 1;
}

message UpdateProjectRequest {
  string id = 1;
  string name = 2;
  string description = 3;
}

message UpdateProjectResponse {
  bool success = 1;
}

message DeleteProjectRequest {
  string id = 1;
}

message DeleteProjectResponse {
  bool success = 1;
}

// Organization service
service OrganizationService {
  rpc GetOrganization(GetOrganizationRequest) returns (GetOrganizationResponse);
  rpc CreateOrganization(CreateOrganizationRequest) returns (CreateOrganizationResponse);
  rpc UpdateOrganization(UpdateOrganizationRequest) returns (UpdateOrganizationResponse);
  rpc DeleteOrganization(DeleteOrganizationRequest) returns (DeleteOrganizationResponse);
}

message GetOrganizationRequest {
  string id = 1;
}

message GetOrganizationResponse {
  string id = 1;
  string name = 2;
  string description = 3;
}

message CreateOrganizationRequest {
  string name = 1;
  string description = 2;
}

message CreateOrganizationResponse {
  string id = 1;
}

message UpdateOrganizationRequest {
  string id = 1;
  string name = 2;
  string description = 3;
}

message UpdateOrganizationResponse {
  bool success = 1;
}

message DeleteOrganizationRequest {
  string id = 1;
}

message DeleteOrganizationResponse {
  bool success = 1;
}