def deleteGroup(group): try: requester = auth.getJwtPayload(request.headers.get('Authorization')) crud.deleteGroup(db.session, group, requester) MVGroupPermission.refresh() db.session.commit() return formatResponse(200) except HTTPRequestError as err: return formatResponse(err.errorCode, err.message)
def updateGroup(group): try: requester = auth.getJwtPayload(request.headers.get('Authorization')) groupData = loadJsonFromRequest(request) crud.updateGroup(db.session, group, groupData, requester) db.session.commit() return formatResponse(200) except HTTPRequestError as err: return formatResponse(err.errorCode, err.message)
def addUserToGroup(user, group): try: requester = auth.getJwtPayload(request.headers.get('Authorization')) if request.method == 'POST': rship.addUserGroup(db.session, user, group, requester) else: rship.removeUserGroup(db.session, user, group, requester) db.session.commit() return formatResponse(200) except HTTPRequestError as err: return formatResponse(err.errorCode, err.message)
def removeUser(user): try: requester = auth.getJwtPayload(request.headers.get('Authorization')) oldUsername = crud.getUser(db.session, user).username crud.deleteUser(db.session, user, requester) kong.removeFromKong(oldUsername) MVUserPermission.refresh() MVGroupPermission.refresh() db.session.commit() return formatResponse(200, "User removed") except HTTPRequestError as err: return formatResponse(err.errorCode, err.message)
def addGroupPermission(group, permission): try: requester = auth.getJwtPayload(request.headers.get('Authorization')) if request.method == 'POST': rship.addGroupPermission(db.session, group, permission, requester) else: rship.removeGroupPermission(db.session, group, permission, requester) MVGroupPermission.refresh() db.session.commit() return formatResponse(200) except HTTPRequestError as err: return formatResponse(err.errorCode, err.message)
def createGroup(): try: requester = auth.getJwtPayload(request.headers.get('Authorization')) groupData = loadJsonFromRequest(request) newGroup = crud.createGroup(db.session, groupData, requester) db.session.add(newGroup) db.session.commit() return make_response(json.dumps({ "status": 200, "id": newGroup.id }), 200) except HTTPRequestError as err: return formatResponse(err.errorCode, err.message)
def updateUser(user): try: requester = auth.getJwtPayload(request.headers.get('Authorization')) authData = loadJsonFromRequest(request) oldUser = crud.updateUser(db.session, user, authData, requester) # Create a new kong secret and delete the old one kongData = kong.configureKong(oldUser.username) if kongData is None: return formatResponse(500, 'failed to configure verification subsystem') kong.revokeKongSecret(oldUser.username, oldUser.kongId) oldUser.secret = kongData['secret'] oldUser.key = kongData['key'] oldUser.kongid = kongData['kongid'] db.session.add(oldUser) db.session.commit() return formatResponse(200) except HTTPRequestError as err: return formatResponse(err.errorCode, err.message)
def createUser(): try: requester = auth.getJwtPayload(request.headers.get('Authorization')) authData = loadJsonFromRequest(request) # Create user newUser = crud.createUser(db.session, authData, requester) # If no problems occur to create user (no exceptions), configure kong kongData = kong.configureKong(newUser.username) if kongData is None: return formatResponse(500, 'failed to configure verification subsystem') newUser.secret = kongData['secret'] newUser.key = kongData['key'] newUser.kongId = kongData['kongid'] db.session.add(newUser) db.session.commit() groupSuccess = [] groupFailed = [] if 'profile' in authData.keys(): groupSuccess, groupFailed = rship. \ addUserManyGroups(db.session, newUser.id, authData['profile'], requester) db.session.commit() if conf.emailHost != 'NOEMAIL': pwdc.createPasswordSetRequest(db.session, newUser) db.session.commit() return make_response(json.dumps({ "user": newUser.safeDict(), "groups": groupSuccess, "could not add": groupFailed, "message": "user created" }), 200) except HTTPRequestError as err: return formatResponse(err.errorCode, err.message)