Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
perxis-proto
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
12
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
perxis
perxis-proto
Commits
22347c28
Commit
22347c28
authored
1 year ago
by
Pavel Antonov
Browse files
Options
Downloads
Patches
Plain Diff
Описание запросов и интерфейсов для работы со связями в Perxis
parent
6362c4bb
No related branches found
No related tags found
1 merge request
!12
Описание запросов и интерфейсов для работы со связями в Perxis
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
proto/references/references.proto
+15
-6
15 additions, 6 deletions
proto/references/references.proto
with
15 additions
and
6 deletions
proto/references/references.proto
+
15
−
6
View file @
22347c28
...
@@ -9,8 +9,9 @@ option go_package = "git.perx.ru/perxis/perxis-go/proto/references;references";
...
@@ -9,8 +9,9 @@ option go_package = "git.perx.ru/perxis/perxis-go/proto/references;references";
package
content
.
references
;
package
content
.
references
;
// Reference - ссылка на объект.
// Reference - ссылка на запись
// Ссылка может быть на запись в текущем пространстве, окружении или в другом пространстве. Если не указано,
// то считается, что ссылка на запись в текущем пространстве и окружении объекта, в котором находится ссылка.
message
Reference
{
message
Reference
{
string
id
=
1
;
// ID записи
string
id
=
1
;
// ID записи
string
collection_id
=
2
;
// ID коллекции
string
collection_id
=
2
;
// ID коллекции
...
@@ -18,13 +19,20 @@ message Reference {
...
@@ -18,13 +19,20 @@ message Reference {
string
space_id
=
4
;
// ID пространства, в котором находится запись (опционально, если не указано, то текущее пространство)
string
space_id
=
4
;
// ID пространства, в котором находится запись (опционально, если не указано, то текущее пространство)
string
env_id
=
5
;
// ID окружения, в котором находится запись (опционально, если не указано, то текущее окружение)
string
env_id
=
5
;
// ID окружения, в котором находится запись (опционально, если не указано, то текущее окружение)
items.Item
item
=
6
;
// Запись, на которую ссылается ссылка
items.Item
item
=
6
;
// Запись, на которую ссылается ссылка
string
error
=
7
;
// Ошибка, если запись не найдена (возвращается вместо записи)
}
}
// Relation - связь между двумя объектами указанными в ссылках
// Relation - связь между двумя объектами указанными в ссылках.
// Тип связи может быть любым, но есть зарезервированные типы, которые используются в системе:
// - "ref" - используется для связей установленных через поля ссылок в объектах
// - "tag" - используется для связей установленных через поля тегов в объектах, используется в таксономии
// Расширения могут использовать свои типы связей для своих целей.
message
Relation
{
message
Relation
{
Reference
to
=
1
;
// Ссылка на объект, на который указывает связь
Reference
to
=
1
;
// Ссылка на объект, на который указывает связь
Reference
from
=
2
;
// Ссылка на объект, от которого исходит связь
Reference
from
=
2
;
// Ссылка на объект, от которого исходит связь
string
type
=
3
;
// Тип связи
string
type
=
3
;
// Тип связи
bool
weak
=
4
;
// Если true, то связь слабая и позволяет удалять записи, на которые она указывает
// int32 weight = 4; // Вес связи
// int32 weight = 4; // Вес связи
// uint32 epoch = 5; // Используется в процессе перестроения связей
// uint32 epoch = 5; // Используется в процессе перестроения связей
// bool bidirectional = 6; // Если true, то связь двунаправленная
// bool bidirectional = 6; // Если true, то связь двунаправленная
...
@@ -44,9 +52,9 @@ message GetResponse {
...
@@ -44,9 +52,9 @@ message GetResponse {
repeated
Reference
notfound
=
2
;
repeated
Reference
notfound
=
2
;
}
}
// SetRelationRequest принимает массив
отношени
й для установки
// SetRelationRequest принимает массив
связе
й для установки
message
SetRelationsRequest
{
message
SetRelationsRequest
{
repeated
Relation
relation
=
1
;
repeated
Relation
relation
=
1
;
// Список связей для установки
bool
skip_verify
=
2
;
// Если true, то не проверять существование записей
bool
skip_verify
=
2
;
// Если true, то не проверять существование записей
}
}
...
@@ -93,6 +101,7 @@ message RebuildRelationsRequest {
...
@@ -93,6 +101,7 @@ message RebuildRelationsRequest {
string
space_id
=
1
;
// Если указано, то перестраиваются только связи в указанном пространстве
string
space_id
=
1
;
// Если указано, то перестраиваются только связи в указанном пространстве
string
env_id
=
2
;
// Если указано, то перестраиваются только связи в указанном окружении
string
env_id
=
2
;
// Если указано, то перестраиваются только связи в указанном окружении
repeated
string
collection_ids
=
3
;
// Если указано, то перестраиваются только связи в указанных коллекциях
repeated
string
collection_ids
=
3
;
// Если указано, то перестраиваются только связи в указанных коллекциях
repeated
Reference
from
=
4
;
// Если указано, то перестраиваются только связи от указанной записи
}
}
// RebuildRelationsResponse возвращает токен, по которому можно получить статус перестроения связей
// RebuildRelationsResponse возвращает токен, по которому можно получить статус перестроения связей
...
@@ -135,7 +144,7 @@ service References {
...
@@ -135,7 +144,7 @@ service References {
rpc
RemoveRelations
(
RemoveRelationsRequest
)
returns
(
RemoveRelationsResponse
)
{}
rpc
RemoveRelations
(
RemoveRelationsRequest
)
returns
(
RemoveRelationsResponse
)
{}
// Перестраивает связи
// Перестраивает связи
// Может быть долгим, поэтому в
ыполняется асинхронно, возвращает пустой ответ
// Может быть долгим, поэтому в
озвращает токен, по которому можно получить статус перестроения связей
rpc
RebuildRelations
(
RebuildRelationsRequest
)
returns
(
RebuildRelationsResponse
)
{}
rpc
RebuildRelations
(
RebuildRelationsRequest
)
returns
(
RebuildRelationsResponse
)
{}
// Возвращает статус перестроения связей
// Возвращает статус перестроения связей
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment