Copilot
8eeab8dc57
feat: Add support for custom HTTP status code and headers to Cloud Function response with Express-style syntax ( #9980 )
2025-12-14 15:24:51 +01:00
Lucas
fa8723b3d1
feat: Update route patterns to use path-to-regexp v8 syntax ( #9942 )
...
BREAKING CHANGE: Route pattern syntax across cloud routes and rate-limiting now use the new path-to-regexp v8 syntax; see the [migration guide](https://github.com/parse-community/parse-server/blob/alpha/9.0.0.md ) for more details.
2025-12-12 19:36:27 +01:00
Lucas Coratger
94cee5bfaf
feat: Add beforePasswordResetRequest hook ( #9906 )
2025-11-19 14:57:28 +01:00
Antoine Cormouls
64f104e5c5
feat: Add request context middleware for config and dependency injection in hooks ( #8480 )
2025-10-14 20:16:31 +02:00
Diamond Lewis
90a1e4a200
feat: Add Cloud Code triggers Parse.Cloud.beforeSave and Parse.Cloud.afterSave for Parse Config ( #9232 )
2024-07-20 20:35:41 +02:00
Onur
4e6a375b51
feat: Deprecation DEPPS7: Remove deprecated Cloud Code file trigger syntax ( #8855 )
...
BREAKING CHANGE: Cloud Code file trigger syntax has been aligned with object trigger syntax, for example `Parse.Cloud.beforeDeleteFile'` has been changed to `Parse.Cloud.beforeDelete(Parse.File, (request) => {})'`
2024-02-14 22:54:30 +01:00
Daniel
4c1093e2e4
refactor: Upgrade path-to-regexp from 0.1.7 to 6.2.1 ( #8558 )
2023-05-22 16:39:32 +02:00
Daniel
65e5879e42
ci: Fix flaky tests ( #8468 )
2023-03-10 23:54:05 +01:00
Daniel
6c79f6a69e
feat: Add request rate limiter based on IP address ( #8174 )
2023-01-06 13:39:02 +01:00
Manuel
892040dc2f
fix: The client IP address may be determined incorrectly in some cases; this fixes a security vulnerability in which the Parse Server option masterKeyIps may be circumvented, see [GHSA-vm5r-c87r-pf6x]( https://github.com/parse-community/parse-server/security/advisories/GHSA-vm5r-c87r-pf6x ) ( #8372 )
...
BREAKING CHANGE: The mechanism to determine the client IP address has been rewritten; to correctly determine the IP address it is now required to set the Parse Server option `trustProxy` accordingly if Parse Server runs behind a proxy server, see the express framework's [trust proxy](https://expressjs.com/en/guide/behind-proxies.html ) setting (#8372 )
2023-01-05 14:26:54 +01:00
dblythy
2d79c0835b
feat: Remove deprecation DEPPS4: Remove convenience method for http request Parse.Cloud.httpRequest ( #8287 )
...
BREAKING CHANGE: The convenience method for HTTP requests `Parse.Cloud.httpRequest` is removed; use your preferred 3rd party library for making HTTP requests
2022-11-10 18:28:49 +01:00
dblythy
5bbf9cade9
feat: Improve authentication adapter interface to support multi-factor authentication (MFA), authentication challenges, and provide a more powerful interface for writing custom authentication adapters ( #8156 )
2022-11-10 17:35:39 +01:00
dblythy
c6dcad8d16
feat: align file trigger syntax with class trigger; use the new syntax Parse.Cloud.beforeSave(Parse.File, (request) => {}), the old syntax Parse.Cloud.beforeSaveFile((request) => {}) has been deprecated ( #7966 )
2022-05-29 20:48:55 +02:00
dblythy
ab1dddd406
fix: add deprecation warning for Parse.Cloud.httpRequest ( #7595 )
2021-10-09 05:04:12 +02:00
dblythy
caee281bc5
fix: allow LiveQuery on Parse.Session ( #7554 )
2021-10-08 17:24:33 +02:00
dblythy
3833868709
New: Validate Cloud Validators ( #7154 )
...
* new: validate cloud validators
* add otherKey
* Update CHANGELOG.md
* Update CloudCode.Validator.spec.js
* Update CloudCode.Validator.spec.js
* new: validate cloud validators
* add otherKey
* Update CHANGELOG.md
* Update CloudCode.Validator.spec.js
* Update CloudCode.Validator.spec.js
* Update Parse.Cloud.js
* Update CHANGELOG.md
* Change to throw error
Co-authored-by: Antonio Davi Macedo Coelho de Castro <adavimacedo@gmail.com >
2021-03-02 00:52:21 +01:00
dblythy
3d76643286
New: requireAnyUserRoles and requireAllUserRoles for Parse Cloud Validator ( #7097 )
...
* new: requireUserRole for Parse Cloud Validator
* change to requireUserRoles
* Update CHANGELOG.md
* revoke triggers
* Update triggers.js
* Update ParseLiveQueryServer.js
* Update ParseLiveQueryServer.js
* create requireUserRoles
* rename to requireAny and requireAll
* allow for a function
2021-02-12 14:01:38 -08:00
dblythy
d47891f7e3
Send email via Parse.Cloud.sendEmail ( #7096 )
...
* initial
* more tests
* Update CHANGELOG.md
* review
* log on error
* change logger to error
* rename
* Update Parse.Cloud.js
2020-12-30 10:23:44 -06:00
dblythy
6fc3afce71
skipWithMasterKey on Built-In Validator ( #6972 )
...
* Initial Commit
* Change to resolveMasterKey
* Change to skipWithMasterKey
2020-10-26 12:49:30 -07:00
Diamond Lewis
e6ac3b6932
fix(prettier): Properly handle lint-stage files ( #6970 )
...
Now handles top level files and recursive files in folders.
Set max line length to be 100
2020-10-25 15:06:58 -05:00
dblythy
c2f2281e6d
Validation Handler Update ( #6968 )
...
* Initial Commit
* Update FunctionsRouter.js
* Update FunctionsRouter.js
* Change params to fields
* Changes requested
* Fix failing tests
* More tests
* More tests
* Remove existing functionality
* Remove legacy tests
* fix array typo
* Update triggers.js
* Docs
* Allow requireUserKeys to be object
* validateMasterKey
* Improve documentation
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
2020-10-25 12:36:54 -05:00
dblythy
ef2e54c39d
LiveQueryEvent Error Logging Improvements ( #6951 )
...
* LiveQueryEvent Improvements
* Update ParseLiveQueryServer.js
* Update ParseLiveQueryServer.js
* More Tests
* Update ParseLiveQueryServer.js
* Pass thrown errors to subscription
* Update ParseLiveQueryServer.js
* Update ParseLiveQueryServer.js
* Remove ACL error
2020-10-21 16:50:21 -05:00
dblythy
bf39cd68ef
Create Cloud function afterLiveQueryEvent ( #6859 )
...
* Before Connect + Before Subscribe #1
* Cleanup and Documentation
* Add E2E tests
* Bump parse to 2.15.0
* Create afterLiveQueryEvent
* Revert "Create afterLiveQueryEvent"
This reverts commit 828c678a6995216b843a75f5b3c864aec063ba43.
* afterLiveQueryEvent
* Add delete event
* Fix failing tests
* Fix lint
* Update ParseLiveQueryServer.js
* Remove Facebook AccountKit auth (#6870 )
* Remove Facebook AccountKit auth
Account Kit services are no longer available.
https://developers.facebook.com/blog/post/2019/09/09/account-kit-services-no-longer-available-starting-march/
https://www.sinch.com/blog/facebook-account-kit-is-closing-down-are-your-apps-covered/
* remove flaky test
* fix: upgrade uuid from 8.2.0 to 8.3.0 (#6865 )
Snyk has created this PR to upgrade uuid from 8.2.0 to 8.3.0.
See this package in npm:
https://www.npmjs.com/package/uuid
See this project in Snyk:
https://app.snyk.io/org/acinader/project/8c1a9edb-c8f5-4dc1-b221-4d6030a323eb?utm_source=github&utm_medium=upgrade-pr
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
* fix: package.json & package-lock.json to reduce vulnerabilities (#6864 )
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-LODASH-590103
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
* fix: upgrade ldapjs from 2.0.0 to 2.1.0 (#6857 )
Snyk has created this PR to upgrade ldapjs from 2.0.0 to 2.1.0.
See this package in npm:
https://www.npmjs.com/package/ldapjs
See this project in Snyk:
https://app.snyk.io/org/acinader/project/8c1a9edb-c8f5-4dc1-b221-4d6030a323eb?utm_source=github&utm_medium=upgrade-pr
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
* fix: upgrade apollo-server-express from 2.15.1 to 2.16.0 (#6851 )
Snyk has created this PR to upgrade apollo-server-express from 2.15.1 to 2.16.0.
See this package in npm:
https://www.npmjs.com/package/apollo-server-express
See this project in Snyk:
https://app.snyk.io/org/acinader/project/8c1a9edb-c8f5-4dc1-b221-4d6030a323eb?utm_source=github&utm_medium=upgrade-pr
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
* fix: upgrade @graphql-tools/stitch from 6.0.12 to 6.0.13 (#6845 )
Snyk has created this PR to upgrade @graphql-tools/stitch from 6.0.12 to 6.0.13.
See this package in npm:
https://www.npmjs.com/package/@graphql-tools/stitch
See this project in Snyk:
https://app.snyk.io/org/acinader/project/8c1a9edb-c8f5-4dc1-b221-4d6030a323eb?utm_source=github&utm_medium=upgrade-pr
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
* fix: upgrade @graphql-tools/utils from 6.0.12 to 6.0.13 (#6846 )
Snyk has created this PR to upgrade @graphql-tools/utils from 6.0.12 to 6.0.13.
See this package in npm:
https://www.npmjs.com/package/@graphql-tools/utils
See this project in Snyk:
https://app.snyk.io/org/acinader/project/8c1a9edb-c8f5-4dc1-b221-4d6030a323eb?utm_source=github&utm_medium=upgrade-pr
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
* [Snyk] Upgrade winston from 3.2.1 to 3.3.2 (#6799 )
* fix: upgrade winston from 3.2.1 to 3.3.2
Snyk has created this PR to upgrade winston from 3.2.1 to 3.3.2.
See this package in NPM:
https://www.npmjs.com/package/winston
See this project in Snyk:
https://app.snyk.io/org/acinader/project/8c1a9edb-c8f5-4dc1-b221-4d6030a323eb?utm_source=github&utm_medium=upgrade-pr
* fix tests
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
* afterLiveQueryEvent
* Add delete event
* Fix failing tests
* Before Connect + Before Subscribe #1
* Cleanup and Documentation
* Create afterLiveQueryEvent
* Revert "Create afterLiveQueryEvent"
This reverts commit 828c678a6995216b843a75f5b3c864aec063ba43.
* Update ParseLiveQueryServer.js
* Rebase
* Remove return value / deduplicate tests
* Add docs
* Add additional data to trigger
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
Co-authored-by: Snyk bot <snyk-bot@snyk.io >
2020-10-19 10:38:55 -05:00
dblythy
44015c3e35
Before Connect + Before Subscribe help required ( #6793 )
...
* Before Connect + Before Subscribe #1
* Cleanup and Documentation
* Add E2E tests
* Bump parse to 2.15.0
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
2020-07-16 20:36:38 -05:00
Diamond Lewis
e6a6354b29
Run Prettier JS ( #6795 )
2020-07-13 13:06:52 -05:00
stevestencil
a9dba442b1
Add file triggers and file meta data ( #6344 )
...
* added hint to aggregate
* added support for hint in query
* added else clause to aggregate
* fixed tests
* updated tests
* Add tests and clean up
* added beforeSaveFile and afterSaveFile triggers
* Add support for explain
* added some validation
* added support for metadata and tags
* tests?
* trying tests
* added tests
* fixed failing tests
* added some docs for fileObject
* updated hooks to use Parse.File
* added test for already saved file being returned in hook
* added beforeDeleteFile and afterDeleteFile hooks
* removed contentLength because it's already in the header
* added fileSize param to FileTriggerRequest
* added support for client side metadata and tags
* removed fit test
* removed unused import
* added loging to file triggers
* updated error message
* updated error message
* fixed tests
* fixed typos
* Update package.json
* fixed failing test
* fixed error message
* fixed failing tests (hopefully)
* TESTS!!!
* Update FilesAdapter.js
fixed comment
* added test for changing file name
* updated comments
Co-authored-by: Diamond Lewis <findlewis@gmail.com >
2020-04-02 16:00:15 -05:00
David Corona
09a1dca5e3
Add new afterLogin cloud code hook ( #6387 )
...
* add new afterLogin cloud code hook
* include user on req.user for afterLogin hook
2020-02-11 17:38:14 -06:00
Manuel Trezza
5ed0885440
added afterLogout trigger ( #6217 )
...
* added afterLogout trigger
* added verification of session object in tests
* removed obsolete code
* removed unsued code
* improved tests to verify user ID
2019-11-15 21:52:57 -06:00
Diamond Lewis
cf6e79ee75
Fix: Lint no-prototype-builtins ( #5920 )
...
* Fix: Lint no-prototype-builtins
Closes: https://github.com/parse-community/parse-server/issues/5842
Reference: https://eslint.org/docs/rules/no-prototype-builtins
* replace Object.hasOwnProperty.call
2019-08-14 14:57:00 -07:00
Omair Vaiyani
a1e1cef6d2
Add beforeLogin trigger with support for auth providers ( #5445 )
...
* Add beforeLogin trigger with support for auth providers
* adjust comment that boxed off beforeLogin to a negative use-case only
* add internal error to help future maintainers regarding use of beforeLogin
* let beforeLogin accept className or constructor like other hook types
* add assertions for beforeLogin trigger className validation
2019-04-23 08:24:20 -07:00
Florent Vilmart
d83a0b6808
Use Prettier JS ( #5017 )
...
* Adds prettier
* Run lint before tests
2018-09-01 13:58:06 -04:00
Florent Vilmart
942b9b5b1a
Adds documentations for adapters and main constructors ( #4951 )
...
* wip
* Adds documentations for adapters, and constructors
* nits
* nit
2018-08-15 10:47:21 -04:00
Florent Vilmart
0571675fcd
version 3.0.0 API Docs ( #4943 )
...
* Adds documentation and docs generation upon merge
* nits
2018-08-15 10:47:21 -04:00
Benjamin Wilson Friedman
9145c88562
Corrected outdated links ( #4254 )
2017-10-12 22:40:47 -04:00
Florent Vilmart
a5ce9fc175
Refactor pushStatusHandler to use Parse instead of direct access ( #4173 )
...
* Refactors pushStatusHandler to use HTTP interface so we can bind CloudCode hooks
* Handle correctly nested dot atomic operations
* Better handling of restricted class names, add support for afterSave _PushStatus
* Adds simple testing for afterSave(PushStatus)
* Reverts jobStatusHandler
* Addresses fixes
* adds delays to all methods
2017-09-18 15:01:07 -04:00
Florent Vilmart
d0184f438d
Live Query basic monitoring ( #4168 )
...
* Adds uuid based client identification to prevent overflows
* no-super
* Adds cloud code monitoring
* fixes test
* nit
2017-09-15 17:20:51 -04:00
Florent Vilmart
025e7a3218
Adds depreciation notes for Parse.Cloud.useMasterKey(), ( #3204 )
...
Adds depreciation notes for Parse.Cloud.useMasterKey()
2016-12-07 18:35:22 -05:00
jb
19271fa1ef
Adding support for AfterFind ( #2968 )
2016-11-12 12:35:34 -05:00
Florent Vilmart
263ca5e052
Adds CloudCode handler for beforeFind ( #2715 )
...
* Adds CloudCode handler for beforeFind
- Allows cloud code to modify a query before it is run
- Works with promises for a safer environment
- Supports modifiying the current query
- Supports issuing new queries
* Adds test for cornercase empty queries from rest
* Makes sure restOptions is always definied
2016-09-17 13:52:35 -07:00
Florent Vilmart
10ace495d8
Adds jobs endpoint protected by masterKey ( #2560 )
...
* Adds jobs endpoint protected by masterKey
* Adds connection timeout for 15 minutes in jobs
* Refactors pushStatusHandler into StatusHandler
* Adds reporting of _JobStatus
* Only accept strings as messages
* Adds test for masterKey basic auth
* Adds CloudCodeRouter for cloud_code endpoint of job status, enable Jobs feature on dashboard
* xit racing test
2016-08-30 07:19:21 -04:00
Florent Vilmart
fc3ebd0bd0
Style improvements ( #2475 )
...
* HooksRouter is enabled by default
* Adds middleswares on PromiseRouter, fixes #2410
* Move testing line to helper
* Modernize middlewares.js
* Moves DB uniqueness initialization to DBController, modernize
* Moves testing related code to spec folder
* remove unused _removeHook function
* Adds tests, docs for Analytics and improvements
* nit
* moves back TestUtils
2016-08-07 20:02:53 -07:00
Drew
b2183680be
Refactor cloud code tests ( #1837 )
...
* Move cloud code tests
* Remove _removeHook calls that are no longer necessary
* Use Strict
2016-05-19 13:38:16 -07:00
Nikita Lutsenko
5e4cecd94e
Use constants instead of magic strings for trigger names.
2016-02-25 20:01:52 -08:00
Florent Vilmart
9ac7a52e40
Adds Hooks API
...
Adds Parse.Hooks.js in src/cloud-code/Parse.Hooks.js
Moves Cloud code related functions in src/cloud-code
2016-02-25 08:10:07 -05:00