From b1b13a5f51235c6d11aeac224812cf4e094bbafb Mon Sep 17 00:00:00 2001 From: Oleksander Piskun Date: Mon, 2 Mar 2026 13:42:57 +0200 Subject: [PATCH] feat: use new AppAPI endpoint for ExApp status report Signed-off-by: Oleksander Piskun --- CHANGELOG.md | 6 ++++++ nc_py_api/_version.py | 2 +- nc_py_api/nextcloud.py | 4 ++-- tests/actual_tests/files_sharing_test.py | 8 ++++---- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e1c910f..902171b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. +## [0.24.2 - 2026-03-02] + +### Changed + +- Use new `/ex-app/status` endpoint for `set_init_status` instead of deprecated `/apps/status/{appId}` + ## [0.24.1 - 2026-02-25] ### Fixed diff --git a/nc_py_api/_version.py b/nc_py_api/_version.py index ecb21fb5..519a1936 100644 --- a/nc_py_api/_version.py +++ b/nc_py_api/_version.py @@ -1,3 +1,3 @@ """Version of nc_py_api.""" -__version__ = "0.24.1" +__version__ = "0.24.2.dev0" diff --git a/nc_py_api/nextcloud.py b/nc_py_api/nextcloud.py index 645b8f9c..2508ed7a 100644 --- a/nc_py_api/nextcloud.py +++ b/nc_py_api/nextcloud.py @@ -432,7 +432,7 @@ def set_init_status(self, progress: int, error: str = "") -> None: """ self._session.ocs( "PUT", - f"/ocs/v1.php/apps/app_api/apps/status/{self._session.cfg.app_name}", + "/ocs/v1.php/apps/app_api/ex-app/status", json={ "progress": progress, "error": error, @@ -566,7 +566,7 @@ async def set_init_status(self, progress: int, error: str = "") -> None: """ await self._session.ocs( "PUT", - f"/ocs/v1.php/apps/app_api/apps/status/{self._session.cfg.app_name}", + "/ocs/v1.php/apps/app_api/ex-app/status", json={ "progress": progress, "error": error, diff --git a/tests/actual_tests/files_sharing_test.py b/tests/actual_tests/files_sharing_test.py index c7939636..b2fc482e 100644 --- a/tests/actual_tests/files_sharing_test.py +++ b/tests/actual_tests/files_sharing_test.py @@ -205,7 +205,7 @@ def test_create_expire_time(nc): expire_time = expire_time.replace(hour=0, minute=0, second=0, microsecond=0) new_share = nc.files.sharing.create("test_12345_text.txt", ShareType.TYPE_LINK, expire_date=expire_time) nc.files.sharing.delete(new_share) - assert new_share.expire_date == expire_time + assert new_share.expire_date.date() == expire_time.date() with pytest.raises(NextcloudException): nc.files.sharing.create( "test_12345_text.txt", ShareType.TYPE_LINK, expire_date=datetime.datetime.now() - datetime.timedelta(days=1) @@ -221,7 +221,7 @@ async def test_create_expire_time_async(anc): expire_time = expire_time.replace(hour=0, minute=0, second=0, microsecond=0) new_share = await anc.files.sharing.create("test_12345_text.txt", ShareType.TYPE_LINK, expire_date=expire_time) await anc.files.sharing.delete(new_share) - assert new_share.expire_date == expire_time + assert new_share.expire_date.date() == expire_time.date() with pytest.raises(NextcloudException): await anc.files.sharing.create( "test_12345_text.txt", ShareType.TYPE_LINK, expire_date=datetime.datetime.now() - datetime.timedelta(days=1) @@ -295,7 +295,7 @@ def test_create_update(nc): expire_time = datetime.datetime.now() + datetime.timedelta(days=1) expire_time = expire_time.replace(hour=0, minute=0, second=0, microsecond=0) update_share = nc.files.sharing.update(new_share, expire_date=expire_time) - assert update_share.expire_date == expire_time + assert update_share.expire_date.date() == expire_time.date() update_share = nc.files.sharing.update(new_share, note="note", label="label") assert update_share.note == "note" assert update_share.label == "label" @@ -328,7 +328,7 @@ async def test_create_update_async(anc): expire_time = datetime.datetime.now() + datetime.timedelta(days=1) expire_time = expire_time.replace(hour=0, minute=0, second=0, microsecond=0) update_share = await anc.files.sharing.update(new_share, expire_date=expire_time) - assert update_share.expire_date == expire_time + assert update_share.expire_date.date() == expire_time.date() update_share = await anc.files.sharing.update(new_share, note="note", label="label") assert update_share.note == "note" assert update_share.label == "label"