@@ -90,7 +90,8 @@ message Share {
9090 cs3.sharing.ocm.v1beta1.RecipientType recipient_type = 15 ;
9191}
9292
93- // The permissions for a share.
93+ // The permissions for an OCM share.
94+ // Deprecated: reshare is redundant with grant permissions.
9495message SharePermissions {
9596 storage.provider.v1beta1.ResourcePermissions permissions = 1 ;
9697 bool reshare = 2 ;
@@ -168,6 +169,9 @@ message ReceivedShare {
168169 // Destination path of the share, in case the shared resource type is EMBEDDED
169170 // or the access type is DATATX.
170171 string destination = 18 ;
172+ // OPTIONAL.
173+ // Flag to hide the share, defaults to false.
174+ bool hidden = 19 ;
171175}
172176
173177// The state of the share.
@@ -238,17 +242,6 @@ message ShareReference {
238242 }
239243}
240244
241- // A share grant specifies the share permissions
242- // for a grantee.
243- message ShareGrant {
244- // REQUIRED.
245- // The grantee of the grant.
246- storage.provider.v1beta1.Grantee grantee = 1 ;
247- // REQUIRED.
248- // The share permissions for the grant.
249- SharePermissions permissions = 2 ;
250- }
251-
252245// The protocol which is used to get access to a remote OCM resource.
253246message Protocol {
254247 // REQUIRED.
@@ -267,36 +260,57 @@ message Protocol {
267260 }
268261}
269262
270- // Defines the options for the WebDAV protocol.
263+ // Defines the options for the WebDAV protocol, mapping
264+ // to the `webdav` protocol in the OCM specifications.
271265message WebDAVProtocol {
272266 // REQUIRED.
273267 // Secret used to access the resource.
274268 string shared_secret = 1 ;
269+ // Permissions of the shared resource. Deprecated: use share_permissions instead.
270+ cs3.sharing.ocm.v1beta1.SharePermissions permissions = 2 [deprecated = true ];
275271 // REQUIRED.
276- // Permissions of the shared resource.
277- cs3.sharing.ocm.v1beta1.SharePermissions permissions = 2 ;
278- // REQUIRED.
279- // Path-only URI used to access the resource.
272+ // URI used to access the resource.
280273 string uri = 3 ;
281274 // OPTIONAL.
282275 // The requirements for the share.
283276 repeated string requirements = 4 ;
284277 // OPTIONAL.
285278 // Access types for the share, e.g. remote or data transfer. Defaults to remote.
286279 repeated cs3.sharing.ocm.v1beta1.AccessType access_types = 5 ;
280+ // REQUIRED.
281+ // Permissions of the shared resource.
282+ storage.provider.v1beta1.ResourcePermissions share_permissions = 6 ;
287283}
288284
289- // Defines the options for the Webapp protocol.
285+ // Defines the options for the Webapp protocol, mapping
286+ // to the `webapp` protocol in the OCM specifications.
290287message WebappProtocol {
291288 // REQUIRED.
292- // Path-only URI to open the resource with a remote app .
293- string uri = 1 ;
289+ // Secret used to access the resource.
290+ string shared_secret = 1 ;
294291 // REQUIRED.
295- // View mode for the remote app.
296- cs3.app.provider.v1beta1.ViewMode view_mode = 2 ;
292+ // Permissions of the shared resource.
293+ storage.provider.v1beta1.ResourcePermissions share_permissions = 2 ;
294+ // REQUIRED.
295+ // URI to open the resource with the remote app.
296+ string uri = 3 ;
297+ // REQUIRED.
298+ // The requirements for the share.
299+ repeated string requirements = 4 ;
300+ // REQUIRED.
301+ // The targets that can be used to display the remote app.
302+ repeated string targets = 5 ;
297303 // OPTIONAL.
298- // Secret used to access the resource.
299- string shared_secret = 3 ;
304+ // A descriptive name of the remote app in the user interface.
305+ string app_name = 6 ;
306+ // OPTIONAL.
307+ // A hint in the form of a media (MIME) type of the icon
308+ // representing the remote app in the user interface.
309+ string app_icon_hint = 7 ;
310+ // OPTIONAL.
311+ // An array of media (MIME) types that the remote application
312+ // can handle.
313+ repeated string media_types = 8 ;
300314}
301315
302316// Defines the options for the Embedded protocol.
@@ -350,7 +364,8 @@ enum AccessType {
350364 ACCESS_TYPE_DATATX = 2 ;
351365}
352366
353- // Defines how the remote OCM recipient accesses a local resource.
367+ // Defines how a remote OCM recipient accesses a local resource when
368+ // serving a share. This is a subset of the OCM protocol specifications.
354369message AccessMethod {
355370 // REQUIRED.
356371 // One of the access method MUST be specified.
@@ -365,7 +380,8 @@ message AccessMethod {
365380 }
366381}
367382
368- // Defines the options for the WebDAV access method.
383+ // Defines the options for the WebDAV access method, representing
384+ // how a remote user accesses a local resource via the `webdav` OCM protocol.
369385message WebDAVAccessMethod {
370386 // REQUIRED.
371387 // The permissions for the share.
@@ -378,9 +394,16 @@ message WebDAVAccessMethod {
378394 repeated cs3.sharing.ocm.v1beta1.AccessType access_types = 3 ;
379395}
380396
381- // Defines the options for the Webapp access method.
397+ // Defines the options for the Webapp access method, representing
398+ // how a remote user accesses a local app via the `webapp` OCM protocol.
382399message WebappAccessMethod {
383400 // REQUIRED.
384- // The view mode for the share.
385- cs3.app.provider.v1beta1.ViewMode view_mode = 1 ;
401+ // The permissions for the share.
402+ storage.provider.v1beta1.ResourcePermissions permissions = 1 ;
403+ // REQUIRED.
404+ // The requirements for the share.
405+ repeated string requirements = 2 ;
406+ // OPTIONAL.
407+ // A descriptive name of the app in the remote user interface.
408+ string app_name = 3 ;
386409}
0 commit comments