Package pulp :: Package server :: Package webservices :: Package controllers :: Module users
[hide private]
[frames] | no frames]

Source Code for Module pulp.server.webservices.controllers.users

  1  #!/usr/bin/env python 
  2  # -*- coding: utf-8 -*- 
  3  # 
  4  # Copyright © 2010 Red Hat, Inc. 
  5  # 
  6  # This software is licensed to you under the GNU General Public License, 
  7  # version 2 (GPLv2). There is NO WARRANTY for this software, express or 
  8  # implied, including the implied warranties of MERCHANTABILITY or FITNESS 
  9  # FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 
 10  # along with this software; if not, see 
 11  # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. 
 12  # 
 13  # Red Hat trademarks are not licensed under GPLv2. No permission is 
 14  # granted to use or replicate Red Hat trademarks that are incorporated 
 15  # in this software or its documentation. 
 16   
 17  import web 
 18   
 19  from pulp.server.api.user import UserApi 
 20  from pulp.server.api.auth import AuthApi 
 21  from pulp.server.webservices.controllers.base import JSONController 
 22  from pulp.server.webservices.role_check import RoleCheck 
 23   
 24  # users api --------------------------------------------------------------- 
 25   
 26  api = UserApi() 
 27  auth_api = AuthApi() 
28 29 # controllers ----------------------------------------------------------------- 30 31 -class Users(JSONController):
32 33 @JSONController.error_handler 34 @RoleCheck(admin=True)
35 - def GET(self):
36 """ 37 List all available users. 38 @return: a list of all users 39 """ 40 # implement filters 41 return self.ok(api.users())
42 43 @JSONController.error_handler 44 @RoleCheck(admin=True)
45 - def PUT(self):
46 """ 47 Create a new user 48 @return: user that was created 49 """ 50 user_data = self.params() 51 user = api.create(user_data['login'], user_data['password'], 52 user_data['name']) 53 return self.created(user['id'], user)
54 55 @JSONController.error_handler 56 @RoleCheck(admin=True)
57 - def DELETE(self):
58 """ 59 @return: True on successful deletion of all users 60 """ 61 api.clean() 62 return self.ok(True)
63
64 65 -class User(JSONController):
66 67 @JSONController.error_handler 68 @RoleCheck(admin=True)
69 - def GET(self, login):
70 """ 71 Get a users information 72 @param login: user login 73 @return: user metadata 74 """ 75 return self.ok(api.user(login))
76 77 @JSONController.error_handler 78 @RoleCheck(admin=True)
79 - def PUT(self, login):
80 """ 81 Update user 82 @param login: The user's login 83 """ 84 user = self.params() 85 user = api.update(user) 86 return self.ok(True)
87 88 @JSONController.error_handler 89 @RoleCheck(admin=True)
90 - def DELETE(self, login):
91 """ 92 Delete a user 93 @param login: login of user to delete 94 @return: True on successful deletion of user 95 """ 96 api.delete(login=login) 97 return self.ok(True)
98
99 -class AdminAuthCertificates(JSONController):
100 101 @JSONController.error_handler 102 @RoleCheck(admin=True)
103 - def GET(self):
104 ''' 105 Creates and returns an authentication certificate for the currently 106 logged in user. 107 ''' 108 private_key, cert = auth_api.admin_certificate() 109 certificate = {'certificate': cert, 'private_key': private_key} 110 return self.ok(certificate)
111 112 # web.py application ---------------------------------------------------------- 113 114 URLS = ( 115 '/$', 'Users', 116 '/admin_certificate/$', 'AdminAuthCertificates', 117 '/([^/]+)/$', 'User', 118 ) 119 120 application = web.application(URLS, globals()) 121