Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(CloudFederationApi): Start implementation of 1.1.0 of OCM spec #47199

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mickenordin
Copy link
Contributor

@mickenordin mickenordin commented Aug 13, 2024

Summary

This is a VIP implementation of OCM 1.1.0

It can currently send a correct response on /ocm-provider according to spec:

https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1ocm-provider/get

It can receive accepted invitations on /invite-accepted:

https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1invite-accepted/post

TODO

  • Implement invitation work flow, so that we can send invites, that means storing a mapping token when we share that we can use to look up info about the share when we receive an /invite-accepted call
  • check that we correctly handle requests to /notifications
  • Add sender to the requestBody of a request to /shares which is now required
  • Protocol field for /shares now have a different format from before and needs to be updated
  • check that we send spec compliant notifications to /notifications
  • update apps/cloud_federation_api/openapi.json with latest spec, possibly pending merger of: Openapi 3 cs3org/OCM-API#83
  • make sure we handle access to shares correctly with bearer tokens and such: https://cs3org.github.io/OCM-API/#access

@mickenordin mickenordin marked this pull request as draft August 13, 2024 13:47
@mickenordin
Copy link
Contributor Author

mickenordin commented Aug 13, 2024

If someone wants to join the fun, I can add them to the SUNET repo on request.

Ping @ArtificialOwl and @provokateurin 😄

@provokateurin
Copy link
Member

Nice to see someone starting to implement it. Given the PR cs3org/OCM-API#89 it seems like a v1.2 implementation will be necessary too in the near future. Do you think it makes sense to tackle them both at once or at least in series? Otherwise Nextcloud will continue to lack support for the latest version :/

@provokateurin
Copy link
Member

The openapi.json is generated from our source code and should not be overwritten by the real specification (CI will fail). In this case though it's a nice tool to verify that the specs match.

@mickenordin
Copy link
Contributor Author

The openapi.json is generated from our source code and should not be overwritten by the real specification (CI will fail). In this case though it's a nice tool to verify that the specs match.

Ooops. will revert that.

@mickenordin
Copy link
Contributor Author

Nice to see someone starting to implement it. Given the PR cs3org/OCM-API#89 it seems like a v1.2 implementation will be necessary too in the near future. Do you think it makes sense to tackle them both at once or at least in series? Otherwise Nextcloud will continue to lack support for the latest version :/

I think it makes sense to do 1.1 first. It will be easier to do 1.2 in direct succession to that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement OCM v1.1
2 participants