Fix: Account creation failed because of missing code.

Chore: Some more mypy settings and their fixes.
This commit is contained in:
Amritanshu Agrawal 2021-12-17 05:43:58 +05:30
parent 0b9ffc652b
commit d27d1076ce
13 changed files with 53 additions and 40 deletions

View File

@ -55,17 +55,18 @@ class AccountBase(Base):
def __init__(
self,
code: int,
name: str,
type_id: int,
is_starred: bool,
is_active: bool,
is_reconcilable: bool,
cost_centre_id: uuid.UUID,
code: Optional[int] = None,
id_: Optional[uuid.UUID] = None,
is_fixture: bool = False,
) -> None:
self.code = code
if code is not None:
self.code = code
self.name = name
self.type_id = type_id
self.is_starred = is_starred

View File

@ -127,10 +127,10 @@ async def show_list(user: UserToken = Depends(get_user)) -> List[schemas.Account
@router.get("/query", response_model=List[schemas.AccountLink])
async def show_term(
q: str,
t: int = None, # AccountType
r: bool = None, # Reconcilable
a: bool = None, # Active
c: int = None, # Count
t: Optional[int] = None, # AccountType
r: Optional[bool] = None, # Reconcilable
a: Optional[bool] = None, # Active
c: Optional[int] = None, # Count
current_user: UserToken = Depends(get_user),
) -> List[schemas.AccountLink]:
list_: List[schemas.AccountLink] = []
@ -158,7 +158,7 @@ async def show_term(
@router.get("/{id_}/balance", response_model=AccountBalance)
async def show_balance(
id_: uuid.UUID,
d: str = None,
d: Optional[str] = None,
user: UserToken = Depends(get_user),
) -> AccountBalance:
date_ = None if d is None or d == "" else datetime.strptime(d, "%d-%b-%Y")

View File

@ -1,7 +1,7 @@
import uuid
from datetime import datetime
from typing import List
from typing import List, Optional
import brewman.schemas.employee as schemas
@ -131,7 +131,7 @@ async def show_list(user: UserToken = Depends(get_user)) -> List[schemas.Employe
@router.get("/query", response_model=List[schemas.EmployeeLink])
async def show_term(
q: str,
c: int = None,
c: Optional[int] = None,
current_user: UserToken = Depends(get_user),
) -> List[schemas.EmployeeLink]:
list_: List[schemas.EmployeeLink] = []

View File

@ -1,7 +1,7 @@
import uuid
from datetime import date, datetime
from typing import List
from typing import List, Optional
import brewman.schemas.employee_attendance as schemas
@ -39,8 +39,8 @@ def show_blank(
def employee_attendance_report(
id_: uuid.UUID,
request: Request,
s: str = None,
f: str = None,
s: Optional[str] = None,
f: Optional[str] = None,
user: UserToken = Security(get_user, scopes=["attendance"]),
) -> schemas.EmployeeAttendance:
with SessionFuture() as db:

View File

@ -206,7 +206,7 @@ def get_id(
@router.get("", response_model=output.Voucher)
def show_blank(
request: Request,
d: str = None,
d: Optional[str] = None,
user: UserToken = Security(get_user, scopes=["incentive"]),
) -> output.Voucher:
additional_info = BlankVoucherInfo(date=d or get_date(request.session), type=VoucherType.INCENTIVE)

View File

@ -381,9 +381,9 @@ def get_id(
@router.get("", response_model=output.Voucher)
def show_blank(
request: Request,
date: str = None,
source: uuid.UUID = None,
destination: uuid.UUID = None,
date: Optional[str] = None,
source: Optional[uuid.UUID] = None,
destination: Optional[uuid.UUID] = None,
user: UserToken = Security(get_user, scopes=["issue"]),
) -> output.Voucher:
date_ = date or get_date(request.session)

View File

@ -1,7 +1,7 @@
import uuid
from datetime import datetime
from typing import List
from typing import List, Optional
import brewman.schemas.input as schema_in
import brewman.schemas.voucher as output
@ -190,7 +190,7 @@ def get_id(
@router.get("", response_model=output.Voucher)
def show_blank(
request: Request,
a: uuid.UUID = None,
a: Optional[uuid.UUID] = None,
user: UserToken = Security(get_user, scopes=["journal"]),
) -> output.Voucher:
if request.scope.get("path") == "/api/payment":

View File

@ -193,9 +193,9 @@ def show_list(user: UserToken = Depends(get_user)) -> List[schemas.Product]:
@router.get("/q-sku", response_model=List[ProductSku])
async def show_term_sku(
q: str = None, # Query
a: bool = None, # Active
p: bool = None, # Is Purchased?
q: Optional[str] = None, # Query
a: Optional[bool] = None, # Active
p: Optional[bool] = None, # Is Purchased?
v: Optional[uuid.UUID] = None, # Vendor
d: Optional[str] = None, # Date
current_user: UserToken = Depends(get_user),

View File

@ -2,11 +2,11 @@ from datetime import date, datetime
from typing import Optional
def report_start_date(s: str = None) -> Optional[date]:
def report_start_date(s: Optional[str] = None) -> Optional[date]:
return None if s is None else datetime.strptime(s, "%d-%b-%Y").date()
def report_finish_date(f: str = None) -> Optional[date]:
def report_finish_date(f: Optional[str] = None) -> Optional[date]:
return None if f is None else datetime.strptime(f, "%d-%b-%Y").date()

View File

@ -1,7 +1,7 @@
import datetime
import uuid
from typing import List
from typing import List, Optional
import brewman.schemas.ledger as schemas
@ -40,8 +40,8 @@ def show_blank(
def show_data(
id_: uuid.UUID,
request: Request,
s: str = None,
f: str = None,
s: Optional[str] = None,
f: Optional[str] = None,
user: UserToken = Security(get_user, scopes=["ledger"]),
) -> schemas.Ledger:
with SessionFuture() as db:

View File

@ -2,7 +2,7 @@ import uuid
from datetime import date, datetime
from decimal import Decimal
from typing import List, Tuple
from typing import List, Optional, Tuple
import brewman.schemas.product_ledger as schemas
@ -44,8 +44,8 @@ def show_blank(
def show_data(
id_: uuid.UUID,
request: Request,
s: str = None,
f: str = None,
s: Optional[str] = None,
f: Optional[str] = None,
user: UserToken = Security(get_user, scopes=["product-ledger"]),
) -> schemas.ProductLedger:
with SessionFuture() as db:

View File

@ -1,7 +1,7 @@
import uuid
from datetime import date, datetime
from typing import List
from typing import List, Optional
import brewman.schemas.reconcile as schemas
@ -40,8 +40,8 @@ def show_blank(
def show_data(
id_: uuid.UUID,
request: Request,
s: str = None,
f: str = None,
s: Optional[str] = None,
f: Optional[str] = None,
user: UserToken = Security(get_user, scopes=["reconcile"]),
) -> schemas.Reconcile:
with SessionFuture() as db:
@ -152,8 +152,8 @@ def save(
id_: uuid.UUID,
data: schemas.Reconcile,
request: Request,
s: str = None,
f: str = None,
s: Optional[str] = None,
f: Optional[str] = None,
user: UserToken = Security(get_user, scopes=["reconcile"]),
) -> schemas.Reconcile:
with SessionFuture() as db:

View File

@ -7,16 +7,16 @@ authors = ["tanshu <git@tanshu.com>"]
[tool.poetry.dependencies]
python = "^3.8"
uvicorn = {extras = ["standard"], version = "^0.15.0"}
fastapi = "^0.70.0"
fastapi = "^0.70.1"
python-jose = {extras = ["cryptography"], version = "^3.3.0"}
passlib = {extras = ["bcrypt"], version = "^1.7.4"}
psycopg2-binary = "^2.9.1"
SQLAlchemy = {extras = ["mypy"], version = "^1.4.26"}
psycopg2-binary = "^2.9.2"
SQLAlchemy = {extras = ["mypy"], version = "^1.4.28"}
python-multipart = "^0.0.5"
PyJWT = "^2.3.0"
alembic = "^1.7.4"
alembic = "^1.7.5"
itsdangerous = "^2.0.1"
python-dotenv = "^0.19.1"
python-dotenv = "^0.19.2"
pydantic = {extras = ["dotenv"], version = "^1.8.2"}
starlette = "^0.16.0"
@ -33,10 +33,22 @@ build-backend = "poetry.core.masonry.api"
[tool.mypy]
# --strict
disallow_any_generics = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
warn_unused_configs = true
strict_equality = true
plugins = ["sqlalchemy.ext.mypy.plugin"]
# --strict end
[tool.isort]
profile = "black"