from typing import * from pydantic import ValidationError from jose import jwt from settings import settings from proto import FrontendToken, ComputerToken def encode(data): return jwt.encode(data, settings.secret_key) def decode(token): return jwt.decode(token, settings.secret_key) def validate_frontend(token) -> Optional[FrontendToken]: try: data = decode(token) return FrontendToken.parse_obj(data) except ValidationError as e: print(e) return None def validate_computer(token) -> Optional[ComputerToken]: try: data = decode(token) return ComputerToken.parse_obj(data) except ValidationError as e: print(e) return None