Initial QSfera import

This commit is contained in:
Курнат Андрей
2026-06-07 10:20:04 +03:00
commit 2315f25754
16485 changed files with 4826827 additions and 0 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,424 @@
// Copyright 2018-2026 CERN
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/sharing/collaboration/v1beta1/collaboration_api.proto
package collaborationv1beta1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
CollaborationAPI_CreateShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/CreateShare"
CollaborationAPI_RemoveShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/RemoveShare"
CollaborationAPI_GetShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/GetShare"
CollaborationAPI_ListShares_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/ListShares"
CollaborationAPI_UpdateShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/UpdateShare"
CollaborationAPI_ListReceivedShares_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/ListReceivedShares"
CollaborationAPI_UpdateReceivedShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/UpdateReceivedShare"
CollaborationAPI_GetReceivedShare_FullMethodName = "/cs3.sharing.collaboration.v1beta1.CollaborationAPI/GetReceivedShare"
)
// CollaborationAPIClient is the client API for CollaborationAPI service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type CollaborationAPIClient interface {
// Creates a new share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_LOCKED if the resource reference already locked.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING.
CreateShare(ctx context.Context, in *CreateShareRequest, opts ...grpc.CallOption) (*CreateShareResponse, error)
// Removes a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
RemoveShare(ctx context.Context, in *RemoveShareRequest, opts ...grpc.CallOption) (*RemoveShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetShare(ctx context.Context, in *GetShareRequest, opts ...grpc.CallOption) (*GetShareResponse, error)
// List the shares the authenticated principal has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListShares(ctx context.Context, in *ListSharesRequest, opts ...grpc.CallOption) (*ListSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateShare(ctx context.Context, in *UpdateShareRequest, opts ...grpc.CallOption) (*UpdateShareResponse, error)
// List all shares the authenticated principal has received.
ListReceivedShares(ctx context.Context, in *ListReceivedSharesRequest, opts ...grpc.CallOption) (*ListReceivedSharesResponse, error)
// Update the received share to change the share state or the display name.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateReceivedShare(ctx context.Context, in *UpdateReceivedShareRequest, opts ...grpc.CallOption) (*UpdateReceivedShareResponse, error)
// Get the information for the given received share reference.
// MUST return CODE_NOT_FOUND if the received share reference does not exist.
GetReceivedShare(ctx context.Context, in *GetReceivedShareRequest, opts ...grpc.CallOption) (*GetReceivedShareResponse, error)
}
type collaborationAPIClient struct {
cc grpc.ClientConnInterface
}
func NewCollaborationAPIClient(cc grpc.ClientConnInterface) CollaborationAPIClient {
return &collaborationAPIClient{cc}
}
func (c *collaborationAPIClient) CreateShare(ctx context.Context, in *CreateShareRequest, opts ...grpc.CallOption) (*CreateShareResponse, error) {
out := new(CreateShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_CreateShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) RemoveShare(ctx context.Context, in *RemoveShareRequest, opts ...grpc.CallOption) (*RemoveShareResponse, error) {
out := new(RemoveShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_RemoveShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) GetShare(ctx context.Context, in *GetShareRequest, opts ...grpc.CallOption) (*GetShareResponse, error) {
out := new(GetShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_GetShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) ListShares(ctx context.Context, in *ListSharesRequest, opts ...grpc.CallOption) (*ListSharesResponse, error) {
out := new(ListSharesResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_ListShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) UpdateShare(ctx context.Context, in *UpdateShareRequest, opts ...grpc.CallOption) (*UpdateShareResponse, error) {
out := new(UpdateShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_UpdateShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) ListReceivedShares(ctx context.Context, in *ListReceivedSharesRequest, opts ...grpc.CallOption) (*ListReceivedSharesResponse, error) {
out := new(ListReceivedSharesResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_ListReceivedShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) UpdateReceivedShare(ctx context.Context, in *UpdateReceivedShareRequest, opts ...grpc.CallOption) (*UpdateReceivedShareResponse, error) {
out := new(UpdateReceivedShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_UpdateReceivedShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *collaborationAPIClient) GetReceivedShare(ctx context.Context, in *GetReceivedShareRequest, opts ...grpc.CallOption) (*GetReceivedShareResponse, error) {
out := new(GetReceivedShareResponse)
err := c.cc.Invoke(ctx, CollaborationAPI_GetReceivedShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// CollaborationAPIServer is the server API for CollaborationAPI service.
// All implementations should embed UnimplementedCollaborationAPIServer
// for forward compatibility
type CollaborationAPIServer interface {
// Creates a new share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_LOCKED if the resource reference already locked.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING.
CreateShare(context.Context, *CreateShareRequest) (*CreateShareResponse, error)
// Removes a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
RemoveShare(context.Context, *RemoveShareRequest) (*RemoveShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetShare(context.Context, *GetShareRequest) (*GetShareResponse, error)
// List the shares the authenticated principal has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListShares(context.Context, *ListSharesRequest) (*ListSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateShare(context.Context, *UpdateShareRequest) (*UpdateShareResponse, error)
// List all shares the authenticated principal has received.
ListReceivedShares(context.Context, *ListReceivedSharesRequest) (*ListReceivedSharesResponse, error)
// Update the received share to change the share state or the display name.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateReceivedShare(context.Context, *UpdateReceivedShareRequest) (*UpdateReceivedShareResponse, error)
// Get the information for the given received share reference.
// MUST return CODE_NOT_FOUND if the received share reference does not exist.
GetReceivedShare(context.Context, *GetReceivedShareRequest) (*GetReceivedShareResponse, error)
}
// UnimplementedCollaborationAPIServer should be embedded to have forward compatible implementations.
type UnimplementedCollaborationAPIServer struct {
}
func (UnimplementedCollaborationAPIServer) CreateShare(context.Context, *CreateShareRequest) (*CreateShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateShare not implemented")
}
func (UnimplementedCollaborationAPIServer) RemoveShare(context.Context, *RemoveShareRequest) (*RemoveShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemoveShare not implemented")
}
func (UnimplementedCollaborationAPIServer) GetShare(context.Context, *GetShareRequest) (*GetShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetShare not implemented")
}
func (UnimplementedCollaborationAPIServer) ListShares(context.Context, *ListSharesRequest) (*ListSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListShares not implemented")
}
func (UnimplementedCollaborationAPIServer) UpdateShare(context.Context, *UpdateShareRequest) (*UpdateShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateShare not implemented")
}
func (UnimplementedCollaborationAPIServer) ListReceivedShares(context.Context, *ListReceivedSharesRequest) (*ListReceivedSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListReceivedShares not implemented")
}
func (UnimplementedCollaborationAPIServer) UpdateReceivedShare(context.Context, *UpdateReceivedShareRequest) (*UpdateReceivedShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateReceivedShare not implemented")
}
func (UnimplementedCollaborationAPIServer) GetReceivedShare(context.Context, *GetReceivedShareRequest) (*GetReceivedShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetReceivedShare not implemented")
}
// UnsafeCollaborationAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to CollaborationAPIServer will
// result in compilation errors.
type UnsafeCollaborationAPIServer interface {
mustEmbedUnimplementedCollaborationAPIServer()
}
func RegisterCollaborationAPIServer(s grpc.ServiceRegistrar, srv CollaborationAPIServer) {
s.RegisterService(&CollaborationAPI_ServiceDesc, srv)
}
func _CollaborationAPI_CreateShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).CreateShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_CreateShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).CreateShare(ctx, req.(*CreateShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_RemoveShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RemoveShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).RemoveShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_RemoveShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).RemoveShare(ctx, req.(*RemoveShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_GetShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).GetShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_GetShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).GetShare(ctx, req.(*GetShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_ListShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).ListShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_ListShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).ListShares(ctx, req.(*ListSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_UpdateShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).UpdateShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_UpdateShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).UpdateShare(ctx, req.(*UpdateShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_ListReceivedShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListReceivedSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).ListReceivedShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_ListReceivedShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).ListReceivedShares(ctx, req.(*ListReceivedSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_UpdateReceivedShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateReceivedShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).UpdateReceivedShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_UpdateReceivedShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).UpdateReceivedShare(ctx, req.(*UpdateReceivedShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _CollaborationAPI_GetReceivedShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetReceivedShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CollaborationAPIServer).GetReceivedShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: CollaborationAPI_GetReceivedShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CollaborationAPIServer).GetReceivedShare(ctx, req.(*GetReceivedShareRequest))
}
return interceptor(ctx, in, info, handler)
}
// CollaborationAPI_ServiceDesc is the grpc.ServiceDesc for CollaborationAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var CollaborationAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.sharing.collaboration.v1beta1.CollaborationAPI",
HandlerType: (*CollaborationAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateShare",
Handler: _CollaborationAPI_CreateShare_Handler,
},
{
MethodName: "RemoveShare",
Handler: _CollaborationAPI_RemoveShare_Handler,
},
{
MethodName: "GetShare",
Handler: _CollaborationAPI_GetShare_Handler,
},
{
MethodName: "ListShares",
Handler: _CollaborationAPI_ListShares_Handler,
},
{
MethodName: "UpdateShare",
Handler: _CollaborationAPI_UpdateShare_Handler,
},
{
MethodName: "ListReceivedShares",
Handler: _CollaborationAPI_ListReceivedShares_Handler,
},
{
MethodName: "UpdateReceivedShare",
Handler: _CollaborationAPI_UpdateReceivedShare_Handler,
},
{
MethodName: "GetReceivedShare",
Handler: _CollaborationAPI_GetReceivedShare_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/sharing/collaboration/v1beta1/collaboration_api.proto",
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,342 @@
// Copyright 2018-2026 CERN
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/sharing/link/v1beta1/link_api.proto
package linkv1beta1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
LinkAPI_CreatePublicShare_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/CreatePublicShare"
LinkAPI_RemovePublicShare_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/RemovePublicShare"
LinkAPI_GetPublicShare_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/GetPublicShare"
LinkAPI_GetPublicShareByToken_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/GetPublicShareByToken"
LinkAPI_ListPublicShares_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/ListPublicShares"
LinkAPI_UpdatePublicShare_FullMethodName = "/cs3.sharing.link.v1beta1.LinkAPI/UpdatePublicShare"
)
// LinkAPIClient is the client API for LinkAPI service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type LinkAPIClient interface {
// Creates a new share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING.
CreatePublicShare(ctx context.Context, in *CreatePublicShareRequest, opts ...grpc.CallOption) (*CreatePublicShareResponse, error)
// Removes a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
RemovePublicShare(ctx context.Context, in *RemovePublicShareRequest, opts ...grpc.CallOption) (*RemovePublicShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetPublicShare(ctx context.Context, in *GetPublicShareRequest, opts ...grpc.CallOption) (*GetPublicShareResponse, error)
// Gets share information for a single share by its unlisted token.
// MUST return CODE_NOT_FOUND if the share does not exist.
GetPublicShareByToken(ctx context.Context, in *GetPublicShareByTokenRequest, opts ...grpc.CallOption) (*GetPublicShareByTokenResponse, error)
// List the shares the authenticated principal has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListPublicShares(ctx context.Context, in *ListPublicSharesRequest, opts ...grpc.CallOption) (*ListPublicSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdatePublicShare(ctx context.Context, in *UpdatePublicShareRequest, opts ...grpc.CallOption) (*UpdatePublicShareResponse, error)
}
type linkAPIClient struct {
cc grpc.ClientConnInterface
}
func NewLinkAPIClient(cc grpc.ClientConnInterface) LinkAPIClient {
return &linkAPIClient{cc}
}
func (c *linkAPIClient) CreatePublicShare(ctx context.Context, in *CreatePublicShareRequest, opts ...grpc.CallOption) (*CreatePublicShareResponse, error) {
out := new(CreatePublicShareResponse)
err := c.cc.Invoke(ctx, LinkAPI_CreatePublicShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) RemovePublicShare(ctx context.Context, in *RemovePublicShareRequest, opts ...grpc.CallOption) (*RemovePublicShareResponse, error) {
out := new(RemovePublicShareResponse)
err := c.cc.Invoke(ctx, LinkAPI_RemovePublicShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) GetPublicShare(ctx context.Context, in *GetPublicShareRequest, opts ...grpc.CallOption) (*GetPublicShareResponse, error) {
out := new(GetPublicShareResponse)
err := c.cc.Invoke(ctx, LinkAPI_GetPublicShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) GetPublicShareByToken(ctx context.Context, in *GetPublicShareByTokenRequest, opts ...grpc.CallOption) (*GetPublicShareByTokenResponse, error) {
out := new(GetPublicShareByTokenResponse)
err := c.cc.Invoke(ctx, LinkAPI_GetPublicShareByToken_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) ListPublicShares(ctx context.Context, in *ListPublicSharesRequest, opts ...grpc.CallOption) (*ListPublicSharesResponse, error) {
out := new(ListPublicSharesResponse)
err := c.cc.Invoke(ctx, LinkAPI_ListPublicShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *linkAPIClient) UpdatePublicShare(ctx context.Context, in *UpdatePublicShareRequest, opts ...grpc.CallOption) (*UpdatePublicShareResponse, error) {
out := new(UpdatePublicShareResponse)
err := c.cc.Invoke(ctx, LinkAPI_UpdatePublicShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// LinkAPIServer is the server API for LinkAPI service.
// All implementations should embed UnimplementedLinkAPIServer
// for forward compatibility
type LinkAPIServer interface {
// Creates a new share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING.
CreatePublicShare(context.Context, *CreatePublicShareRequest) (*CreatePublicShareResponse, error)
// Removes a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
RemovePublicShare(context.Context, *RemovePublicShareRequest) (*RemovePublicShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetPublicShare(context.Context, *GetPublicShareRequest) (*GetPublicShareResponse, error)
// Gets share information for a single share by its unlisted token.
// MUST return CODE_NOT_FOUND if the share does not exist.
GetPublicShareByToken(context.Context, *GetPublicShareByTokenRequest) (*GetPublicShareByTokenResponse, error)
// List the shares the authenticated principal has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListPublicShares(context.Context, *ListPublicSharesRequest) (*ListPublicSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdatePublicShare(context.Context, *UpdatePublicShareRequest) (*UpdatePublicShareResponse, error)
}
// UnimplementedLinkAPIServer should be embedded to have forward compatible implementations.
type UnimplementedLinkAPIServer struct {
}
func (UnimplementedLinkAPIServer) CreatePublicShare(context.Context, *CreatePublicShareRequest) (*CreatePublicShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreatePublicShare not implemented")
}
func (UnimplementedLinkAPIServer) RemovePublicShare(context.Context, *RemovePublicShareRequest) (*RemovePublicShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemovePublicShare not implemented")
}
func (UnimplementedLinkAPIServer) GetPublicShare(context.Context, *GetPublicShareRequest) (*GetPublicShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetPublicShare not implemented")
}
func (UnimplementedLinkAPIServer) GetPublicShareByToken(context.Context, *GetPublicShareByTokenRequest) (*GetPublicShareByTokenResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetPublicShareByToken not implemented")
}
func (UnimplementedLinkAPIServer) ListPublicShares(context.Context, *ListPublicSharesRequest) (*ListPublicSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListPublicShares not implemented")
}
func (UnimplementedLinkAPIServer) UpdatePublicShare(context.Context, *UpdatePublicShareRequest) (*UpdatePublicShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdatePublicShare not implemented")
}
// UnsafeLinkAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to LinkAPIServer will
// result in compilation errors.
type UnsafeLinkAPIServer interface {
mustEmbedUnimplementedLinkAPIServer()
}
func RegisterLinkAPIServer(s grpc.ServiceRegistrar, srv LinkAPIServer) {
s.RegisterService(&LinkAPI_ServiceDesc, srv)
}
func _LinkAPI_CreatePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreatePublicShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).CreatePublicShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_CreatePublicShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).CreatePublicShare(ctx, req.(*CreatePublicShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_RemovePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RemovePublicShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).RemovePublicShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_RemovePublicShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).RemovePublicShare(ctx, req.(*RemovePublicShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_GetPublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetPublicShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).GetPublicShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_GetPublicShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).GetPublicShare(ctx, req.(*GetPublicShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_GetPublicShareByToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetPublicShareByTokenRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).GetPublicShareByToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_GetPublicShareByToken_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).GetPublicShareByToken(ctx, req.(*GetPublicShareByTokenRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_ListPublicShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListPublicSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).ListPublicShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_ListPublicShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).ListPublicShares(ctx, req.(*ListPublicSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _LinkAPI_UpdatePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdatePublicShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LinkAPIServer).UpdatePublicShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: LinkAPI_UpdatePublicShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LinkAPIServer).UpdatePublicShare(ctx, req.(*UpdatePublicShareRequest))
}
return interceptor(ctx, in, info, handler)
}
// LinkAPI_ServiceDesc is the grpc.ServiceDesc for LinkAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var LinkAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.sharing.link.v1beta1.LinkAPI",
HandlerType: (*LinkAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreatePublicShare",
Handler: _LinkAPI_CreatePublicShare_Handler,
},
{
MethodName: "RemovePublicShare",
Handler: _LinkAPI_RemovePublicShare_Handler,
},
{
MethodName: "GetPublicShare",
Handler: _LinkAPI_GetPublicShare_Handler,
},
{
MethodName: "GetPublicShareByToken",
Handler: _LinkAPI_GetPublicShareByToken_Handler,
},
{
MethodName: "ListPublicShares",
Handler: _LinkAPI_ListPublicShares_Handler,
},
{
MethodName: "UpdatePublicShare",
Handler: _LinkAPI_UpdatePublicShare_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/sharing/link/v1beta1/link_api.proto",
}
@@ -0,0 +1,969 @@
// Copyright 2018-2026 CERN
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc (unknown)
// source: cs3/sharing/link/v1beta1/resources.proto
package linkv1beta1
import (
v1beta11 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
v1beta1 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
v1beta12 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Public share are relationships between a resource owner
// (usually the authenticated user) who grants permissions to a recipient (grantee)
// on a specified resource (resource_id). UserShares represents both user and groups.
// TODO(labkode): do we need to have resource_type stored on the share?
// This is not needed if when getting the shares a stat operation is launched against the
// the storage provider.
type PublicShare struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// Opaque unique identifier of the share.
Id *PublicShareId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// REQUIRED.
// The unlisted token to give public access
// to the public share.
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
// REQUIRED.
// Unique identifier of the shared resource.
ResourceId *v1beta1.ResourceId `protobuf:"bytes,3,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
// REQUIRED.
// Permissions for the grantee to use
// the resource.
Permissions *PublicSharePermissions `protobuf:"bytes,4,opt,name=permissions,proto3" json:"permissions,omitempty"`
// REQUIRED.
// Uniquely identifies the owner of the share
// (the resource owner at the time of creating the share).
// In case the ownership of the underlying resource changes
// the share owner field MAY change to reflect the change of ownsership.
Owner *v1beta11.UserId `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
// REQUIRED.
// Uniquely identifies a principal who initiates the share creation.
// A creator can create shares on behalf of the owner (because of re-sharing,
// because belonging to special groups, ...).
// Creator and owner often result in being the same principal.
Creator *v1beta11.UserId `protobuf:"bytes,6,opt,name=creator,proto3" json:"creator,omitempty"`
// REQUIRED.
// Creation time of the share.
Ctime *v1beta12.Timestamp `protobuf:"bytes,7,opt,name=ctime,proto3" json:"ctime,omitempty"`
// REQUIRED.
// Last modification time of the share.
Mtime *v1beta12.Timestamp `protobuf:"bytes,8,opt,name=mtime,proto3" json:"mtime,omitempty"`
// REQUIRED.
// Determines if the public share is password protected or not.
PasswordProtected bool `protobuf:"varint,9,opt,name=password_protected,json=passwordProtected,proto3" json:"password_protected,omitempty"`
// OPTIONAL.
// The expiration time for the public share.
Expiration *v1beta12.Timestamp `protobuf:"bytes,10,opt,name=expiration,proto3" json:"expiration,omitempty"`
// OPTIONAL.
// Display name for the shared resource (such as file, directory basename or any
// user defined name).
// The display name MAY be different than the actual resource basename.
// This field is only useful for informational purposes, like for example,
// setting the window title in a public share HTML page.
DisplayName string `protobuf:"bytes,11,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// OPTIONAL.
// A time constrained token with which
// GetPublicSharebyToken requests can be
// authenticated.
Signature *ShareSignature `protobuf:"bytes,12,opt,name=signature,proto3" json:"signature,omitempty"`
// OPTIONAL
// A bool value indicating if the link is the quicklink
// the server will enforce a maximum of 1 quicklink per resource
Quicklink bool `protobuf:"varint,13,opt,name=quicklink,proto3" json:"quicklink,omitempty"`
// OPTIONAL
// Description of the share.
Description string `protobuf:"bytes,14,opt,name=description,proto3" json:"description,omitempty"`
// OPTIONAL
// Whether to notify the owner of a share when a file is uploaded to it.
NotifyUploads bool `protobuf:"varint,15,opt,name=notify_uploads,json=notifyUploads,proto3" json:"notify_uploads,omitempty"`
// OPTIONAL
// Comma-separated list of extra email addresses to notify when a file is
// uploaded to the share.
NotifyUploadsExtraRecipients string `protobuf:"bytes,16,opt,name=notify_uploads_extra_recipients,json=notifyUploadsExtraRecipients,proto3" json:"notify_uploads_extra_recipients,omitempty"`
}
func (x *PublicShare) Reset() {
*x = PublicShare{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShare) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShare) ProtoMessage() {}
func (x *PublicShare) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PublicShare.ProtoReflect.Descriptor instead.
func (*PublicShare) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{0}
}
func (x *PublicShare) GetId() *PublicShareId {
if x != nil {
return x.Id
}
return nil
}
func (x *PublicShare) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *PublicShare) GetResourceId() *v1beta1.ResourceId {
if x != nil {
return x.ResourceId
}
return nil
}
func (x *PublicShare) GetPermissions() *PublicSharePermissions {
if x != nil {
return x.Permissions
}
return nil
}
func (x *PublicShare) GetOwner() *v1beta11.UserId {
if x != nil {
return x.Owner
}
return nil
}
func (x *PublicShare) GetCreator() *v1beta11.UserId {
if x != nil {
return x.Creator
}
return nil
}
func (x *PublicShare) GetCtime() *v1beta12.Timestamp {
if x != nil {
return x.Ctime
}
return nil
}
func (x *PublicShare) GetMtime() *v1beta12.Timestamp {
if x != nil {
return x.Mtime
}
return nil
}
func (x *PublicShare) GetPasswordProtected() bool {
if x != nil {
return x.PasswordProtected
}
return false
}
func (x *PublicShare) GetExpiration() *v1beta12.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
func (x *PublicShare) GetDisplayName() string {
if x != nil {
return x.DisplayName
}
return ""
}
func (x *PublicShare) GetSignature() *ShareSignature {
if x != nil {
return x.Signature
}
return nil
}
func (x *PublicShare) GetQuicklink() bool {
if x != nil {
return x.Quicklink
}
return false
}
func (x *PublicShare) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *PublicShare) GetNotifyUploads() bool {
if x != nil {
return x.NotifyUploads
}
return false
}
func (x *PublicShare) GetNotifyUploadsExtraRecipients() string {
if x != nil {
return x.NotifyUploadsExtraRecipients
}
return ""
}
// The permissions for a share.
type PublicSharePermissions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Permissions *v1beta1.ResourcePermissions `protobuf:"bytes,1,opt,name=permissions,proto3" json:"permissions,omitempty"` // TODO(labkode): additional permissions for shares like re-sharing
}
func (x *PublicSharePermissions) Reset() {
*x = PublicSharePermissions{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicSharePermissions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicSharePermissions) ProtoMessage() {}
func (x *PublicSharePermissions) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PublicSharePermissions.ProtoReflect.Descriptor instead.
func (*PublicSharePermissions) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{1}
}
func (x *PublicSharePermissions) GetPermissions() *v1beta1.ResourcePermissions {
if x != nil {
return x.Permissions
}
return nil
}
// A share id identifies uniquely a // share in the share provider namespace.
// A ShareId MUST be unique inside the share provider.
type PublicShareId struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The internal id used by service implementor to
// uniquely identity the share in the internal
// implementation of the service.
OpaqueId string `protobuf:"bytes,2,opt,name=opaque_id,json=opaqueId,proto3" json:"opaque_id,omitempty"`
}
func (x *PublicShareId) Reset() {
*x = PublicShareId{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShareId) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShareId) ProtoMessage() {}
func (x *PublicShareId) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PublicShareId.ProtoReflect.Descriptor instead.
func (*PublicShareId) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{2}
}
func (x *PublicShareId) GetOpaqueId() string {
if x != nil {
return x.OpaqueId
}
return ""
}
// The mechanism to identify a share
// in the share provider namespace.
type PublicShareReference struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// One of the specifications MUST be specified.
//
// Types that are assignable to Spec:
//
// *PublicShareReference_Id
// *PublicShareReference_Token
Spec isPublicShareReference_Spec `protobuf_oneof:"spec"`
}
func (x *PublicShareReference) Reset() {
*x = PublicShareReference{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShareReference) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShareReference) ProtoMessage() {}
func (x *PublicShareReference) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PublicShareReference.ProtoReflect.Descriptor instead.
func (*PublicShareReference) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{3}
}
func (m *PublicShareReference) GetSpec() isPublicShareReference_Spec {
if m != nil {
return m.Spec
}
return nil
}
func (x *PublicShareReference) GetId() *PublicShareId {
if x, ok := x.GetSpec().(*PublicShareReference_Id); ok {
return x.Id
}
return nil
}
func (x *PublicShareReference) GetToken() string {
if x, ok := x.GetSpec().(*PublicShareReference_Token); ok {
return x.Token
}
return ""
}
type isPublicShareReference_Spec interface {
isPublicShareReference_Spec()
}
type PublicShareReference_Id struct {
// The id of the share.
Id *PublicShareId `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
}
type PublicShareReference_Token struct {
// The token to identify the public share.
Token string `protobuf:"bytes,2,opt,name=token,proto3,oneof"`
}
func (*PublicShareReference_Id) isPublicShareReference_Spec() {}
func (*PublicShareReference_Token) isPublicShareReference_Spec() {}
// The mechanism to authenticate a request to
// GetPublicShareByToken.
type PublicShareAuthentication struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Spec:
//
// *PublicShareAuthentication_Password
// *PublicShareAuthentication_Signature
Spec isPublicShareAuthentication_Spec `protobuf_oneof:"spec"`
}
func (x *PublicShareAuthentication) Reset() {
*x = PublicShareAuthentication{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PublicShareAuthentication) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PublicShareAuthentication) ProtoMessage() {}
func (x *PublicShareAuthentication) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PublicShareAuthentication.ProtoReflect.Descriptor instead.
func (*PublicShareAuthentication) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{4}
}
func (m *PublicShareAuthentication) GetSpec() isPublicShareAuthentication_Spec {
if m != nil {
return m.Spec
}
return nil
}
func (x *PublicShareAuthentication) GetPassword() string {
if x, ok := x.GetSpec().(*PublicShareAuthentication_Password); ok {
return x.Password
}
return ""
}
func (x *PublicShareAuthentication) GetSignature() *ShareSignature {
if x, ok := x.GetSpec().(*PublicShareAuthentication_Signature); ok {
return x.Signature
}
return nil
}
type isPublicShareAuthentication_Spec interface {
isPublicShareAuthentication_Spec()
}
type PublicShareAuthentication_Password struct {
// The password of the share.
Password string `protobuf:"bytes,1,opt,name=password,proto3,oneof"`
}
type PublicShareAuthentication_Signature struct {
// The signature issued by GetPublicShareByToken.
Signature *ShareSignature `protobuf:"bytes,2,opt,name=signature,proto3,oneof"`
}
func (*PublicShareAuthentication_Password) isPublicShareAuthentication_Spec() {}
func (*PublicShareAuthentication_Signature) isPublicShareAuthentication_Spec() {}
// A time constrained token which can be used to
// authenticate link share requests.
type ShareSignature struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The signature value.
Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
// REQUIRED.
// The time until the signature becomes invalid.
SignatureExpiration *v1beta12.Timestamp `protobuf:"bytes,2,opt,name=signature_expiration,json=signatureExpiration,proto3" json:"signature_expiration,omitempty"`
}
func (x *ShareSignature) Reset() {
*x = ShareSignature{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShareSignature) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShareSignature) ProtoMessage() {}
func (x *ShareSignature) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ShareSignature.ProtoReflect.Descriptor instead.
func (*ShareSignature) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{5}
}
func (x *ShareSignature) GetSignature() string {
if x != nil {
return x.Signature
}
return ""
}
func (x *ShareSignature) GetSignatureExpiration() *v1beta12.Timestamp {
if x != nil {
return x.SignatureExpiration
}
return nil
}
// Defines the restrictions for the public share.
type Grant struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// REQUIRED.
// The permissions for the share.
Permissions *PublicSharePermissions `protobuf:"bytes,1,opt,name=permissions,proto3" json:"permissions,omitempty"`
// OPTIONAL.
// A password to protect the access to the public share.
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
// OPTIONAL.
// An expiration date to protect the access to the public share.
Expiration *v1beta12.Timestamp `protobuf:"bytes,3,opt,name=expiration,proto3" json:"expiration,omitempty"`
}
func (x *Grant) Reset() {
*x = Grant{}
if protoimpl.UnsafeEnabled {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Grant) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Grant) ProtoMessage() {}
func (x *Grant) ProtoReflect() protoreflect.Message {
mi := &file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Grant.ProtoReflect.Descriptor instead.
func (*Grant) Descriptor() ([]byte, []int) {
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP(), []int{6}
}
func (x *Grant) GetPermissions() *PublicSharePermissions {
if x != nil {
return x.Permissions
}
return nil
}
func (x *Grant) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *Grant) GetExpiration() *v1beta12.Timestamp {
if x != nil {
return x.Expiration
}
return nil
}
var File_cs3_sharing_link_v1beta1_resources_proto protoreflect.FileDescriptor
var file_cs3_sharing_link_v1beta1_resources_proto_rawDesc = []byte{
0x0a, 0x28, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6c, 0x69,
0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63, 0x73, 0x33, 0x2e,
0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0x1a, 0x29, 0x63, 0x73, 0x33, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
0x74, 0x79, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2c, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65,
0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63,
0x73, 0x33, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x06, 0x0a,
0x0b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x37, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73,
0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49,
0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x72,
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x28, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61,
0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70,
0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e,
0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74,
0x69, 0x74, 0x79, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
0x12, 0x32, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x63,
0x74, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x61, 0x73, 0x73,
0x77, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x09,
0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x50, 0x72,
0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73,
0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e,
0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e,
0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x08, 0x52, 0x09, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x20,
0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61,
0x64, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79,
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x6e, 0x6f, 0x74, 0x69, 0x66,
0x79, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f,
0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
0x52, 0x1c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x45,
0x78, 0x74, 0x72, 0x61, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6d,
0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x65, 0x72,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2c, 0x0a,
0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1b,
0x0a, 0x09, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x14, 0x50,
0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x27, 0x2e, 0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69,
0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69,
0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16,
0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x8b,
0x01, 0x0a, 0x19, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75,
0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x08,
0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x48, 0x0a, 0x09, 0x73, 0x69,
0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
0x63, 0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x69,
0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
0x74, 0x75, 0x72, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x7f, 0x0a, 0x0e,
0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1c,
0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x14,
0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73, 0x33,
0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
0x75, 0x72, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01,
0x0a, 0x05, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63,
0x73, 0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x68,
0x61, 0x72, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b,
0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xf4, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x73,
0x33, 0x2e, 0x73, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x73, 0x33, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x2d, 0x63,
0x73, 0x33, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x73, 0x33, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x69,
0x6e, 0x67, 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
0x6c, 0x69, 0x6e, 0x6b, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53,
0x4c, 0xaa, 0x02, 0x18, 0x43, 0x73, 0x33, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x2e,
0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43,
0x73, 0x33, 0x5c, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4c, 0x69, 0x6e, 0x6b, 0x5c,
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x73, 0x33, 0x5c, 0x53, 0x68,
0x61, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x4c, 0x69, 0x6e, 0x6b, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
0x1b, 0x43, 0x73, 0x33, 0x3a, 0x3a, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x4c,
0x69, 0x6e, 0x6b, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_cs3_sharing_link_v1beta1_resources_proto_rawDescOnce sync.Once
file_cs3_sharing_link_v1beta1_resources_proto_rawDescData = file_cs3_sharing_link_v1beta1_resources_proto_rawDesc
)
func file_cs3_sharing_link_v1beta1_resources_proto_rawDescGZIP() []byte {
file_cs3_sharing_link_v1beta1_resources_proto_rawDescOnce.Do(func() {
file_cs3_sharing_link_v1beta1_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_cs3_sharing_link_v1beta1_resources_proto_rawDescData)
})
return file_cs3_sharing_link_v1beta1_resources_proto_rawDescData
}
var file_cs3_sharing_link_v1beta1_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_cs3_sharing_link_v1beta1_resources_proto_goTypes = []interface{}{
(*PublicShare)(nil), // 0: cs3.sharing.link.v1beta1.PublicShare
(*PublicSharePermissions)(nil), // 1: cs3.sharing.link.v1beta1.PublicSharePermissions
(*PublicShareId)(nil), // 2: cs3.sharing.link.v1beta1.PublicShareId
(*PublicShareReference)(nil), // 3: cs3.sharing.link.v1beta1.PublicShareReference
(*PublicShareAuthentication)(nil), // 4: cs3.sharing.link.v1beta1.PublicShareAuthentication
(*ShareSignature)(nil), // 5: cs3.sharing.link.v1beta1.ShareSignature
(*Grant)(nil), // 6: cs3.sharing.link.v1beta1.Grant
(*v1beta1.ResourceId)(nil), // 7: cs3.storage.provider.v1beta1.ResourceId
(*v1beta11.UserId)(nil), // 8: cs3.identity.user.v1beta1.UserId
(*v1beta12.Timestamp)(nil), // 9: cs3.types.v1beta1.Timestamp
(*v1beta1.ResourcePermissions)(nil), // 10: cs3.storage.provider.v1beta1.ResourcePermissions
}
var file_cs3_sharing_link_v1beta1_resources_proto_depIdxs = []int32{
2, // 0: cs3.sharing.link.v1beta1.PublicShare.id:type_name -> cs3.sharing.link.v1beta1.PublicShareId
7, // 1: cs3.sharing.link.v1beta1.PublicShare.resource_id:type_name -> cs3.storage.provider.v1beta1.ResourceId
1, // 2: cs3.sharing.link.v1beta1.PublicShare.permissions:type_name -> cs3.sharing.link.v1beta1.PublicSharePermissions
8, // 3: cs3.sharing.link.v1beta1.PublicShare.owner:type_name -> cs3.identity.user.v1beta1.UserId
8, // 4: cs3.sharing.link.v1beta1.PublicShare.creator:type_name -> cs3.identity.user.v1beta1.UserId
9, // 5: cs3.sharing.link.v1beta1.PublicShare.ctime:type_name -> cs3.types.v1beta1.Timestamp
9, // 6: cs3.sharing.link.v1beta1.PublicShare.mtime:type_name -> cs3.types.v1beta1.Timestamp
9, // 7: cs3.sharing.link.v1beta1.PublicShare.expiration:type_name -> cs3.types.v1beta1.Timestamp
5, // 8: cs3.sharing.link.v1beta1.PublicShare.signature:type_name -> cs3.sharing.link.v1beta1.ShareSignature
10, // 9: cs3.sharing.link.v1beta1.PublicSharePermissions.permissions:type_name -> cs3.storage.provider.v1beta1.ResourcePermissions
2, // 10: cs3.sharing.link.v1beta1.PublicShareReference.id:type_name -> cs3.sharing.link.v1beta1.PublicShareId
5, // 11: cs3.sharing.link.v1beta1.PublicShareAuthentication.signature:type_name -> cs3.sharing.link.v1beta1.ShareSignature
9, // 12: cs3.sharing.link.v1beta1.ShareSignature.signature_expiration:type_name -> cs3.types.v1beta1.Timestamp
1, // 13: cs3.sharing.link.v1beta1.Grant.permissions:type_name -> cs3.sharing.link.v1beta1.PublicSharePermissions
9, // 14: cs3.sharing.link.v1beta1.Grant.expiration:type_name -> cs3.types.v1beta1.Timestamp
15, // [15:15] is the sub-list for method output_type
15, // [15:15] is the sub-list for method input_type
15, // [15:15] is the sub-list for extension type_name
15, // [15:15] is the sub-list for extension extendee
0, // [0:15] is the sub-list for field type_name
}
func init() { file_cs3_sharing_link_v1beta1_resources_proto_init() }
func file_cs3_sharing_link_v1beta1_resources_proto_init() {
if File_cs3_sharing_link_v1beta1_resources_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShare); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicSharePermissions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShareId); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShareReference); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PublicShareAuthentication); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ShareSignature); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Grant); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[3].OneofWrappers = []interface{}{
(*PublicShareReference_Id)(nil),
(*PublicShareReference_Token)(nil),
}
file_cs3_sharing_link_v1beta1_resources_proto_msgTypes[4].OneofWrappers = []interface{}{
(*PublicShareAuthentication_Password)(nil),
(*PublicShareAuthentication_Signature)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cs3_sharing_link_v1beta1_resources_proto_rawDesc,
NumEnums: 0,
NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_cs3_sharing_link_v1beta1_resources_proto_goTypes,
DependencyIndexes: file_cs3_sharing_link_v1beta1_resources_proto_depIdxs,
MessageInfos: file_cs3_sharing_link_v1beta1_resources_proto_msgTypes,
}.Build()
File_cs3_sharing_link_v1beta1_resources_proto = out.File
file_cs3_sharing_link_v1beta1_resources_proto_rawDesc = nil
file_cs3_sharing_link_v1beta1_resources_proto_goTypes = nil
file_cs3_sharing_link_v1beta1_resources_proto_depIdxs = nil
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,475 @@
// Copyright 2018-2026 CERN
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// In applying this license, CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc (unknown)
// source: cs3/sharing/ocm/v1beta1/ocm_api.proto
package ocmv1beta1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
OcmAPI_CreateOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/CreateOCMShare"
OcmAPI_RemoveOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/RemoveOCMShare"
OcmAPI_GetOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/GetOCMShare"
OcmAPI_GetOCMShareByToken_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/GetOCMShareByToken"
OcmAPI_ListOCMShares_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/ListOCMShares"
OcmAPI_UpdateOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/UpdateOCMShare"
OcmAPI_ListReceivedOCMShares_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/ListReceivedOCMShares"
OcmAPI_UpdateReceivedOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/UpdateReceivedOCMShare"
OcmAPI_GetReceivedOCMShare_FullMethodName = "/cs3.sharing.ocm.v1beta1.OcmAPI/GetReceivedOCMShare"
)
// OcmAPIClient is the client API for OcmAPI service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type OcmAPIClient interface {
// Creates a new OCM share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 3-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING, and MUST be sent
// to the remote system using the `/ocm/shares` OCM API, see:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post
CreateOCMShare(ctx context.Context, in *CreateOCMShareRequest, opts ...grpc.CallOption) (*CreateOCMShareResponse, error)
// Removes an OCM share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
// This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
RemoveOCMShare(ctx context.Context, in *RemoveOCMShareRequest, opts ...grpc.CallOption) (*RemoveOCMShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetOCMShare(ctx context.Context, in *GetOCMShareRequest, opts ...grpc.CallOption) (*GetOCMShareResponse, error)
// Gets share information for a single share by its unlisted token.
// MUST return CODE_NOT_FOUND if the share does not exist.
GetOCMShareByToken(ctx context.Context, in *GetOCMShareByTokenRequest, opts ...grpc.CallOption) (*GetOCMShareByTokenResponse, error)
// List the shares the currently authenticated user has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListOCMShares(ctx context.Context, in *ListOCMSharesRequest, opts ...grpc.CallOption) (*ListOCMSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
// This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
UpdateOCMShare(ctx context.Context, in *UpdateOCMShareRequest, opts ...grpc.CallOption) (*UpdateOCMShareResponse, error)
// List all shares the currently authenticated user has received.
ListReceivedOCMShares(ctx context.Context, in *ListReceivedOCMSharesRequest, opts ...grpc.CallOption) (*ListReceivedOCMSharesResponse, error)
// Update the received share to change the share state or the display name.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateReceivedOCMShare(ctx context.Context, in *UpdateReceivedOCMShareRequest, opts ...grpc.CallOption) (*UpdateReceivedOCMShareResponse, error)
// Get the information for the given received share reference.
// MUST return CODE_NOT_FOUND if the received share reference does not exist.
GetReceivedOCMShare(ctx context.Context, in *GetReceivedOCMShareRequest, opts ...grpc.CallOption) (*GetReceivedOCMShareResponse, error)
}
type ocmAPIClient struct {
cc grpc.ClientConnInterface
}
func NewOcmAPIClient(cc grpc.ClientConnInterface) OcmAPIClient {
return &ocmAPIClient{cc}
}
func (c *ocmAPIClient) CreateOCMShare(ctx context.Context, in *CreateOCMShareRequest, opts ...grpc.CallOption) (*CreateOCMShareResponse, error) {
out := new(CreateOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_CreateOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) RemoveOCMShare(ctx context.Context, in *RemoveOCMShareRequest, opts ...grpc.CallOption) (*RemoveOCMShareResponse, error) {
out := new(RemoveOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_RemoveOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) GetOCMShare(ctx context.Context, in *GetOCMShareRequest, opts ...grpc.CallOption) (*GetOCMShareResponse, error) {
out := new(GetOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_GetOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) GetOCMShareByToken(ctx context.Context, in *GetOCMShareByTokenRequest, opts ...grpc.CallOption) (*GetOCMShareByTokenResponse, error) {
out := new(GetOCMShareByTokenResponse)
err := c.cc.Invoke(ctx, OcmAPI_GetOCMShareByToken_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) ListOCMShares(ctx context.Context, in *ListOCMSharesRequest, opts ...grpc.CallOption) (*ListOCMSharesResponse, error) {
out := new(ListOCMSharesResponse)
err := c.cc.Invoke(ctx, OcmAPI_ListOCMShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) UpdateOCMShare(ctx context.Context, in *UpdateOCMShareRequest, opts ...grpc.CallOption) (*UpdateOCMShareResponse, error) {
out := new(UpdateOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_UpdateOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) ListReceivedOCMShares(ctx context.Context, in *ListReceivedOCMSharesRequest, opts ...grpc.CallOption) (*ListReceivedOCMSharesResponse, error) {
out := new(ListReceivedOCMSharesResponse)
err := c.cc.Invoke(ctx, OcmAPI_ListReceivedOCMShares_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) UpdateReceivedOCMShare(ctx context.Context, in *UpdateReceivedOCMShareRequest, opts ...grpc.CallOption) (*UpdateReceivedOCMShareResponse, error) {
out := new(UpdateReceivedOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_UpdateReceivedOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *ocmAPIClient) GetReceivedOCMShare(ctx context.Context, in *GetReceivedOCMShareRequest, opts ...grpc.CallOption) (*GetReceivedOCMShareResponse, error) {
out := new(GetReceivedOCMShareResponse)
err := c.cc.Invoke(ctx, OcmAPI_GetReceivedOCMShare_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// OcmAPIServer is the server API for OcmAPI service.
// All implementations should embed UnimplementedOcmAPIServer
// for forward compatibility
type OcmAPIServer interface {
// Creates a new OCM share.
// MUST return CODE_NOT_FOUND if the resource reference does not exist.
// MUST return CODE_ALREADY_EXISTS if the share already exists for the 3-tuple consisting of
// (owner, shared_resource, grantee).
// New shares MUST be created in the state SHARE_STATE_PENDING, and MUST be sent
// to the remote system using the `/ocm/shares` OCM API, see:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1shares/post
CreateOCMShare(context.Context, *CreateOCMShareRequest) (*CreateOCMShareResponse, error)
// Removes an OCM share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
// This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
RemoveOCMShare(context.Context, *RemoveOCMShareRequest) (*RemoveOCMShareResponse, error)
// Gets share information for a single share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
GetOCMShare(context.Context, *GetOCMShareRequest) (*GetOCMShareResponse, error)
// Gets share information for a single share by its unlisted token.
// MUST return CODE_NOT_FOUND if the share does not exist.
GetOCMShareByToken(context.Context, *GetOCMShareByTokenRequest) (*GetOCMShareByTokenResponse, error)
// List the shares the currently authenticated user has created,
// both as owner and creator. If a filter is specified, only
// shares satisfying the filter MUST be returned.
ListOCMShares(context.Context, *ListOCMSharesRequest) (*ListOCMSharesResponse, error)
// Updates a share.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
// This action MUST be notified to the remote system using the `/ocm/notifications` OCM API at:
// https://cs3org.github.io/OCM-API/docs.html?branch=v1.2.0&repo=OCM-API&user=cs3org#/paths/~1notifications/post
UpdateOCMShare(context.Context, *UpdateOCMShareRequest) (*UpdateOCMShareResponse, error)
// List all shares the currently authenticated user has received.
ListReceivedOCMShares(context.Context, *ListReceivedOCMSharesRequest) (*ListReceivedOCMSharesResponse, error)
// Update the received share to change the share state or the display name.
// MUST return CODE_NOT_FOUND if the share reference does not exist.
UpdateReceivedOCMShare(context.Context, *UpdateReceivedOCMShareRequest) (*UpdateReceivedOCMShareResponse, error)
// Get the information for the given received share reference.
// MUST return CODE_NOT_FOUND if the received share reference does not exist.
GetReceivedOCMShare(context.Context, *GetReceivedOCMShareRequest) (*GetReceivedOCMShareResponse, error)
}
// UnimplementedOcmAPIServer should be embedded to have forward compatible implementations.
type UnimplementedOcmAPIServer struct {
}
func (UnimplementedOcmAPIServer) CreateOCMShare(context.Context, *CreateOCMShareRequest) (*CreateOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) RemoveOCMShare(context.Context, *RemoveOCMShareRequest) (*RemoveOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemoveOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) GetOCMShare(context.Context, *GetOCMShareRequest) (*GetOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) GetOCMShareByToken(context.Context, *GetOCMShareByTokenRequest) (*GetOCMShareByTokenResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetOCMShareByToken not implemented")
}
func (UnimplementedOcmAPIServer) ListOCMShares(context.Context, *ListOCMSharesRequest) (*ListOCMSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListOCMShares not implemented")
}
func (UnimplementedOcmAPIServer) UpdateOCMShare(context.Context, *UpdateOCMShareRequest) (*UpdateOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) ListReceivedOCMShares(context.Context, *ListReceivedOCMSharesRequest) (*ListReceivedOCMSharesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListReceivedOCMShares not implemented")
}
func (UnimplementedOcmAPIServer) UpdateReceivedOCMShare(context.Context, *UpdateReceivedOCMShareRequest) (*UpdateReceivedOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateReceivedOCMShare not implemented")
}
func (UnimplementedOcmAPIServer) GetReceivedOCMShare(context.Context, *GetReceivedOCMShareRequest) (*GetReceivedOCMShareResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetReceivedOCMShare not implemented")
}
// UnsafeOcmAPIServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to OcmAPIServer will
// result in compilation errors.
type UnsafeOcmAPIServer interface {
mustEmbedUnimplementedOcmAPIServer()
}
func RegisterOcmAPIServer(s grpc.ServiceRegistrar, srv OcmAPIServer) {
s.RegisterService(&OcmAPI_ServiceDesc, srv)
}
func _OcmAPI_CreateOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).CreateOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_CreateOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).CreateOCMShare(ctx, req.(*CreateOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_RemoveOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RemoveOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).RemoveOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_RemoveOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).RemoveOCMShare(ctx, req.(*RemoveOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_GetOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).GetOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_GetOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).GetOCMShare(ctx, req.(*GetOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_GetOCMShareByToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetOCMShareByTokenRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).GetOCMShareByToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_GetOCMShareByToken_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).GetOCMShareByToken(ctx, req.(*GetOCMShareByTokenRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_ListOCMShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListOCMSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).ListOCMShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_ListOCMShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).ListOCMShares(ctx, req.(*ListOCMSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_UpdateOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).UpdateOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_UpdateOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).UpdateOCMShare(ctx, req.(*UpdateOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_ListReceivedOCMShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListReceivedOCMSharesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).ListReceivedOCMShares(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_ListReceivedOCMShares_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).ListReceivedOCMShares(ctx, req.(*ListReceivedOCMSharesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_UpdateReceivedOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateReceivedOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).UpdateReceivedOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_UpdateReceivedOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).UpdateReceivedOCMShare(ctx, req.(*UpdateReceivedOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
func _OcmAPI_GetReceivedOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetReceivedOCMShareRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OcmAPIServer).GetReceivedOCMShare(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: OcmAPI_GetReceivedOCMShare_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OcmAPIServer).GetReceivedOCMShare(ctx, req.(*GetReceivedOCMShareRequest))
}
return interceptor(ctx, in, info, handler)
}
// OcmAPI_ServiceDesc is the grpc.ServiceDesc for OcmAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var OcmAPI_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cs3.sharing.ocm.v1beta1.OcmAPI",
HandlerType: (*OcmAPIServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateOCMShare",
Handler: _OcmAPI_CreateOCMShare_Handler,
},
{
MethodName: "RemoveOCMShare",
Handler: _OcmAPI_RemoveOCMShare_Handler,
},
{
MethodName: "GetOCMShare",
Handler: _OcmAPI_GetOCMShare_Handler,
},
{
MethodName: "GetOCMShareByToken",
Handler: _OcmAPI_GetOCMShareByToken_Handler,
},
{
MethodName: "ListOCMShares",
Handler: _OcmAPI_ListOCMShares_Handler,
},
{
MethodName: "UpdateOCMShare",
Handler: _OcmAPI_UpdateOCMShare_Handler,
},
{
MethodName: "ListReceivedOCMShares",
Handler: _OcmAPI_ListReceivedOCMShares_Handler,
},
{
MethodName: "UpdateReceivedOCMShare",
Handler: _OcmAPI_UpdateReceivedOCMShare_Handler,
},
{
MethodName: "GetReceivedOCMShare",
Handler: _OcmAPI_GetReceivedOCMShare_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cs3/sharing/ocm/v1beta1/ocm_api.proto",
}
File diff suppressed because it is too large Load Diff