adding validated services? patching forcad_local.py
This commit is contained in:
54
OmCTF-2025/checkers/jform/jform_lib.py
Normal file
54
OmCTF-2025/checkers/jform/jform_lib.py
Normal file
@@ -0,0 +1,54 @@
|
||||
import requests
|
||||
import json
|
||||
from checklib import *
|
||||
|
||||
PORT = 5003
|
||||
|
||||
class CheckMachine:
|
||||
@property
|
||||
def url(self):
|
||||
return f"http://{self.c.host}:{self.port}"
|
||||
|
||||
def __init__(self, checker: BaseChecker):
|
||||
self.port = PORT
|
||||
self.c = checker
|
||||
|
||||
def register(self, session: requests.Session, username: str, password: str):
|
||||
data = {"username": username, "password": password}
|
||||
headers = {"Content-Type": "application/json"}
|
||||
return session.post(f"{self.url}/api/account/signup", data=json.dumps(data), headers=headers)
|
||||
|
||||
def login(self, session: requests.Session, username: str, password: str):
|
||||
data = {"username": username, "password": password}
|
||||
headers = {"Content-Type": "application/json"}
|
||||
return session.post(f"{self.url}/api/account/login", data=json.dumps(data), headers=headers)
|
||||
|
||||
def me(self, session: requests.Session):
|
||||
return session.get(f"{self.url}/api/account/me")
|
||||
|
||||
def logout(self, session: requests.Session):
|
||||
headers = {"Content-Type": "application/json"}
|
||||
return session.post(f"{self.url}/api/account/logout", data=json.dumps({}), headers=headers)
|
||||
|
||||
def create_form(self, session: requests.Session, schema: dict):
|
||||
data = {"schema": schema}
|
||||
headers = {"Content-Type": "application/json"}
|
||||
return session.post(f"{self.url}/api/form/new", data=json.dumps(data), headers=headers)
|
||||
|
||||
def get_form(self, session: requests.Session, form_id: str):
|
||||
return session.get(f"{self.url}/api/form/{form_id}")
|
||||
|
||||
def update_form(self, session: requests.Session, form_id: str, schema: dict):
|
||||
data = {"schema": schema}
|
||||
headers = {"Content-Type": "application/json"}
|
||||
return session.put(f"{self.url}/api/form/{form_id}/update", data=json.dumps(data), headers=headers)
|
||||
|
||||
def submit_form_response(self, session: requests.Session, form_id: str, payload: dict):
|
||||
headers = {"Content-Type": "application/json"}
|
||||
return session.post(f"{self.url}/api/form/{form_id}/submit", data=json.dumps(payload), headers=headers)
|
||||
|
||||
def get_my_forms(self, session: requests.Session):
|
||||
return session.get(f"{self.url}/api/form/my-forms")
|
||||
|
||||
def get_form_results(self, session: requests.Session, form_id: str):
|
||||
return session.get(f"{self.url}/api/form/{form_id}/results")
|
||||
Reference in New Issue
Block a user