Esempio n. 1
0
def view_nasabah(id):
    responseHttp = ResponseTemplate()
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        queryData = "select id,nama,email,alamat,saldo,last_login,UNIX_TIMESTAMP(created_date),UNIX_TIMESTAMP(updated_date) from nasabah where id=%s"
        cursor.execute(queryData, id)
        records = cursor.fetchall()

        data = {}
        if cursor.rowcount > 0:

            data["id"] = records[0][0]
            data["nama"] = records[0][1]
            data["email"] = records[0][2]
            data["alamat"] = records[0][3]
            data["saldo"] = records[0][4]
            data["last_login"] = str(records[0][5])
            data["created_date"] = records[0][6]
            data["updated_date"] = records[0][7]
            responseHttp.status = "success"
            responseHttp.code = 200
        else:
            responseHttp.status = "data not found"
            responseHttp.code = 200
        responseHttp.data = data

        cursor.close()

    except Exception as e:
        responseHttp.code = 500
        responseHttp.message = str(e)
        responseHttp.data = []
    return responseHttp
Esempio n. 2
0
def nasabah_login(email, password):
    responseHttp = ResponseTemplate()
    try:
        conn = mysql.connect()
        cursor = conn.cursor()

        queryData = "select email,nama from nasabah where email=%s and password=%s"
        cursor.execute(queryData, (email, password))
        records = cursor.fetchall()
        if cursor.rowcount == 0:
            responseHttp.code = 403
            responseHttp.message = "email and password not match"
            return responseHttp

        generatedToken = str(uuid.uuid4())
        queryData = "UPDATE nasabah SET token=%s, last_login=%s WHERE email=%s AND password=%s"
        cursor.execute(queryData,
                       (generatedToken, datetime.now(), email, password))
        data = {
            "email": records[0][0],
            "nama": records[0][1],
            "token": generatedToken
        }
        responseHttp.status = "success"
        responseHttp.code = 200
        responseHttp.data = data
        conn.commit()
        cursor.close()
    except Exception as e:
        responseHttp.code = 500
        responseHttp.message = str(e)
        responseHttp.data = []

    return responseHttp
Esempio n. 3
0
def cek_nasabah_token(token):
    result = True
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        queryData = "select email,nama from nasabah where token=%s"
        cursor.execute(queryData, (token))
        if cursor.rowcount > 0:
            result = True
        conn.commit()
        cursor.close()
    except:
        result = True

    return result
Esempio n. 4
0
def create_nasabah(nama, email, alamat):
    responseHttp = ResponseTemplate()
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        queryData = "insert into nasabah (id,nama,email,alamat,saldo) values (%s, %s, %s, %s, %s )"
        generatedToken = str(uuid.uuid4())
        cursor.execute(queryData, (generatedToken, nama, email, alamat, 0))

        responseHttp.status = "success"
        responseHttp.code = 200
        responseHttp.data = conn.affected_rows()
        conn.commit()
        cursor.close()

    except Exception as e:
        responseHttp.code = 500
        responseHttp.message = str(e)
        responseHttp.data = []
    return responseHttp
Esempio n. 5
0
def list_nasabah(page, limit, search):
    responseHttp = ResponseTemplate()
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        cursor.execute("select sum(1) from nasabah")
        records = cursor.fetchall()
        responseHttp.pagination = {
            "page": page,
            "limit": limit,
            "total": int(records[0][0])
        }
        queryData = "select id,nama,email,alamat,saldo,UNIX_TIMESTAMP(last_login),UNIX_TIMESTAMP(created_date),UNIX_TIMESTAMP(updated_date) from nasabah where nama like %s limit %s , %s"
        cursor.execute(queryData, ('%' + search + '%', (page - 1), limit))
        records = cursor.fetchall()
        conn.commit()
        cursor.close()

        data = []
        if cursor.rowcount > 0:
            for row in records:
                data.append({
                    "id": row[0],
                    "nama": row[1],
                    "email": row[2],
                    "alamat": row[3],
                    "saldo": row[4],
                    "last_login": row[5],
                    "created_date": row[6],
                    "updated_date": row[7]
                })

        responseHttp.status = "success"
        responseHttp.code = 200
        responseHttp.data = data

    except Exception as e:
        responseHttp.code = 500
        responseHttp.message = str(e)
        responseHttp.data = []
    return responseHttp
Esempio n. 6
0
def cek_nasabah_token2(token):
    result = nasabahVerified()
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        queryData = "select email,nama,organization_id,role_id from nasabah where token=%s"
        cursor.execute(queryData, token)
        print(str(queryData))
        if cursor.rowcount > 0:
            records = cursor.fetchall()
            result.permit = True
            result.email = records[0][0]
            result.nama = records[0][1]
            result.organization_id = records[0][2]
            result.role_id = records[0][3]
        conn.commit()
        cursor.close()
    except:
        result.permit = False

    return result
Esempio n. 7
0
def nasabah_logout(token):
    responseHttp = ResponseTemplate()
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        queryData = "update nasabah set token=null where token=%s"
        cursor.execute(queryData, (token))
        conn.commit()
        cursor.close()
        if conn.affected_rows() > 0:
            responseHttp.status = "success"
            responseHttp.code = 200
        else:
            responseHttp.status = "ilegal command"
            responseHttp.code = 200

    except Exception as e:
        responseHttp.code = 500
        responseHttp.message = str(e)
        responseHttp.data = []

    return responseHttp
Esempio n. 8
0
def update_nasabah(id, nama, email, alamat):
    responseHttp = ResponseTemplate()
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        queryData = "update nasabah set nama=%s,email=%s,alamat=%s where id=%s"
        cursor.execute(queryData, (nama, email, alamat, id))
        conn.commit()
        cursor.close()

        if conn.affected_rows() > 0:
            responseHttp.status = "success"
            responseHttp.code = 200
        else:
            responseHttp.status = "data already changed or data not found"
            responseHttp.code = 200
        responseHttp.data = conn.affected_rows()

    except Exception as e:
        responseHttp.code = 500
        responseHttp.message = str(e)
        responseHttp.data = []
    return responseHttp
Esempio n. 9
0
def karyawan_login(nik, password):
    responseHttp = ResponseTemplate()
    try:
        conn = mysql.connect()
        cursor =conn.cursor()

        queryData = "select nik,nama,email,role from karyawan where nik=%s and password=%s"
        cursor.execute(queryData,(nik,password))
        records = cursor.fetchall()
        if cursor.rowcount == 0:
            responseHttp.code=403
            responseHttp.message = "email and password not match"
            return responseHttp

        generatedToken = str(uuid.uuid4())
        # queryData = "UPDATE nasabah SET token=%s, last_login=%s WHERE email=%s AND password=%s"
        # cursor.execute(queryData,(generatedToken,datetime.now(),email,password))
        payload={
            "nik":records[0][0],
            "nama": records[0][1],
            "email": records[0][2],
            "role": records[0][3],
            'exp': datetime.utcnow() + timedelta(seconds=JWT_EXP_DELTA_SECONDS)
        }
        jwt_token = jwt.encode(payload, JWT_SECRET, JWT_ALGORITHM)
        payload['token']=jwt_token.decode('utf-8')
        responseHttp.status = "success"
        responseHttp.code = 200
        responseHttp.data = {'token':jwt_token.decode('utf-8')}
        conn.commit()
        cursor.close()
    except Exception as e:
        responseHttp.code = 500
        responseHttp.message = str(e)
        responseHttp.data =[]

    return responseHttp
Esempio n. 10
0
def delete_nasabah(id):
    responseHttp = ResponseTemplate()
    try:
        conn = mysql.connect()
        cursor = conn.cursor()
        queryData = "delete from nasabah where id=%s"
        cursor.execute(queryData, id)

        conn.commit()
        cursor.close()

        if conn.affected_rows() > 0:
            responseHttp.status = "success"
            responseHttp.code = 200
        else:
            responseHttp.status = "data already deleted or data not found"
            responseHttp.code = 200
        responseHttp.data = conn.affected_rows()

    except Exception as e:
        responseHttp.code = 500
        responseHttp.message = str(e)
        responseHttp.data = []
    return responseHttp