Skip to content
Snippets Groups Projects

Добавлено содержимое репозитория с proto-файлами

Merged Valera Shaitorov requested to merge feature/init-repo into master
1 unresolved thread
24 files
+ 2071
0
Compare changes
  • Side-by-side
  • Inline
Files
24
+ 125
0
syntax = "proto3";
import "google/protobuf/empty.proto";
option go_package = "git.perx.ru/perxis/perxis-go/proto/clients;clients";
package content.clients;
message Client {
message OAuth {
string client_id = 4; // Идентификатор клиента выданные IdP сервером, используется для идентификации клиента
string auth_id = 5; // Сервис который используется для авторизации клиента
string token_url = 10; // URL для получения/обновления access token клиента (опционально)
string client_secret = 11; // Секретный Ключ клиента, используется для идентификации клиента (опционально)
}
message APIKey {
string key = 1;
bool rotate = 2;
}
message TLS {
string subject = 1;
}
// Внутренний идентификатор клиента внутри системы
string id = 1;
// Идентификатор пространства
string space_id = 2;
// Имя приложения (обязательное поле)
string name = 3;
// Описание клиента, назначение
string description = 6;
// Приложение отключено и не может авторизоваться
optional bool disabled = 7;
// // Приложение имеет доступ к указанным окружениям пространства (ID или Alias)
// repeated string environments = 8;
//
// // Список правил доступа к коллекциям
// repeated common.Rule rules = 9;
string role_id = 8;
OAuth oauth = 10;
TLS tls = 11;
APIKey api_key = 12;
}
message CreateRequest {
Client client = 1;
}
message CreateResponse {
Client created = 1;
}
message GetRequest {
string space_id = 1;
string id = 2;
}
message GetResponse {
Client client = 1;
}
message GetByRequest {
string space_id = 1;
string oauth_client_id = 2;
string tls_subject= 3;
string api_key = 4;
}
message GetByResponse {
Client client = 1;
}
message UpdateRequest {
Client client = 1;
}
message ListRequest {
string space_id = 1;
}
message ListResponse {
repeated Client clients = 1;
}
message DeleteRequest {
string space_id = 1;
string id = 2;
}
message EnableRequest {
string space_id = 1;
string id = 2;
bool enable = 3;
}
service Clients {
// Create - создает клиента (приложение) для работы с API
rpc Create(CreateRequest) returns(CreateResponse) {}
// Get - возвращает клиента по id
rpc Get(GetRequest) returns(GetResponse) {}
// GetByClientID - возвращает клиента по clientId системы авторизации
rpc GetBy(GetByRequest) returns(GetByResponse) {}
// Update - обновляет параметры клиента
rpc Update(UpdateRequest) returns(google.protobuf.Empty) {}
// List - возвращает список клиентов созданных в пространстве
rpc List(ListRequest) returns(ListResponse) {}
// Delete - удаляет указанного клиента из пространстве
rpc Delete(DeleteRequest) returns(google.protobuf.Empty) {}
// Enable - активирует/деактивирует клиента. Клиент не сможет обращаться к API платформы
rpc Enable(EnableRequest) returns(google.protobuf.Empty) {}
}
Loading