JamesyKim commited on
Commit
09410e1
·
1 Parent(s): 30fa53f

fix errors from duplicated info and update scheme sql

Browse files
Files changed (4) hide show
  1. api_validator.py +15 -2
  2. schema.sql +45 -2
  3. schemaTest.sql +0 -71
  4. testdb.sql +0 -72
api_validator.py CHANGED
@@ -6,6 +6,11 @@ import hashlib
6
  import apiCall
7
  import hashlib
8
  import psycopg2
 
 
 
 
 
9
 
10
 
11
  def validate_api_call(
@@ -238,11 +243,19 @@ def validate_api_call(
238
  # Store configuration
239
  # TODO: Implement database
240
 
 
 
 
 
 
 
 
 
241
  conn = psycopg2.connect(
242
  database="testdb",
243
  user="postgres",
244
  host="localhost",
245
- password="js2336222",
246
  port=5432,
247
  )
248
 
@@ -275,7 +288,7 @@ def validate_api_call(
275
  False,
276
  False,
277
  schedule_interval_minutes,
278
- start_time,
279
  created_at,
280
  None,
281
  ),
 
6
  import apiCall
7
  import hashlib
8
  import psycopg2
9
+ import os
10
+ from dotenv import load_dotenv
11
+
12
+ # Load environment variables from .env file
13
+ load_dotenv()
14
 
15
 
16
  def validate_api_call(
 
243
  # Store configuration
244
  # TODO: Implement database
245
 
246
+ db_password = os.getenv("DB_PASSWORD")
247
+ if not db_password:
248
+ return {
249
+ "success": False,
250
+ "message": "Database password not found in environment variables. Please set DB_PASSWORD.",
251
+ "config_id": None,
252
+ }
253
+
254
  conn = psycopg2.connect(
255
  database="testdb",
256
  user="postgres",
257
  host="localhost",
258
+ password=db_password,
259
  port=5432,
260
  )
261
 
 
288
  False,
289
  False,
290
  schedule_interval_minutes,
291
+ start_datetime,
292
  created_at,
293
  None,
294
  ),
schema.sql CHANGED
@@ -3,6 +3,7 @@ DROP TABLE IF EXISTS api_configurations;
3
 
4
  CREATE TABLE api_configurations (
5
  id SERIAL PRIMARY KEY,
 
6
  mcp_api_key VARCHAR(255) NOT NULL,
7
  name VARCHAR(255) NOT NULL,
8
  description TEXT,
@@ -23,9 +24,51 @@ CREATE TABLE api_configurations (
23
 
24
  CREATE TABLE api_call_results (
25
  id SERIAL PRIMARY KEY,
26
- config_id INTEGER REFERENCES api_configurations(id) ON DELETE CASCADE,
27
  response_data JSONB,
28
  is_successful BOOLEAN,
29
  error_message TEXT,
30
  called_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
31
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
  CREATE TABLE api_configurations (
5
  id SERIAL PRIMARY KEY,
6
+ config_id INTEGER NOT NULL UNIQUE,
7
  mcp_api_key VARCHAR(255) NOT NULL,
8
  name VARCHAR(255) NOT NULL,
9
  description TEXT,
 
24
 
25
  CREATE TABLE api_call_results (
26
  id SERIAL PRIMARY KEY,
27
+ config_id INTEGER REFERENCES api_configurations(config_id) ON DELETE CASCADE,
28
  response_data JSONB,
29
  is_successful BOOLEAN,
30
  error_message TEXT,
31
  called_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
32
+ );
33
+
34
+ INSERT INTO api_configurations (
35
+ config_id, mcp_api_key, name, description, method, base_url, endpoint,
36
+ params, headers, additional_params,
37
+ is_validated, is_active, stop, schedule_interval_minutes
38
+ ) VALUES (
39
+ 10101,
40
+ 'abc123xyz',
41
+ 'Track NVDA Price',
42
+ 'Tracking NVIDIA stock price every 20 minutes',
43
+ 'GET',
44
+ 'https://api.example.com',
45
+ '/stocks/nvda',
46
+ '{"interval":"1d","range":"5d"}',
47
+ '{"Authorization":"Bearer token"}',
48
+ '{}',
49
+ TRUE,
50
+ TRUE,
51
+ FALSE,
52
+ 20
53
+ );
54
+
55
+ INSERT INTO api_call_results (
56
+ config_id, response_data, is_successful, error_message
57
+ ) VALUES (
58
+ 10101,
59
+ '{"symbol":"NVDA", "price":1142.50, "timestamp":"2025-06-03T14:20:00Z"}',
60
+ TRUE,
61
+ NULL
62
+ );
63
+
64
+ INSERT INTO api_call_results (
65
+ config_id, response_data, is_successful, error_message
66
+ ) VALUES (
67
+ 10101,
68
+ NULL,
69
+ FALSE,
70
+ 'Timeout while contacting the API'
71
+ );
72
+
73
+ select * from api_configurations;
74
+ select * from api_call_results;
schemaTest.sql DELETED
@@ -1,71 +0,0 @@
1
- DROP TABLE IF EXISTS api_call_results;
2
- DROP TABLE IF EXISTS api_configurations;
3
-
4
- CREATE TABLE api_configurations (
5
- id SERIAL PRIMARY KEY,
6
- mcp_api_key VARCHAR(255) NOT NULL,
7
- name VARCHAR(255) NOT NULL,
8
- description TEXT,
9
- method VARCHAR(10) NOT NULL DEFAULT 'GET',
10
- base_url VARCHAR(500) NOT NULL,
11
- endpoint VARCHAR(500),
12
- params JSONB,
13
- headers JSONB,
14
- additional_params JSONB,
15
- is_validated BOOLEAN DEFAULT FALSE,
16
- is_active BOOLEAN DEFAULT FALSE,
17
- stop BOOLEAN DEFAULT FALSE,
18
- schedule_interval_minutes INTEGER,
19
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
20
- validated_at TIMESTAMP
21
- );
22
-
23
- CREATE TABLE api_call_results (
24
- id SERIAL PRIMARY KEY,
25
- config_id INTEGER REFERENCES api_configurations(id) ON DELETE CASCADE,
26
- response_data JSONB,
27
- is_successful BOOLEAN,
28
- error_message TEXT,
29
- called_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
30
- );
31
-
32
- INSERT INTO api_configurations (
33
- mcp_api_key, name, description, method, base_url, endpoint,
34
- params, headers, additional_params,
35
- is_validated, is_active, stop, schedule_interval_minutes
36
- ) VALUES (
37
- 'abc123xyz',
38
- 'Track NVDA Price',
39
- 'Tracking NVIDIA stock price every 20 minutes',
40
- 'GET',
41
- 'https://api.example.com',
42
- '/stocks/nvda',
43
- '{"interval":"1d","range":"5d"}',
44
- '{"Authorization":"Bearer token"}',
45
- '{}',
46
- TRUE,
47
- TRUE,
48
- FALSE,
49
- 20
50
- );
51
-
52
- INSERT INTO api_call_results (
53
- config_id, response_data, is_successful, error_message
54
- ) VALUES (
55
- 1,
56
- '{"symbol":"NVDA", "price":1142.50, "timestamp":"2025-06-03T14:20:00Z"}',
57
- TRUE,
58
- NULL
59
- );
60
-
61
- INSERT INTO api_call_results (
62
- config_id, response_data, is_successful, error_message
63
- ) VALUES (
64
- 1,
65
- NULL,
66
- FALSE,
67
- 'Timeout while contacting the API'
68
- );
69
-
70
- select * from api_configurations;
71
- select * from api_call_results;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
testdb.sql DELETED
@@ -1,72 +0,0 @@
1
- DROP TABLE IF EXISTS api_call_results;
2
- DROP TABLE IF EXISTS api_configurations;
3
-
4
- CREATE TABLE api_configurations (
5
- id SERIAL PRIMARY KEY,
6
- mcp_api_key VARCHAR(255) NOT NULL,
7
- name VARCHAR(255) NOT NULL,
8
- description TEXT,
9
- method VARCHAR(10) NOT NULL DEFAULT 'GET',
10
- base_url VARCHAR(500) NOT NULL,
11
- endpoint VARCHAR(500),
12
- params JSONB,
13
- headers JSONB,
14
- additional_params JSONB,
15
- is_validated BOOLEAN DEFAULT FALSE,
16
- is_active BOOLEAN DEFAULT FALSE,
17
- stop BOOLEAN DEFAULT FALSE,
18
- schedule_interval_minutes INTEGER,
19
- time_to_start TIMESTAMP,
20
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
21
- validated_at TIMESTAMP
22
- );
23
-
24
- CREATE TABLE api_call_results (
25
- id SERIAL PRIMARY KEY,
26
- config_id INTEGER REFERENCES api_configurations(id) ON DELETE CASCADE,
27
- response_data JSONB,
28
- is_successful BOOLEAN,
29
- error_message TEXT,
30
- called_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
31
- );
32
-
33
- INSERT INTO api_configurations (
34
- mcp_api_key, name, description, method, base_url, endpoint,
35
- params, headers, additional_params,
36
- is_validated, is_active, stop, schedule_interval_minutes
37
- ) VALUES (
38
- 'abc123xyz',
39
- 'Track NVDA Price',
40
- 'Tracking NVIDIA stock price every 20 minutes',
41
- 'GET',
42
- 'https://api.example.com',
43
- '/stocks/nvda',
44
- '{"interval":"1d","range":"5d"}',
45
- '{"Authorization":"Bearer token"}',
46
- '{}',
47
- TRUE,
48
- TRUE,
49
- FALSE,
50
- 20
51
- );
52
-
53
- INSERT INTO api_call_results (
54
- config_id, response_data, is_successful, error_message
55
- ) VALUES (
56
- 1,
57
- '{"symbol":"NVDA", "price":1142.50, "timestamp":"2025-06-03T14:20:00Z"}',
58
- TRUE,
59
- NULL
60
- );
61
-
62
- INSERT INTO api_call_results (
63
- config_id, response_data, is_successful, error_message
64
- ) VALUES (
65
- 1,
66
- NULL,
67
- FALSE,
68
- 'Timeout while contacting the API'
69
- );
70
-
71
- select * from api_configurations;
72
- select * from api_call_results;