diff --git a/aruna/api/google b/aruna/api/google index fb30b795..bbcd7c56 160000 --- a/aruna/api/google +++ b/aruna/api/google @@ -1 +1 @@ -Subproject commit fb30b7950fbd3df9ddafa7be5557ed35605d9e55 +Subproject commit bbcd7c5619a6171baeeb393c387563b5463b4f89 diff --git a/aruna/api/hooks/services/v2/hooks_service.proto b/aruna/api/hooks/services/v2/hooks_service.proto index 64def827..73a66891 100644 --- a/aruna/api/hooks/services/v2/hooks_service.proto +++ b/aruna/api/hooks/services/v2/hooks_service.proto @@ -116,7 +116,7 @@ message HookCallbackRequest { string secret = 4; string hook_id = 5; string object_id = 6; - string pubkey_serial = 7; + int32 pubkey_serial = 7; } message HookCallbackResponse{} diff --git a/aruna/api/storage/models/v2/models.proto b/aruna/api/storage/models/v2/models.proto index ae5ae7a7..f9a73843 100644 --- a/aruna/api/storage/models/v2/models.proto +++ b/aruna/api/storage/models/v2/models.proto @@ -45,6 +45,7 @@ enum KeyValueVariant { KEY_VALUE_VARIANT_LABEL = 1; KEY_VALUE_VARIANT_STATIC_LABEL = 2; // A Label that only admins can remove KEY_VALUE_VARIANT_HOOK = 3; + KEY_VALUE_VARIANT_HOOK_STATUS = 4; } // External Relations diff --git a/aruna/api/storage/services/v2/info_service.proto b/aruna/api/storage/services/v2/info_service.proto index 54a64a7d..f9ba34f2 100644 --- a/aruna/api/storage/services/v2/info_service.proto +++ b/aruna/api/storage/services/v2/info_service.proto @@ -7,6 +7,7 @@ option java_package = "com.github.ArunaStorage.java_api.aruna.api.storage.servic option java_outer_classname = "StorageStatusService"; import "aruna/api/storage/models/v2/models.proto"; import "google/api/annotations.proto"; +import "google/protobuf/timestamp.proto"; // StorageStatusService @@ -45,6 +46,21 @@ service StorageStatusService { get : "/v2/info/pubkeys" }; } + + + rpc GetAnouncements(GetAnouncementsRequest) returns (GetAnouncementsResponse) { + option (google.api.http) = { + get : "/v2/info/anouncements" + }; + } + + + rpc SetAnouncements(SetAnouncementsRequest) returns (SetAnouncementsResponse) { + option (google.api.http) = { + post : "/v2/info/anouncements/set" + body : "*" + }; + } } @@ -102,4 +118,27 @@ message GetPubkeysRequest {} message GetPubkeysResponse { repeated storage.models.v2.Pubkey pubkeys = 1; +} + + +message Anouncement { + string id = 1; + string content = 2; + google.protobuf.Timestamp created_at = 3; +} + +message GetAnouncementsRequest {} + + +message GetAnouncementsResponse { + repeated Anouncement anouncements = 1; +} + +message SetAnouncementsRequest { + repeated Anouncement anouncements_upsert = 1; + repeated string anouncements_delete = 2; +} + +message SetAnouncementsResponse { + repeated Anouncement anouncements = 1; } \ No newline at end of file diff --git a/aruna/api/storage/services/v2/search_service.proto b/aruna/api/storage/services/v2/search_service.proto index 03f80425..e576fb37 100644 --- a/aruna/api/storage/services/v2/search_service.proto +++ b/aruna/api/storage/services/v2/search_service.proto @@ -22,17 +22,29 @@ service SearchService { }; } - // GetPublicResource + // GetResource // // Status: BETA // - // Retrieves a public resource by its ID. + // Retrieves resource by its ID. rpc GetResource(GetResourceRequest) returns (GetResourceResponse){ option (google.api.http) = { get : "/v2/resource/{resource_id}" }; } + + // GetResources + // + // Status: BETA + // + // Retrieves resources by a list of IDs. + rpc GetResources(GetResourcesRequest) returns (GetResourcesResponse){ + option (google.api.http) = { + get : "/v2/resources" + }; + } + } message SearchResourcesRequest { @@ -56,7 +68,21 @@ message GetResourceRequest { string resource_id = 1; } -message GetResourceResponse { +message ResourceWithPermission { storage.models.v2.GenericResource resource = 1; storage.models.v2.PermissionLevel permission = 2; } + +message GetResourceResponse { + ResourceWithPermission resource = 1; +} + + +message GetResourcesRequest { + repeated string resource_ids = 1; +} + +message GetResourcesResponse { + repeated ResourceWithPermission resources = 1; +} + diff --git a/aruna/api/storage/services/v2/user_service.proto b/aruna/api/storage/services/v2/user_service.proto index 5a1965fc..9353c7b0 100644 --- a/aruna/api/storage/services/v2/user_service.proto +++ b/aruna/api/storage/services/v2/user_service.proto @@ -211,6 +211,14 @@ service UserService { }; } + + rpc GetPersonalNotifications(GetPersonalNotificationsRequest) + returns (GetPersonalNotificationsResponse) { + option (google.api.http) = { + get : "/v2/user/{user_id}/notifications" + }; + } + } message RegisterUserRequest { @@ -370,3 +378,24 @@ message GetDataproxyTokenUserRequest { message GetDataproxyTokenUserResponse { string token = 1; } + +message GetPersonalNotificationsRequest { + string user_id = 1; +} + + +message References { + string ref_type = 1; // UserRequestAccess + string ref_name = 2; // "User A" + string ref_value = 3; // 0123AAA123AAA (id) +} + +message UserNotification { + string variant = 1; // Request access + string message = 2; // User A has requested access for resource B + repeated References refs = 3; // References to resource in the "message" +} + +message GetPersonalNotificationsResponse { + repeated UserNotification notifications = 1; +}