Show More
@@ -187,7 +187,18 b' OUTPUT::' | |||||
187 |
|
187 | |||
188 | result: { |
|
188 | result: { | |
189 | "id" : "<new_user_id>", |
|
189 | "id" : "<new_user_id>", | |
190 | "msg" : "created new user <username>" |
|
190 | "msg" : "created new user <username>", | |
|
191 | "user": { | |||
|
192 | "id" : "<id>", | |||
|
193 | "username" : "<username>", | |||
|
194 | "firstname": "<firstname>", | |||
|
195 | "lastname" : "<lastname>", | |||
|
196 | "email" : "<email>", | |||
|
197 | "active" : "<bool>", | |||
|
198 | "admin" :Β "<bool>", | |||
|
199 | "ldap_dn" : "<ldap_dn>", | |||
|
200 | "last_login": "<last_login>", | |||
|
201 | }, | |||
191 | } |
|
202 | } | |
192 | error: null |
|
203 | error: null | |
193 |
|
204 | |||
@@ -195,7 +206,7 b' OUTPUT::' | |||||
195 | update_user |
|
206 | update_user | |
196 | ----------- |
|
207 | ----------- | |
197 |
|
208 | |||
198 |
updates |
|
209 | updates given user if such user exists. This command can | |
199 | be executed only using api_key belonging to user with admin rights. |
|
210 | be executed only using api_key belonging to user with admin rights. | |
200 |
|
211 | |||
201 |
|
212 | |||
@@ -220,7 +231,33 b' OUTPUT::' | |||||
220 |
|
231 | |||
221 | result: { |
|
232 | result: { | |
222 | "id" : "<edited_user_id>", |
|
233 | "id" : "<edited_user_id>", | |
223 | "msg" : "updated user <username>" |
|
234 | "msg" : "updated user ID:<userid> <username>" | |
|
235 | } | |||
|
236 | error: null | |||
|
237 | ||||
|
238 | ||||
|
239 | delete_user | |||
|
240 | ----------- | |||
|
241 | ||||
|
242 | ||||
|
243 | deletes givenuser if such user exists. This command can | |||
|
244 | be executed only using api_key belonging to user with admin rights. | |||
|
245 | ||||
|
246 | ||||
|
247 | INPUT:: | |||
|
248 | ||||
|
249 | id : <id_for_response> | |||
|
250 | api_key : "<api_key>" | |||
|
251 | method : "delete_user" | |||
|
252 | args : { | |||
|
253 | "userid" : "<user_id or username>", | |||
|
254 | } | |||
|
255 | ||||
|
256 | OUTPUT:: | |||
|
257 | ||||
|
258 | result: { | |||
|
259 | "id" : "<edited_user_id>", | |||
|
260 | "msg" : "deleted user ID:<userid> <username>" | |||
224 | } |
|
261 | } | |
225 | error: null |
|
262 | error: null | |
226 |
|
263 |
@@ -156,14 +156,25 b' class ApiController(JSONRPCController):' | |||||
156 | password = PasswordGenerator().gen_password(length=8) |
|
156 | password = PasswordGenerator().gen_password(length=8) | |
157 |
|
157 | |||
158 | try: |
|
158 | try: | |
159 | usr = UserModel().create_or_update( |
|
159 | user = UserModel().create_or_update( | |
160 | username, password, email, firstname, |
|
160 | username, password, email, firstname, | |
161 | lastname, active, admin, ldap_dn |
|
161 | lastname, active, admin, ldap_dn | |
162 | ) |
|
162 | ) | |
163 | Session.commit() |
|
163 | Session.commit() | |
164 | return dict( |
|
164 | return dict( | |
165 | id=usr.user_id, |
|
165 | id=user.user_id, | |
166 | msg='created new user %s' % username |
|
166 | msg='created new user %s' % username, | |
|
167 | user=dict( | |||
|
168 | id=user.user_id, | |||
|
169 | username=user.username, | |||
|
170 | firstname=user.name, | |||
|
171 | lastname=user.lastname, | |||
|
172 | email=user.email, | |||
|
173 | active=user.active, | |||
|
174 | admin=user.admin, | |||
|
175 | ldap_dn=user.ldap_dn, | |||
|
176 | last_login=user.last_login, | |||
|
177 | ) | |||
167 | ) |
|
178 | ) | |
168 | except Exception: |
|
179 | except Exception: | |
169 | log.error(traceback.format_exc()) |
|
180 | log.error(traceback.format_exc()) | |
@@ -185,8 +196,9 b' class ApiController(JSONRPCController):' | |||||
185 | :param admin: |
|
196 | :param admin: | |
186 | :param ldap_dn: |
|
197 | :param ldap_dn: | |
187 | """ |
|
198 | """ | |
188 |
|
|
199 | usr = UserModel().get_user(userid) | |
189 | raise JSONRPCError("user %s does not exist" % username) |
|
200 | if not usr: | |
|
201 | raise JSONRPCError("user ID:%s does not exist" % userid) | |||
190 |
|
202 | |||
191 | try: |
|
203 | try: | |
192 | usr = UserModel().create_or_update( |
|
204 | usr = UserModel().create_or_update( | |
@@ -196,11 +208,34 b' class ApiController(JSONRPCController):' | |||||
196 | Session.commit() |
|
208 | Session.commit() | |
197 | return dict( |
|
209 | return dict( | |
198 | id=usr.user_id, |
|
210 | id=usr.user_id, | |
199 | msg='updated user %s' % username |
|
211 | msg='updated user ID:%s %s' % (usr.user_id, usr.username) | |
200 | ) |
|
212 | ) | |
201 | except Exception: |
|
213 | except Exception: | |
202 | log.error(traceback.format_exc()) |
|
214 | log.error(traceback.format_exc()) | |
203 |
raise JSONRPCError('failed to update user %s' % user |
|
215 | raise JSONRPCError('failed to update user %s' % userid) | |
|
216 | ||||
|
217 | @HasPermissionAllDecorator('hg.admin') | |||
|
218 | def delete_user(self, apiuser, userid): | |||
|
219 | """" | |||
|
220 | Deletes an user | |||
|
221 | ||||
|
222 | :param apiuser: | |||
|
223 | """ | |||
|
224 | usr = UserModel().get_user(userid) | |||
|
225 | if not usr: | |||
|
226 | raise JSONRPCError("user ID:%s does not exist" % userid) | |||
|
227 | ||||
|
228 | try: | |||
|
229 | UserModel().delete(userid) | |||
|
230 | Session.commit() | |||
|
231 | return dict( | |||
|
232 | id=usr.user_id, | |||
|
233 | msg='deleted user ID:%s %s' % (usr.user_id, usr.username) | |||
|
234 | ) | |||
|
235 | except Exception: | |||
|
236 | log.error(traceback.format_exc()) | |||
|
237 | raise JSONRPCError('failed to delete ID:%s %s' % (usr.user_id, | |||
|
238 | usr.username)) | |||
204 |
|
239 | |||
205 | @HasPermissionAllDecorator('hg.admin') |
|
240 | @HasPermissionAllDecorator('hg.admin') | |
206 | def get_users_group(self, apiuser, group_name): |
|
241 | def get_users_group(self, apiuser, group_name): |
General Comments 0
You need to be logged in to leave comments.
Login now