@@ -52,7 +52,7 @@ def order(self) -> int:
5252
5353 @property
5454 def icon (self ) -> str :
55- """-no description- ."""
55+ """Relative to the ExApp url with icon or empty value to use the default one icon ."""
5656 return self ._raw_data ["icon" ] if self ._raw_data ["icon" ] else ""
5757
5858 @property
@@ -119,21 +119,10 @@ def to_fs_node(self) -> FsNode:
119119 )
120120
121121
122- class UiFileActionHandlerInfo (BaseModel ):
123- """Action information Nextcloud sends to the External Application."""
124-
125- actionName : str
126- """Name of the action, useful when App registers multiple actions for one handler."""
127- actionHandler : str
128- """Callback url, which was called with this information."""
129- actionFile : UiActionFileInfo
130- """Information about the file on which the action run."""
131-
132-
133122class _UiFilesActionsAPI :
134123 """API for the drop-down menu in Nextcloud **Files app**."""
135124
136- _ep_suffix : str = "files/ actions/ menu"
125+ _ep_suffix : str = "ui/files- actions- menu"
137126
138127 def __init__ (self , session : NcSessionApp ):
139128 self ._session = session
@@ -142,25 +131,21 @@ def register(self, name: str, display_name: str, callback_url: str, **kwargs) ->
142131 """Registers the files a dropdown menu element."""
143132 require_capabilities ("app_api" , self ._session .capabilities )
144133 params = {
145- "fileActionMenuParams" : {
146- "name" : name ,
147- "display_name" : display_name ,
148- "mime" : kwargs .get ("mime" , "file" ),
149- "permissions" : kwargs .get ("permissions" , 31 ),
150- "order" : kwargs .get ("order" , 0 ),
151- "icon" : kwargs .get ("icon" , "" ),
152- "icon_class" : kwargs .get ("icon_class" , "icon-app-api" ),
153- "action_handler" : callback_url ,
154- },
134+ "name" : name ,
135+ "displayName" : display_name ,
136+ "actionHandler" : callback_url ,
137+ "icon" : kwargs .get ("icon" , "" ),
138+ "mime" : kwargs .get ("mime" , "file" ),
139+ "permissions" : kwargs .get ("permissions" , 31 ),
140+ "order" : kwargs .get ("order" , 0 ),
155141 }
156142 self ._session .ocs (method = "POST" , path = f"{ self ._session .ae_url } /{ self ._ep_suffix } " , json = params )
157143
158144 def unregister (self , name : str , not_fail = True ) -> None :
159145 """Removes files dropdown menu element."""
160146 require_capabilities ("app_api" , self ._session .capabilities )
161- params = {"fileActionMenuName" : name }
162147 try :
163- self ._session .ocs (method = "DELETE" , path = f"{ self ._session .ae_url } /{ self ._ep_suffix } " , json = params )
148+ self ._session .ocs (method = "DELETE" , path = f"{ self ._session .ae_url } /{ self ._ep_suffix } " , json = { "name" : name } )
164149 except NextcloudExceptionNotFound as e :
165150 if not not_fail :
166151 raise e from None
0 commit comments