File tree Expand file tree Collapse file tree
acapy_agent/multitenant/admin Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -677,6 +677,23 @@ async def wallet_remove(request: web.BaseRequest):
677677 return web .json_response ({})
678678
679679
680+ @docs (
681+ tags = ["multitenancy" ],
682+ summary = "Remove a subwallet" ,
683+ deprecated = True ,
684+ )
685+ @match_info_schema (WalletIdMatchInfoSchema ())
686+ @request_schema (RemoveWalletRequestSchema )
687+ @response_schema (MultitenantModuleResponseSchema (), 200 , description = "" )
688+ @admin_authentication
689+ async def wallet_remove_deprecated (request : web .BaseRequest ):
690+ """Deprecated alias for wallet_remove.
691+
692+ Use ``DELETE /multitenancy/wallet/{wallet_id}`` instead.
693+ """
694+ return await wallet_remove (request )
695+
696+
680697# MTODO: add wallet import route
681698# MTODO: add wallet export route
682699# MTODO: add rotate wallet key route
@@ -692,6 +709,7 @@ async def register(app: web.Application):
692709 web .put ("/multitenancy/wallet/{wallet_id}" , wallet_update ),
693710 web .post ("/multitenancy/wallet/{wallet_id}/token" , wallet_create_token ),
694711 web .delete ("/multitenancy/wallet/{wallet_id}" , wallet_remove ),
712+ web .post ("/multitenancy/wallet/{wallet_id}/remove" , wallet_remove_deprecated ),
695713 ]
696714 )
697715
Original file line number Diff line number Diff line change @@ -833,6 +833,27 @@ async def test_wallet_remove_managed(self):
833833 mock_response .assert_called_once_with ({})
834834 assert result == mock_response .return_value
835835
836+ async def test_wallet_remove_deprecated_delegates (self ):
837+ self .request .has_body = False
838+ self .request .match_info = {"wallet_id" : "dummy" }
839+ mock_multitenant_mgr = mock .AsyncMock (BaseMultitenantManager , autospec = True )
840+ mock_multitenant_mgr .remove_wallet = mock .CoroutineMock ()
841+ self .profile .context .injector .bind_instance (
842+ BaseMultitenantManager , mock_multitenant_mgr
843+ )
844+
845+ with (
846+ mock .patch .object (test_module .web , "json_response" ) as mock_response ,
847+ mock .patch .object (
848+ test_module .WalletRecord , "retrieve_by_id" , mock .CoroutineMock ()
849+ ),
850+ ):
851+ result = await test_module .wallet_remove_deprecated (self .request )
852+
853+ mock_multitenant_mgr .remove_wallet .assert_called_once_with ("dummy" , None )
854+ mock_response .assert_called_once_with ({})
855+ assert result == mock_response .return_value
856+
836857 async def test_wallet_remove_unmanaged (self ):
837858 self .request .match_info = {"wallet_id" : "dummy" }
838859 self .request .json = mock .CoroutineMock (return_value = {"wallet_key" : "dummy_key" })
Original file line number Diff line number Diff line change @@ -379,6 +379,10 @@ curl -X DELETE "${ACAPY_ADMIN_URL}/multitenancy/wallet/{wallet_id}" \
379379{}
380380` ` `
381381
382+ > The `POST /multitenancy/wallet/{wallet_id}/remove` endpoint is deprecated and
383+ > will be removed in a future release. Use `DELETE /multitenancy/wallet/{wallet_id}`
384+ > instead.
385+
382386# ## Per tenant settings
383387
384388To allow the configuring of ACA-Py startup parameters/environment variables at a tenant/subwallet level. [PR#2233](https://github.com/openwallet-foundation/acapy/pull/2233) will provide the ability to update the following subset of settings when creating or updating the subwallet:
Original file line number Diff line number Diff line change 39703970 "x-codegen-request-body-name" : " body"
39713971 }
39723972 },
3973+ "/multitenancy/wallet/{wallet_id}/remove" : {
3974+ "post" : {
3975+ "deprecated" : true ,
3976+ "parameters" : [ {
3977+ "description" : " Subwallet identifier" ,
3978+ "in" : " path" ,
3979+ "name" : " wallet_id" ,
3980+ "required" : true ,
3981+ "schema" : {
3982+ "type" : " string"
3983+ }
3984+ } ],
3985+ "requestBody" : {
3986+ "content" : {
3987+ "*/*" : {
3988+ "schema" : {
3989+ "$ref" : " #/components/schemas/RemoveWalletRequest"
3990+ }
3991+ }
3992+ },
3993+ "required" : false
3994+ },
3995+ "responses" : {
3996+ "200" : {
3997+ "content" : {
3998+ "application/json" : {
3999+ "schema" : {
4000+ "$ref" : " #/components/schemas/MultitenantModuleResponse"
4001+ }
4002+ }
4003+ },
4004+ "description" : " "
4005+ }
4006+ },
4007+ "summary" : " Remove a subwallet" ,
4008+ "tags" : [ " multitenancy" ],
4009+ "x-codegen-request-body-name" : " body"
4010+ }
4011+ },
39734012 "/multitenancy/wallet/{wallet_id}/token" : {
39744013 "post" : {
39754014 "parameters" : [ {
Original file line number Diff line number Diff line change 32733273 }
32743274 }
32753275 },
3276+ "/multitenancy/wallet/{wallet_id}/remove" : {
3277+ "post" : {
3278+ "tags" : [ " multitenancy" ],
3279+ "summary" : " Remove a subwallet" ,
3280+ "deprecated" : true ,
3281+ "produces" : [ " application/json" ],
3282+ "parameters" : [ {
3283+ "in" : " body" ,
3284+ "name" : " body" ,
3285+ "required" : false ,
3286+ "schema" : {
3287+ "$ref" : " #/definitions/RemoveWalletRequest"
3288+ }
3289+ }, {
3290+ "name" : " wallet_id" ,
3291+ "in" : " path" ,
3292+ "description" : " Subwallet identifier" ,
3293+ "required" : true ,
3294+ "type" : " string"
3295+ } ],
3296+ "responses" : {
3297+ "200" : {
3298+ "description" : " " ,
3299+ "schema" : {
3300+ "$ref" : " #/definitions/MultitenantModuleResponse"
3301+ }
3302+ }
3303+ }
3304+ }
3305+ },
32763306 "/multitenancy/wallet/{wallet_id}/token" : {
32773307 "post" : {
32783308 "tags" : [ " multitenancy" ],
You can’t perform that action at this time.
0 commit comments