From 60c64d85ce6078c9b0a66b9808943fa60b3eb819 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Fri, 4 Oct 2013 18:54:40 +0200 Subject: stubs for Api to manage users. --- pyload/api/UserApi.py | 41 +++++++++++++++++++++++++++++++++++++++++ pyload/api/__init__.py | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 pyload/api/UserApi.py (limited to 'pyload/api') diff --git a/pyload/api/UserApi.py b/pyload/api/UserApi.py new file mode 100644 index 000000000..250b9080c --- /dev/null +++ b/pyload/api/UserApi.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from pyload.Api import Api, RequirePerm, Permission + +from ApiComponent import ApiComponent + + +class UserApi(ApiComponent): + """ Api methods to retrieve user profile and manage users. """ + + @RequirePerm(Permission.All) + def getUserData(self): + """ Retrieves :class:`UserData` for the currently logged in user. """ + + @RequirePerm(Permission.All) + def setPassword(self, username, old_password, new_password): + """ Changes password for specific user. User can only change their password. + Admins can change every password! """ + + def getAllUserData(self): + """ Retrieves :class:`UserData` of all exisitng users.""" + + def addUser(self, username, password): + """ Adds an user to the db. + :param username: desired username + :param password: password for authentication + """ + + def updateUserData(self, data): + """ Change parameters of user account. """ + + def removeUser(self, uid): + """ Removes user from the db. + + :param uid: users uid + """ + + +if Api.extend(UserApi): + del UserApi \ No newline at end of file diff --git a/pyload/api/__init__.py b/pyload/api/__init__.py index bea46011d..a2b292a27 100644 --- a/pyload/api/__init__.py +++ b/pyload/api/__init__.py @@ -1,5 +1,5 @@ __all__ = ["CoreApi", "ConfigApi", "DownloadApi", "DownloadPreparingApi", "FileApi", - "UserInteractionApi", "AccountApi", "AddonApi"] + "UserInteractionApi", "AccountApi", "AddonApi", "UserApi"] # Import all components # from .import * -- cgit v1.2.3