def emailExists(self, email): data = {'email': str(email)} r = requests.post(url=f"{self._url}/auth/email", data=data, headers=self._appauth.generatePostHeader(data)) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) return data
def getHashChallenge(self, id_challenge): r = requests.get(url=f"{self._url}/challenge/hash/{id_challenge}", headers=self._appauth.generateGetHeader()) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if ok: return data return None
def userExists(self, username): data = {'username': str(username)} r = requests.post(url=f"{self._url}/auth/user", data=data, headers=self._appauth.generatePostHeader(data)) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) return data
def getUserCreatedAmount(self, id_user): r = requests.get(url=f"{self._url}/user/{id_user}/challenges/count", headers=self._appauth.generateGetHeader()) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if ok: return data return None
def getHMACKey(self): r = requests.get(url=f"{self._url}/auth/hmac", headers=self._appauth.generateGetHeader()) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if ok: return bytes(data, 'utf-8') else: raise Exception(data)
def getEmail(self, id_user): r = requests.get(url=f"{self._url}/user/email", params={'id': id_user}, headers=self._appauth.generateGetHeader()) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if ok: return data return None
def getAllHashChallenges(self): pt = PrettyTable() r = requests.get(url=f"{self._url}/challenge/hash", headers=self._appauth.generateGetHeader()) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if ok: pt = from_json(json.dumps(data)) return pt
def loginUser(self, username, password): data = {'username': str(username), 'password': str(password)} r = requests.post(url=f"{self._url}/auth/login", data=data, headers=self._appauth.generatePostHeader(data)) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if not ok: raise StatusCodeError(data) return (ok, data['user_id'])
def getAllScoreboard(self): pt = PrettyTable() r = requests.get(url=f"{self._url}/scoreboard", headers=self._appauth.generateGetHeader()) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if ok: pt = from_json(json.dumps(data)) else: crt.writeDebug(str(data)) return pt
def registerUser(self, username, password, email): data = { 'username': str(username), 'password': str(password), 'email': str(email) } r = requests.post(url=f"{self._url}/auth/signup", data=data, headers=self._appauth.generatePostHeader(data)) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) return ok
def getHashLastTry(self, id_user, id_challenge): r = requests.get(url=f"{self._url}/challenge/hash/lasttry", params={ "userid": id_user, "chid": id_challenge }, headers=self._appauth.generateGetHeader()) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if ok: return data return None
def addHashChallenge(self, id_user, tip, msg, algorithm): data = { 'userid': str(id_user), 'tip': str(tip), 'msg': str(msg), 'algo': str(algorithm) } r = requests.post(url=f"{self._url}/challenge/hash", data=data, headers=self._appauth.generatePostHeader(data)) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) return data
def updateHashChallengeTry(self, id_user, id_challenge, date, success): data = { "userid": str(id_user), "date": str(date), "success": str(1 if success else 0) } r = requests.patch(url=f"{self._url}/challenge/hash/{id_challenge}", data=data, headers=self._appauth.generatePatchHeader(data)) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) if ok: return data else: return False
def addCypherChallenge(self, id_user, tip, msg, val, iv, hmacdb, algorithm): data = { 'userid': str(id_user), 'tip': str(tip), 'msg': str(msg), 'val': str(val), 'iv': str(iv), 'hmac': str(hmacdb), 'algo': str(algorithm) } r = requests.post(url=f"{self._url}/challenge/cypher", data=data, headers=self._appauth.generatePostHeader(data)) if r.status_code != 200: raise StatusCodeError(str(r.status_code)) (ok, data) = unpack(r.json()) return data