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

Implement Oracle's s3 bucket integration #59

Open
faisalsayed10 opened this issue Jul 13, 2023 · 2 comments
Open

Implement Oracle's s3 bucket integration #59

faisalsayed10 opened this issue Jul 13, 2023 · 2 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@faisalsayed10
Copy link
Owner

Oracle is yet another object storage platform that would be a very good integration to have in our app. The good part is that Oracle's object storage fully supports the AWS S3 API, So we don't need to reinvent the wheel again!

If you look into our codebase right now, you'll see that we support Backblaze and AWS both at the same time. Also, we have only written the code for supporting AWS S3, but it works out of the box for Backblaze! (with some minor conditional changes wherever required)
image

Example: conditions inside useS3.tsx wherever small changes are required depending on the bucket:
image

Okay, so now, your job is to integrate Oracle's object storage in a similar manner by making the useS3 hook compatible with it.

  • First, create a new file inside the pages/new/ directory which will be used to get the credentials for that provider. (refer other files to get an idea)
  • Then, make changes in the useS3 hook wherever required. Explore how we've integrated Backblaze and try to follow it.
  • Navigate to util/globals.ts and add an object for your provider to the PROVIDERS array. (Also add a logo for the provider in the public/ directory)
  • Navigate to util/types.ts and add your provider's name to the Provider enum.
  • Finally, navigate to the useBucket hook and add a case for your provider and return that hook.
  • Also make sure to edit any provider-specific functions to make them work with your provider. (look for switch cases or if/else statements that check for the type of provider).

Refer to CONTRIBUTING.md for further guidance: https://github.com/faisalsayed10/firefiles/blob/main/docs/CONTRIBUTING.md#testing

@faisalsayed10 faisalsayed10 added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers labels Jul 13, 2023
@nghiapham1026
Copy link
Contributor

We are working on this issue.

@faisalsayed10
Copy link
Owner Author

Awesome, looking forward to the PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants