In the state API there's an existing DeleteStateWithETag() convenience
function but there does not appear to be an equivalent
SaveStateWithETag(). This commit adds SetStateWithETag() so that
consumers of the SDK don't have to employ the more verbose
SaveBulkState() when they only need to update a singular item.
Client code updating a single item with an etag prior to this commit
looks like:
--
item := &dapr.SetStateItem{
Etag: &dapr.ETag{
Value: "deadbeef",
},
Key: "order_1",
Value: []byte(data),
}
err := client.SaveBulkState(ctx, store, item)
--
Client code after this commit can reduce to:
--
err := client.SaveStateWithEtag(ctx, store, "order_1", []byte(data), "deadbeef")
--
Signed-off-by: Mike Brown <github@torvosoft.com>
Signed-off-by: Mike Brown <github@torvosoft.com>
* add distributed lock api support
Signed-off-by: yaron2 <schneider.yaron@live.com>
* go mod tidy for pub/sub
Signed-off-by: yaron2 <schneider.yaron@live.com>
* go mod tidy for state
Signed-off-by: yaron2 <schneider.yaron@live.com>
* go mod tidy for service invocation
Signed-off-by: yaron2 <schneider.yaron@live.com>
* linter
Signed-off-by: yaron2 <schneider.yaron@live.com>
* added unlock tests
Signed-off-by: yaron2 <schneider.yaron@live.com>
* ftr: init go-sdk action
* fix: finished design of actor-api's invoke feature
* fix: add readme
* fix: lint
* fix: add manager unit test
* fix: add actor state suport
* fix: add comments
* fix: add comment
* fix the change reqeust of pr
* fix: validate example test
* fix: linter
* add actor validation
* add actor validation
* fix: update actor validation init sleep time
* fix: add init time for validate example server
* fix: change actor to the end of test in order not to let reminder bother other test
* fix: validate test
* fix: typo of factory
* fix: add init time
* fix: ut
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Long Dai <long.dai@intel.com>
* Make client init fail if server connection fails
This prevents client/server connectivity issues from resulting in silent
failure modes and ensures they're caught as early as possible
* Fix linter errors
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* Rationalize PublishEvent* APIs
Allow passing options such as Content-Type and Metadata in a flexible and future-proof way.
The method `PublishEventfromCustomContent` is now deprecated and shows a warning in the console when used.
Fixes#174, #164
* Do not wrap errors for invocations
Fix#186
* Updated variable name
* Added error check
* Oops
* Linting
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
* update GetBulkState method: add metedata, change return struct to BulkStateItem
* generate code from dapr proto files; support metadata in get response
* update for code review
* options
* service, topic test
* binding, invoke, topic tests
* split coveage on projects
* cleaned up test
* cleaned up release test
* badge to main vs master
* madditional trace ID test
* adds secret input test
* state tests and lint