File size: 2,797 Bytes
11dd5ef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from flask import Flask, jsonify, request
import json

app = Flask(__name__)

# Load users data from JSON file
with open('users.json', 'r') as f:
    users = json.load(f)

# Load provider data from JSON file
with open('adscore.json', 'r') as f:
    data = json.load(f)

# Root route
@app.route('/')
def index():
    return "Welcome to Adscore Provider API!"

# Login route
@app.route('/login', methods=['POST'])
def login():
    data = request.form  # Mengambil data dari form POST
    username = data.get('username')
    password = data.get('password')

    if not username or not password:
        return jsonify({"error": "Username and password required"}), 400  # Jika username atau password kosong

    # Cek apakah username dan password sesuai dengan yang ada di JSON file
    for user in users:
        if user['username'] == username and user['password'] == password:
            return jsonify({"message": "Login successful"}), 200

    return jsonify({"error": "Invalid username or password"}), 401

# Define a route to fetch provider data by code
@app.route('/get_provider', methods=['GET'])
def get_provider():
    provider_code = request.args.get('provider_code')
    
    if not provider_code:
        return jsonify({"error": "No provider code provided"}), 400  # Handle case where no code is provided

    for provider in data:
        if provider.get("new_code_provider") == provider_code.strip():  # Use strip() to remove any extra spaces
            return jsonify(provider), 200  # Return provider data if found
    
    return jsonify({"error": "Provider not found"}), 404  # Return error if provider not found

# Define a route to fetch the score type
@app.route('/get_score', methods=['GET'])
def get_score():
    provider_code = request.args.get('provider_code')

    if not provider_code:
        return jsonify({"error": "No provider code provided"}), 400  # Handle case where no code is provided

    for provider in data:
        if provider.get("new_code_provider") == provider_code.strip():  # Use strip() to remove any extra spaces
            total_score = provider.get("total_score", 0)  # Default to 0 if total_score is not present

            # Determine the score type based on total_score
            if total_score <= 9:
                score_type = "Bad Score"
            elif 10 <= total_score <= 14:
                score_type = "Moderate Score"
            else:
                score_type = "Good Score"

            return jsonify({"total_score": total_score, "score_type": score_type}), 200  # Return score info

    return jsonify({"error": "Provider not found"}), 404  # Return error if provider not found

if __name__ == '__main__':
    # app.run(debug=True)
    app.run()