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: Add file beforeFind triggers, file ACL, file cleanup, file references #8385

Draft
wants to merge 17 commits into
base: alpha
Choose a base branch
from

Conversation

dblythy
Copy link
Member

@dblythy dblythy commented Jan 11, 2023

New Pull Request Checklist

Issue Description

This PR overhauls the File functionality of Parse Server by:

Creating _FileObject class:

This class allows created files to be referenced. Allows files to be created with ACLs, allows file deletion to be controlled by ACLs (currently any user can delete a file if they have the URL)

Creating _FileSession class:

This class creates "presigned urls" for Parse Files. Creates a token that is amended to the File URL. This token is then used in the beforeFind trigger to determine authentication. Will need to work in with directAccess.

Creating _FileReference class:

This class tracks file references per objectId and class, allowing the server to determine whether a file is an orphan.

Introduces ParseServer.cleanupFiles

Developers will need to manually create _FileObject's and _FileReference's for existing deployments. _FileReferences continues to update when objects are accessed.

Closes: #1023
Closes: #8241

Approach

TODOs before merging

  • Add tests

@parse-github-assistant
Copy link

I will reformat the title to use the proper commit message syntax.

@parse-github-assistant parse-github-assistant bot changed the title feat: add file beforeFind triggers, file ACL, file cleanup, file references feat: Add file beforeFind triggers, file ACL, file cleanup, file references Jan 11, 2023
@parse-github-assistant
Copy link

parse-github-assistant bot commented Jan 11, 2023

Thanks for opening this pull request!

  • 🎉 We are excited about your hands-on contribution!

@dblythy dblythy marked this pull request as draft January 11, 2023 07:18
@dblythy
Copy link
Member Author

dblythy commented Jan 11, 2023

There is still a bit to do in this PR - just looking for general feedback about the approach @parse-community/server-review

@kishanio
Copy link

Looking forward to something like this.

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.

Restrict file download "Clean Up Files" Feature
2 participants