This repository is for active development of the Azure SDK for Java. For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/java/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-java.
MIT License
2.36k
stars
2k
forks
source link
[FEATURE REQ] CosmosDB Spring Data Auditor ReactiveAuditorAware support #42115
Is your feature request related to a problem? Please describe.
Using Spring WebFlux, we store the authenticated user in the Reactive context. We would like to be able to automatically write this user to the @LastModifiedBy field in our Cosmos entities. This should be pretty straightforward since Spring Data has an Auditor concept, which this SDK enables with @EnableCosmosAuditing. However, that only looks for a bean that implements AuditorAware, which doesn't support getting information from the Reactive context but is designed for getting information out of some sort of thread-local store or the like.
Describe the solution you'd like
I'm looking for something along the lines of @EnableReactiveCosmosAuditing, which looks for a bean implementing the ReactiveAuditorAware interface instead. For example, with Spring Data for MongoDB, there is a @EnableReactiveMongoAuditing in addition to @EnableMongoAuditing.
Describe alternatives you've considered
We could work around it by adding code to each time we save that looks up the current user in the reactive context and sets our modified-by field directly. But it would be much more convenient to just use the Spring Data auditing support which is already there.
Thank you!
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report
Is your feature request related to a problem? Please describe. Using Spring WebFlux, we store the authenticated user in the Reactive context. We would like to be able to automatically write this user to the
@LastModifiedBy
field in our Cosmos entities. This should be pretty straightforward since Spring Data has an Auditor concept, which this SDK enables with@EnableCosmosAuditing
. However, that only looks for a bean that implementsAuditorAware
, which doesn't support getting information from the Reactive context but is designed for getting information out of some sort of thread-local store or the like.Describe the solution you'd like I'm looking for something along the lines of
@EnableReactiveCosmosAuditing
, which looks for a bean implementing theReactiveAuditorAware
interface instead. For example, with Spring Data for MongoDB, there is a@EnableReactiveMongoAuditing
in addition to@EnableMongoAuditing
.Describe alternatives you've considered We could work around it by adding code to each time we save that looks up the current user in the reactive context and sets our modified-by field directly. But it would be much more convenient to just use the Spring Data auditing support which is already there.
Thank you!
Information Checklist Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report