annotations fix

This commit is contained in:
Vithor Jaeger 2022-09-22 14:56:02 -04:00
parent cadd4889b6
commit c66e6cc66b
7 changed files with 19 additions and 42 deletions

View File

@ -1,7 +1,6 @@
from __future__ import annotations from __future__ import annotations
from typing import Any from typing import Any
from urllib.parse import urlencode
import httpx import httpx
@ -125,22 +124,3 @@ class Client:
if path.startswith("/"): if path.startswith("/"):
path = path[1:] path = path[1:]
return url + path return url + path
if __name__ == "__main__":
from pocketbase.stores.local_auth_store import LocalAuthStore
pb = Client(base_url="http://ares.olimpo:8090/", auth_store=LocalAuthStore())
# pb.admins.auth_via_email("vaphes@gmail.com", "vaphes2007")
print(pb.auth_store.token)
books = pb.collections.get_one("books")
print("ok")
# sacd = "nwvgaw6iiibv4fp"
# book = {
# "author": sacd,
# "name": "A study in red",
# "rating": 4.5,
# "summary": "The worst Sherlock Homes book",
# }
# data = pb.records.create("books", book)
# print(data)

View File

@ -1,6 +1,5 @@
from __future__ import annotations from __future__ import annotations
from typing import Union
import datetime import datetime
from pocketbase.utils import to_datetime from pocketbase.utils import to_datetime
@ -10,7 +9,7 @@ from pocketbase.models.utils.base_model import BaseModel
class Admin(BaseModel): class Admin(BaseModel):
avatar: int avatar: int
email: str email: str
last_reset_sent_at: Union[str, datetime.datetime] last_reset_sent_at: str | datetime.datetime
def load(self, data: dict) -> None: def load(self, data: dict) -> None:
super().load(data) super().load(data)

View File

@ -1,7 +1,5 @@
from __future__ import annotations from __future__ import annotations
from typing import Optional
from pocketbase.models.utils.base_model import BaseModel from pocketbase.models.utils.base_model import BaseModel
from pocketbase.models.utils.schema_field import SchemaField from pocketbase.models.utils.schema_field import SchemaField
@ -10,11 +8,11 @@ class Collection(BaseModel):
name: str name: str
schema: list[SchemaField] schema: list[SchemaField]
system: bool system: bool
list_rule: Optional[str] list_rule: str | None
view_rule: Optional[str] view_rule: str | None
create_rule: Optional[str] create_rule: str | None
update_rule: Optional[str] update_rule: str | None
delete_rule: Optional[str] delete_rule: str | None
def load(self, data: dict) -> None: def load(self, data: dict) -> None:
super().load(data) super().load(data)

View File

@ -11,9 +11,9 @@ from pocketbase.models.utils.base_model import BaseModel
class User(BaseModel): class User(BaseModel):
email: str email: str
verified: bool verified: bool
last_reset_sent_at: Union[str, datetime.datetime] last_reset_sent_at: str | datetime.datetime
last_verification_sent_at: Union[str, datetime.datetime] last_verification_sent_at: str | datetime.datetime
profile: Optional[Record] profile: Record | None
def load(self, data: dict) -> None: def load(self, data: dict) -> None:
super().load(data) super().load(data)

View File

@ -3,6 +3,7 @@ from __future__ import annotations
from dataclasses import dataclass from dataclasses import dataclass
from typing import Any from typing import Any
from urllib.parse import quote from urllib.parse import quote
from pocketbase.services.utils.crud_service import CrudService from pocketbase.services.utils.crud_service import CrudService
from pocketbase.models.utils.base_model import BaseModel from pocketbase.models.utils.base_model import BaseModel
from pocketbase.models.user import User from pocketbase.models.user import User

View File

@ -1,7 +1,6 @@
from __future__ import annotations from __future__ import annotations
from abc import ABC from abc import ABC
from typing import Union, Optional
from pocketbase.models.admin import Admin from pocketbase.models.admin import Admin
from pocketbase.models.user import User from pocketbase.models.user import User
@ -14,26 +13,26 @@ class BaseAuthStore(ABC):
""" """
base_token: str base_token: str
base_model: Union[User, Admin, None] base_model: User | Admin | None
def __init__( def __init__(
self, base_token: str = "", base_model: Optional[Union[User, Admin]] = None self, base_token: str = "", base_model: User | Admin | None = None
) -> None: ) -> None:
super().__init__() super().__init__()
self.base_token = base_token self.base_token = base_token
self.base_model = base_model self.base_model = base_model
@property @property
def token(self) -> Union[str, None]: def token(self) -> str | None:
"""Retrieves the stored token (if any).""" """Retrieves the stored token (if any)."""
return self.base_token return self.base_token
@property @property
def model(self) -> Union[User, Admin, None]: def model(self) -> User | Admin | None:
"""Retrieves the stored model data (if any).""" """Retrieves the stored model data (if any)."""
return self.base_model return self.base_model
def save(self, token: str = "", model: Optional[Union[User, Admin]] = None) -> None: def save(self, token: str = "", model: User | Admin | None = None) -> None:
"""Saves the provided new token and model data in the auth store.""" """Saves the provided new token and model data in the auth store."""
self.base_token = token self.base_token = token
self.base_model = model self.base_model = model

View File

@ -1,6 +1,6 @@
from __future__ import annotations from __future__ import annotations
from typing import Any, Optional, Union from typing import Any
import pickle import pickle
import os import os
@ -18,7 +18,7 @@ class LocalAuthStore(BaseAuthStore):
filename: str = "pocketbase_auth.data", filename: str = "pocketbase_auth.data",
filepath: str = "", filepath: str = "",
base_token: str = "", base_token: str = "",
base_model: Optional[Union[User, Admin]] = None, base_model: User | Admin | None = None,
) -> None: ) -> None:
super().__init__(base_token, base_model) super().__init__(base_token, base_model)
self.filename = filename self.filename = filename
@ -33,13 +33,13 @@ class LocalAuthStore(BaseAuthStore):
return data["token"] return data["token"]
@property @property
def model(self) -> Union[User, Admin, None]: def model(self) -> User | Admin | None:
data = self._storage_get(self.complete_filepath) data = self._storage_get(self.complete_filepath)
if not data or not "model" in data: if not data or not "model" in data:
return None return None
return data["model"] return data["model"]
def save(self, token: str = "", model: Optional[Union[User, Admin]] = None) -> None: def save(self, token: str = "", model: User | Admin | None = None) -> None:
self._storage_set(self.complete_filepath, {"token": token, "model": model}) self._storage_set(self.complete_filepath, {"token": token, "model": model})
super().save(token, model) super().save(token, model)