-
Notifications
You must be signed in to change notification settings - Fork 122
Feat implement storage cleaner node #242
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
Merged
loks0n
merged 18 commits into
appwrite:main
from
Gilbishkosma:feat-implement-storage-cleaner-node
Oct 27, 2023
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
83aa8eb
initial code
e159a64
updated the README file
b59b8f8
update Readme + added throwIfMissing function
31d353b
added comments for methods
710fc14
update getBuckets code
deb0985
err to error
017c361
use exception instead of error
786f1de
add this.getBuckets
9cbf00d
applying batching in the cleanBucket
f5ed1a5
modify the batching code
e9f046f
update cleanBucket code
3c84916
applied requested changes
a0cf8f0
update throwIfmissing
7c80522
return ISO string instead of date
28309d6
update readme
1618675
limited the query count from 100 to 25
0536ef1
added requested changes
197dc01
change return type of date in comment
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,130 @@ | ||
| # Logs | ||
| logs | ||
| *.log | ||
| npm-debug.log* | ||
| yarn-debug.log* | ||
| yarn-error.log* | ||
| lerna-debug.log* | ||
| .pnpm-debug.log* | ||
|
|
||
| # Diagnostic reports (https://nodejs.org/api/report.html) | ||
| report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||
|
|
||
| # Runtime data | ||
| pids | ||
| *.pid | ||
| *.seed | ||
| *.pid.lock | ||
|
|
||
| # Directory for instrumented libs generated by jscoverage/JSCover | ||
| lib-cov | ||
|
|
||
| # Coverage directory used by tools like istanbul | ||
| coverage | ||
| *.lcov | ||
|
|
||
| # nyc test coverage | ||
| .nyc_output | ||
|
|
||
| # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | ||
| .grunt | ||
|
|
||
| # Bower dependency directory (https://bower.io/) | ||
| bower_components | ||
|
|
||
| # node-waf configuration | ||
| .lock-wscript | ||
|
|
||
| # Compiled binary addons (https://nodejs.org/api/addons.html) | ||
| build/Release | ||
|
|
||
| # Dependency directories | ||
| node_modules/ | ||
| jspm_packages/ | ||
|
|
||
| # Snowpack dependency directory (https://snowpack.dev/) | ||
| web_modules/ | ||
|
|
||
| # TypeScript cache | ||
| *.tsbuildinfo | ||
|
|
||
| # Optional npm cache directory | ||
| .npm | ||
|
|
||
| # Optional eslint cache | ||
| .eslintcache | ||
|
|
||
| # Optional stylelint cache | ||
| .stylelintcache | ||
|
|
||
| # Microbundle cache | ||
| .rpt2_cache/ | ||
| .rts2_cache_cjs/ | ||
| .rts2_cache_es/ | ||
| .rts2_cache_umd/ | ||
|
|
||
| # Optional REPL history | ||
| .node_repl_history | ||
|
|
||
| # Output of 'npm pack' | ||
| *.tgz | ||
|
|
||
| # Yarn Integrity file | ||
| .yarn-integrity | ||
|
|
||
| # dotenv environment variable files | ||
| .env | ||
| .env.development.local | ||
| .env.test.local | ||
| .env.production.local | ||
| .env.local | ||
|
|
||
| # parcel-bundler cache (https://parceljs.org/) | ||
| .cache | ||
| .parcel-cache | ||
|
|
||
| # Next.js build output | ||
| .next | ||
| out | ||
|
|
||
| # Nuxt.js build / generate output | ||
| .nuxt | ||
| dist | ||
|
|
||
| # Gatsby files | ||
| .cache/ | ||
| # Comment in the public line in if your project uses Gatsby and not Next.js | ||
| # https://nextjs.org/blog/next-9-1#public-directory-support | ||
| # public | ||
|
|
||
| # vuepress build output | ||
| .vuepress/dist | ||
|
|
||
| # vuepress v2.x temp and cache directory | ||
| .temp | ||
| .cache | ||
|
|
||
| # Docusaurus cache and generated files | ||
| .docusaurus | ||
|
|
||
| # Serverless directories | ||
| .serverless/ | ||
|
|
||
| # FuseBox cache | ||
| .fusebox/ | ||
|
|
||
| # DynamoDB Local files | ||
| .dynamodb/ | ||
|
|
||
| # TernJS port file | ||
| .tern-port | ||
|
|
||
| # Stores VSCode versions used for testing VSCode extensions | ||
| .vscode-test | ||
|
|
||
| # yarn v2 | ||
| .yarn/cache | ||
| .yarn/unplugged | ||
| .yarn/build-state.yml | ||
| .yarn/install-state.gz | ||
| .pnp.* |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| { | ||
| "trailingComma": "es5", | ||
| "tabWidth": 2, | ||
| "semi": true, | ||
| "singleQuote": true | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| # 🧹 Node.js Storage Cleaner Function | ||
|
|
||
| Storage cleaner function to remove all files older than X number of days from the specified bucket. | ||
|
|
||
| ## 🧰 Usage | ||
|
|
||
| ### GET / | ||
|
|
||
| Remove files older than X days from the specified bucket | ||
|
|
||
| **Response** | ||
|
|
||
| Sample `200` Response: Buckets cleaned | ||
|
|
||
| ## ⚙️ Configuration | ||
|
|
||
| | Setting | Value | | ||
| | ----------------- | ------------- | | ||
| | Runtime | Node (18.0) | | ||
| | Entrypoint | `src/main.js` | | ||
| | Build Commands | `npm install` | | ||
| | Permissions | `any` | | ||
| | CRON | `0 1 * * *` | | ||
| | Timeout (Seconds) | 900 | | ||
|
|
||
| ## 🔒 Environment Variables | ||
|
|
||
| ### RETENTION_PERIOD_DAYS | ||
|
|
||
| The number of days you want to retain a file. | ||
|
|
||
| | Question | Answer | | ||
| | ------------ | ------ | | ||
| | Required | Yes | | ||
| | Sample Value | `1` | | ||
|
|
||
| ### APPWRITE_BUCKET_ID | ||
|
|
||
| The ID of the bucket from which the files are to be deleted. | ||
|
|
||
| | Question | Answer | | ||
| | ------------ | -------------- | | ||
| | Required | Yes | | ||
| | Sample Value | `652d...b4daf` | | ||
|
|
||
| ### APPWRITE_API_KEY | ||
|
|
||
| API Key to talk to Appwrite backend APIs. | ||
|
|
||
| | Question | Answer | | ||
| | ------------- | -------------------------------------------------------------------------------------------------- | | ||
| | Required | Yes | | ||
| | Sample Value | `d1efb...aec35` | | ||
| | Documentation | [Appwrite: Getting Started for Server](https://appwrite.io/docs/getting-started-for-server#apiKey) | | ||
|
|
||
| ### APPWRITE_ENDPOINT | ||
|
|
||
| The URL endpoint of the Appwrite server. If not provided, it defaults to the Appwrite Cloud server: `https://cloud.appwrite.io/v1`. | ||
|
|
||
| | Question | Answer | | ||
| | ------------ | ------------------------------ | | ||
| | Required | No | | ||
| | Sample Value | `https://cloud.appwrite.io/v1` | | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.