Models.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # Copyright (c) 2018 Ultimaker B.V.
  2. from typing import Optional
  3. class BaseModel:
  4. def __init__(self, **kwargs):
  5. self.__dict__.update(kwargs)
  6. # OAuth OAuth2Settings data template.
  7. class OAuth2Settings(BaseModel):
  8. CALLBACK_PORT = None # type: Optional[int]
  9. OAUTH_SERVER_URL = None # type: Optional[str]
  10. CLIENT_ID = None # type: Optional[str]
  11. CLIENT_SCOPES = None # type: Optional[str]
  12. CALLBACK_URL = None # type: Optional[str]
  13. AUTH_DATA_PREFERENCE_KEY = "" # type: str
  14. AUTH_SUCCESS_REDIRECT = "https://ultimaker.com" # type: str
  15. AUTH_FAILED_REDIRECT = "https://ultimaker.com" # type: str
  16. # User profile data template.
  17. class UserProfile(BaseModel):
  18. user_id = None # type: Optional[str]
  19. username = None # type: Optional[str]
  20. profile_image_url = None # type: Optional[str]
  21. # Authentication data template.
  22. class AuthenticationResponse(BaseModel):
  23. """Data comes from the token response with success flag and error message added."""
  24. success = True # type: bool
  25. token_type = None # type: Optional[str]
  26. access_token = None # type: Optional[str]
  27. refresh_token = None # type: Optional[str]
  28. expires_in = None # type: Optional[str]
  29. scope = None # type: Optional[str]
  30. err_message = None # type: Optional[str]
  31. # Response status template.
  32. class ResponseStatus(BaseModel):
  33. code = 200 # type: int
  34. message = "" # type str
  35. # Response data template.
  36. class ResponseData(BaseModel):
  37. status = None # type: ResponseStatus
  38. data_stream = None # type: Optional[bytes]
  39. redirect_uri = None # type: Optional[str]
  40. content_type = "text/html" # type: str
  41. # Possible HTTP responses.
  42. HTTP_STATUS = {
  43. "OK": ResponseStatus(code=200, message="OK"),
  44. "NOT_FOUND": ResponseStatus(code=404, message="NOT FOUND"),
  45. "REDIRECT": ResponseStatus(code=302, message="REDIRECT")
  46. }