def run(): try: params = request.get_json() if not params: return {'status': 400, 'message': 'Posted data not matched!'} conn = StartTransaction() rs = ExecSQL( conn, ''' UPDATE KFSYSCC.SYSUSER SET USER_NAME=:userName WHERE USER_ID=:userId ''', **params) if rs['status'] != 200: Rollback(conn) return api_response(**rs) rs = Commit(conn) return api_response(**rs) except: raise
def _test(args): '''{ "Description": "API Test", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[ {"Description":"PARAM", "Name":"PARAM", "Required":true} ] }''' response_data = {} response_data['status'] = True response_data['message'] = '' response_data['data'] = [] def _check_parameter(): pass def _deal(): pass def _responseData(): return response_data try: _check_parameter() _deal() return api_response(**_responseData()) except Exception as e: rs = {'status': False, 'message': str(e), 'data': []} return api_response(**rs), 400
def uuid4(): '''{ "Description": "Python UUID4 通過偽隨機數得到uuid,是有一定概率重複的", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[] }''' try: response_data = {} response_data['UUID'] = uuid.uuid4() return api_response(**response_data) except Exception as e: rs = {'status': False, 'message': str(e), 'data': []} return api_response(**rs), 400
def _menu_update(args): '''{ "Description": "API Test", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[ {"Description":"VENDOR_ID", "Name":"VENDOR_ID", "Required":true}, {"Description":"MENU", "Name":"MENU", "Required":false} ] }''' response_data = {} response_data['status'] = True response_data['message'] = '' response_data['data'] = [] def _check_parameter(): pass def _deal(): pass def _responseData(): try: vendor = find_by_id(vid=args['VENDOR_ID']) if(not isNone(vendor)): vendor.MENU = None if isNone(args['MENU']) else args['MENU'] session = pg_session() try: session.add(vendor) except Exception as e: session.rollback() logger.error('_menu_update :' + str(e)) else: session.commit() response_data['data'] = models_to_list(vendor) except Exception as e: logger.error('_menu_update :' + str(e)) pass return response_data try: _check_parameter() _deal() return api_response(**_responseData()) except Exception as e: rs = {'status':False, 'message': str(e), 'data': []} return api_response(**rs), 400
def uuid1(): '''{ "Description": "Python UUID1 基於MAC地址,時間戳,隨機數來生成唯一的uuid,可以保證全球範圍內的唯一性", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[] }''' try: response_data = {} response_data['UUID'] = uuid.uuid1() return api_response(**response_data) except Exception as e: rs = {'status': False, 'message': str(e), 'data': []} return api_response(**rs), 400
def uuid5(args): '''{ "Description": "Python UUID5", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[ {"Description":"Name", "Name":"name", "Required":true} ] }''' try: response_data = {} response_data['UUID'] = uuid.uuid5(uuid.NAMESPACE_URL, args['name']) return api_response(**response_data) except Exception as e: rs = {'status': False, 'message': str(e), 'data': []} return api_response(**rs), 400
def run(): try: users = pg_session.query(LineProfile) \ .filter(LineProfile.USER_ID == 'aaaa') \ .all() result = models_to_list(users) rs = {'status':200, 'message': 'OK', 'data': result} return api_response(**rs) except Exception as e: error, = e.args rs = {'status':404, 'message': error.message, 'data': []} return api_response(**rs) finally: pg_session.close()
def run(): try: if request.is_json == False: return jsonify({'status':401, 'message': 'JSON request required.'}), 401 content = request.get_json() cmd = content['CommandText'] params = {} params['cmd'] = cmd sql = """ SELECT QRY_SQL||QRY_SQL2||QRY_SQL3 QRY_SQL FROM SYSQRYM WHERE UPPER(PXY_CMD) = UPPER(:cmd) AND QRY_VALID='Y' AND GRP_ID='WS' """ rs = Query(sql, **params) if rs['status'] != 200: return jsonify({'status': rs['status'], 'message': rs['message']}) if not rs['data']: return jsonify({'status': 401, 'message': 'SQL not found.'}) data = rs['data'][0] sql = data['QRY_SQL'] sql = sql.replace("\r\n", " ") params = {} params = content['Parameters'] tmpSQL = sql.upper() if ('INSERT ' in tmpSQL) or ('UPDATE ' in tmpSQL) or ('DELETE ' in tmpSQL): try: conn = StartTransaction() rs = ExecSQL(conn, sql, **params) if rs['status'] != 200: Rollback(conn) return api_response(**rs) rs = Commit(conn) except: raise else: rs = Query(sql, **params) return api_response(**rs) except Exception as e: return jsonify({'status':400, 'message': str(e)})
def run(): sql = """ SELECT FN_HOSTNAME() "Host" FROM DUAL """ rs = Query(sql) return api_response(**rs)
def sys_decode(): '''{ "Description": "AES Decrypt ", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[ {"Description":"data", "Name":"data", "Required":true} ] }''' try: req_params = {'data': ['required']} _params = get_parameter(**req_params) decrypt = AESCipher(Config.SYS_AES_KEY).decrypt(_params['data']) result = {'result': decrypt} rs = {'status': 200, 'message': 'OK', 'data': result} return api_response(**rs) except Exception as e: rs = {'status': 400, 'message': str(e), 'data': []} return api_response(**rs)
def route_wrapper(*args, **kwargs): try: if (not isNone(params)): kwargs['args'] = get_parameter(**params) return func(*args, **kwargs) except ValueError as e: rs = {'success': False, 'message': str(e), 'data': []} return api_response(**rs), 400
def run(user_id): sql = """ SELECT * FROM SYSUSER WHERE USER_ID=:user_id """ params = {} params['user_id'] = user_id rs = Query(sql, **params) return api_response(**rs)
def run(): # sql = """ # SELECT * FROM public."LINE_PROFILE" WHERE "USER_ID" = %(user_id)s # """ sql = """ SELECT A.*, current_timestamp as dt FROM public."LINE_PROFILE" A WHERE A."USER_ID" = :user_id """ params = {} params['user_id'] = 'aaaa' rs = Query(sql, **params) return api_response(**rs)
def encode(): '''{ "Description": "AES Encrypt", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[ {"Description":"key", "Name":"key", "Required":true}, {"Description":"data", "Name":"data", "Required":true} ] }''' try: req_params = {} req_params['key'] = ['required'] req_params['data'] = ['required'] _params = get_parameter(**req_params) encrypt = AESCipher(_params['key']).encrypt(_params['data']) result = {'result': encrypt} rs = {'status': 200, 'message': 'OK', 'data': result} return api_response(**rs) except Exception as e: rs = {'status': 400, 'message': str(e), 'data': []} return api_response(**rs)
def run(): try: conn = StartTransaction() Params = {} Params['USER_ID'] = '002057' Params['USER_NAME'] = 'Marry' rs = ExecSQL( conn, ''' UPDATE SYSUSER SET USER_NAME=:USER_NAME WHERE USER_ID=:USER_ID ''', **Params) if rs['status'] != 200: Rollback(conn) return api_response(**rs) Params = {} #Params['USER_ID'] = '002057' #Params['USER_NAME'] = '林俊偉' rs = ExecSQL( conn, ''' INSERT INTO SURVEY1ANS(ID) VALUES(9) ''', **Params) if rs['status'] != 200: Rollback(conn) return api_response(**rs) rs = Commit(conn) return api_response(**rs) except: raise
def run(): try: content = request.get_json() if request.is_json == False: return jsonify({ 'status': 401, 'message': 'JSON request required.' }), 401 sql = content['CommandText'] params = content['Parameters'] rs = Query(sql, **params) return api_response(**rs) except Exception as e: return jsonify({'status': 400, 'message': str(e)})
def k1(): '''{ "Description": "demo 1: basic", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[] }''' rs = {'status': 200, 'message': 'sample1 success!', 'data': []} return api_response(**rs)
def k2(): '''{ "Description": "routing by rule", "Methods":"GET, POST", "Content-Type":"application/json", "Parameters":[] }''' rs = {'status': 200, 'message': 'sample1-> inner success!', 'data': []} return api_response(**rs)
def run(): sql = """ SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') "Now" FROM DUAL """ rs = Query(sql) return api_response(**rs)
def run(): sql = """ SELECT USER_ID, USER_NAME, USER_ENG_NAME, DEPT_CODE FROM SYSUSER """ rs = Query(sql) return api_response(**rs)