##// END OF EJS Templates
API added explicit method for updating user account
marcink -
r2002:bdc0ad16 beta
parent child Browse files
Show More
@@ -151,7 +151,7 b' OUTPUT::'
151 create_user
151 create_user
152 -----------
152 -----------
153
153
154 Creates new user or updates current one if such user exists. This command can
154 Creates new user. This command can
155 be executed only using api_key belonging to user with admin rights.
155 be executed only using api_key belonging to user with admin rights.
156
156
157
157
@@ -179,6 +179,37 b' OUTPUT::'
179 error: null
179 error: null
180
180
181
181
182 update_user
183 -----------
184
185 updates current one if such user exists. This command can
186 be executed only using api_key belonging to user with admin rights.
187
188
189 INPUT::
190
191 api_key : "<api_key>"
192 method : "update_user"
193 args : {
194 "username" : "<username>",
195 "password" : "<password>",
196 "email" : "<useremail>",
197 "firstname" : "<firstname> = None",
198 "lastname" : "<lastname> = None",
199 "active" : "<bool> = True",
200 "admin" : "<bool> = False",
201 "ldap_dn" : "<ldap_dn> = None"
202 }
203
204 OUTPUT::
205
206 result: {
207 "id" : "<edited_user_id>",
208 "msg" : "updated user <username>"
209 }
210 error: null
211
212
182 get_users_group
213 get_users_group
183 ---------------
214 ---------------
184
215
@@ -134,7 +134,7 b' class ApiController(JSONRPCController):'
134 def create_user(self, apiuser, username, password, email, firstname=None,
134 def create_user(self, apiuser, username, password, email, firstname=None,
135 lastname=None, active=True, admin=False, ldap_dn=None):
135 lastname=None, active=True, admin=False, ldap_dn=None):
136 """
136 """
137 Create new user or updates current one
137 Create new user
138
138
139 :param apiuser:
139 :param apiuser:
140 :param username:
140 :param username:
@@ -146,7 +146,6 b' class ApiController(JSONRPCController):'
146 :param admin:
146 :param admin:
147 :param ldap_dn:
147 :param ldap_dn:
148 """
148 """
149
150 if User.get_by_username(username):
149 if User.get_by_username(username):
151 raise JSONRPCError("user %s already exist" % username)
150 raise JSONRPCError("user %s already exist" % username)
152
151
@@ -165,6 +164,39 b' class ApiController(JSONRPCController):'
165 raise JSONRPCError('failed to create user %s' % username)
164 raise JSONRPCError('failed to create user %s' % username)
166
165
167 @HasPermissionAllDecorator('hg.admin')
166 @HasPermissionAllDecorator('hg.admin')
167 def update_user(self, apiuser, username, password, email, firstname=None,
168 lastname=None, active=True, admin=False, ldap_dn=None):
169 """
170 Updates given user
171
172 :param apiuser:
173 :param username:
174 :param password:
175 :param email:
176 :param name:
177 :param lastname:
178 :param active:
179 :param admin:
180 :param ldap_dn:
181 """
182 if not User.get_by_username(username):
183 raise JSONRPCError("user %s does not exist" % username)
184
185 try:
186 usr = UserModel().create_or_update(
187 username, password, email, firstname,
188 lastname, active, admin, ldap_dn
189 )
190 Session.commit()
191 return dict(
192 id=usr.user_id,
193 msg='updated user %s' % username
194 )
195 except Exception:
196 log.error(traceback.format_exc())
197 raise JSONRPCError('failed to update user %s' % username)
198
199 @HasPermissionAllDecorator('hg.admin')
168 def get_users_group(self, apiuser, group_name):
200 def get_users_group(self, apiuser, group_name):
169 """"
201 """"
170 Get users group by name
202 Get users group by name
General Comments 0
You need to be logged in to leave comments. Login now