Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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
Example #5
0
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
Example #6
0
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
Example #7
0
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()
Example #8
0
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)})
Example #9
0
def run():
    sql = """
        SELECT FN_HOSTNAME() "Host" FROM DUAL
    """
    rs = Query(sql)

    return api_response(**rs)
Example #10
0
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)
Example #11
0
 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
Example #12
0
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)
Example #13
0
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)
Example #14
0
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)
Example #15
0
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
Example #16
0
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)})
Example #17
0
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)
Example #18
0
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)
Example #19
0
def run():
    sql = """
        SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') "Now" FROM DUAL
    """
    rs = Query(sql)
    return api_response(**rs)
Example #20
0
def run():
    sql = """
       SELECT USER_ID, USER_NAME, USER_ENG_NAME, DEPT_CODE FROM SYSUSER
    """
    rs = Query(sql)
    return api_response(**rs)