feat: billing guest access
This commit is contained in:
@@ -11,3 +11,4 @@ from .role import role_router
|
||||
from .marketplace import marketplace_router
|
||||
from .payroll import payroll_router
|
||||
from .time_tracking import time_tracking_router
|
||||
from .billing import billing_router
|
||||
|
||||
@@ -4,19 +4,14 @@ from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from backend.session import get_session
|
||||
from schemas.barcode import (GetBarcodeTemplateByIdResponse,
|
||||
GetBarcodeTemplateByIdRequest,
|
||||
BarcodeTemplateCreateResponse,
|
||||
BarcodeTemplateCreateRequest, GetAllBarcodeTemplateAttributesResponse,
|
||||
CreateBarcodeTemplateAttributeResponse, CreateBarcodeTemplateAttributeRequest,
|
||||
BarcodeTemplateUpdateResponse, BarcodeTemplateUpdateRequest,
|
||||
GetAllBarcodeTemplatesResponse, BarcodeTemplateDeleteRequest,
|
||||
BarcodeTemplateDeleteResponse, GetAllBarcodeTemplateSizesResponse)
|
||||
from schemas.barcode import *
|
||||
from services.auth import authorized_user, guest_user
|
||||
from services.barcode import BarcodeService
|
||||
|
||||
barcode_router = APIRouter(
|
||||
prefix='/barcode',
|
||||
tags=['barcode'],
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
51
routers/billing.py
Normal file
51
routers/billing.py
Normal file
@@ -0,0 +1,51 @@
|
||||
from fastapi import APIRouter
|
||||
|
||||
from backend.dependecies import SessionDependency, CurrentUserDependency
|
||||
from external.billing import BillStatusUpdateRequest
|
||||
from schemas.billing import *
|
||||
from services.billing import BillingService
|
||||
|
||||
billing_router = APIRouter(
|
||||
prefix='/billing',
|
||||
tags=['billing']
|
||||
)
|
||||
|
||||
|
||||
@billing_router.post(
|
||||
'/webhook'
|
||||
)
|
||||
async def webhook(
|
||||
request: BillStatusUpdateRequest,
|
||||
session: SessionDependency
|
||||
):
|
||||
try:
|
||||
await BillingService(session).process_update(request)
|
||||
return {'ok': True}
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return {'ok': False}
|
||||
|
||||
|
||||
@billing_router.post(
|
||||
'/create-deal-bill',
|
||||
operation_id='create_deal_bill',
|
||||
response_model=CreateDealBillResponse
|
||||
)
|
||||
async def create_deal_bill(
|
||||
session: SessionDependency,
|
||||
request: CreateDealBillRequest,
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await BillingService(session).create_deal_billing(user, request)
|
||||
|
||||
|
||||
@billing_router.get(
|
||||
'/deal-bill-request/{deal_id}',
|
||||
response_model=GetDealBillById,
|
||||
operation_id='get_deal_bill_by_id'
|
||||
)
|
||||
async def get_deal_bill_by_id(
|
||||
deal_id: int,
|
||||
session: SessionDependency
|
||||
):
|
||||
return await BillingService(session).get_deal_bill_by_id(deal_id)
|
||||
@@ -6,13 +6,13 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from backend.session import get_session
|
||||
from models import User
|
||||
from schemas.client import *
|
||||
from services.auth import get_current_user
|
||||
from services.auth import get_current_user, authorized_user
|
||||
from services.client import ClientService
|
||||
|
||||
client_router = APIRouter(
|
||||
prefix="/client",
|
||||
tags=['client'],
|
||||
dependencies=[Depends(get_current_user)]
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
183
routers/deal.py
183
routers/deal.py
@@ -3,22 +3,24 @@ from typing import Annotated
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from backend.dependecies import SessionDependency
|
||||
from backend.dependecies import SessionDependency, CurrentUserDependency
|
||||
from backend.session import get_session
|
||||
from models import User
|
||||
from schemas.deal import *
|
||||
from services.auth import get_current_user
|
||||
from services.auth import get_current_user, authorized_user, guest_user
|
||||
from services.deal import DealService
|
||||
|
||||
deal_router = APIRouter(
|
||||
prefix='/deal',
|
||||
tags=['deal'],
|
||||
dependencies=[Depends(get_current_user)]
|
||||
)
|
||||
|
||||
|
||||
# region Deal
|
||||
@deal_router.post('/create')
|
||||
@deal_router.post(
|
||||
'/create',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def create(
|
||||
request: DealCreateRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
@@ -30,7 +32,8 @@ async def create(
|
||||
@deal_router.post(
|
||||
'/delete',
|
||||
response_model=DealDeleteResponse,
|
||||
operation_id='deleteDeal'
|
||||
operation_id='deleteDeal',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def delete(
|
||||
request: DealDeleteRequest,
|
||||
@@ -39,7 +42,11 @@ async def delete(
|
||||
return await DealService(session).delete(request)
|
||||
|
||||
|
||||
@deal_router.post('/quickCreate', response_model=DealQuickCreateResponse)
|
||||
@deal_router.post(
|
||||
'/quickCreate',
|
||||
response_model=DealQuickCreateResponse,
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def quick_create(
|
||||
request: DealQuickCreateRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
@@ -48,7 +55,11 @@ async def quick_create(
|
||||
return await DealService(session).quick_create(request, user)
|
||||
|
||||
|
||||
@deal_router.post('/changeStatus', response_model=DealChangeStatusResponse)
|
||||
@deal_router.post(
|
||||
'/changeStatus',
|
||||
response_model=DealChangeStatusResponse,
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def change_status(
|
||||
request: DealChangeStatusRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
@@ -57,10 +68,12 @@ async def change_status(
|
||||
return await DealService(session).change_status_manual(request, user)
|
||||
|
||||
|
||||
@deal_router.get('/summaries',
|
||||
response_model=DealSummaryResponse,
|
||||
operation_id='getDealSummaries'
|
||||
)
|
||||
@deal_router.get(
|
||||
'/summaries',
|
||||
response_model=DealSummaryResponse,
|
||||
operation_id='getDealSummaries',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def get_summary(
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
):
|
||||
@@ -70,7 +83,8 @@ async def get_summary(
|
||||
@deal_router.post(
|
||||
'/summaries/reorder',
|
||||
response_model=DealSummaryResponse,
|
||||
operation_id='reorderDealSummaries'
|
||||
operation_id='reorderDealSummaries',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def reorder(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
@@ -83,7 +97,8 @@ async def reorder(
|
||||
@deal_router.get(
|
||||
'/get-all',
|
||||
response_model=DealGetAllResponse,
|
||||
operation_id='getAllDeals'
|
||||
operation_id='getAllDeals',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def get_all(
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
@@ -95,19 +110,22 @@ async def get_all(
|
||||
@deal_router.get(
|
||||
'/get/{deal_id}',
|
||||
response_model=DealSchema,
|
||||
operation_id='getDealById'
|
||||
operation_id='getDealById',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def get_deal_by_id(
|
||||
deal_id: int,
|
||||
user: CurrentUserDependency,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
):
|
||||
return await DealService(session).get_by_id(deal_id)
|
||||
return await DealService(session).get_by_id(user, deal_id)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/update-general-info',
|
||||
response_model=DealUpdateGeneralInfoResponse,
|
||||
operation_id='updateDealGeneralInfo'
|
||||
operation_id='updateDealGeneralInfo',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def update_general_info(
|
||||
request: DealUpdateGeneralInfoRequest,
|
||||
@@ -115,16 +133,34 @@ async def update_general_info(
|
||||
):
|
||||
return await DealService(session).update_general_info(request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/add-kit',
|
||||
response_model=DealAddKitResponse,
|
||||
operation_id='add_kit_to_deal'
|
||||
|
||||
)
|
||||
async def add_kit_to_deal(
|
||||
session:SessionDependency,
|
||||
request:DealAddKitRequest
|
||||
session: SessionDependency,
|
||||
request: DealAddKitRequest
|
||||
):
|
||||
return await DealService(session).add_kit_to_deal(request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/create-guest-url',
|
||||
response_model=DealCreateGuestUrlResponse,
|
||||
operation_id='create_deal_guest_url',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def create_guest_url(
|
||||
session: SessionDependency,
|
||||
request: DealCreateGuestUrlRequest,
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return DealService(session).create_guest_url(user, request)
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Deal services
|
||||
@@ -132,11 +168,12 @@ async def add_kit_to_deal(
|
||||
@deal_router.post(
|
||||
'/services/add/multiple',
|
||||
response_model=DealAddServicesResponse,
|
||||
operation_id='addMultipleDealServices'
|
||||
operation_id='addMultipleDealServices',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def services_add(
|
||||
request: DealAddServicesRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
):
|
||||
return await DealService(session).add_services(request)
|
||||
|
||||
@@ -144,73 +181,86 @@ async def services_add(
|
||||
@deal_router.post(
|
||||
'/services/add',
|
||||
response_model=DealAddServiceResponse,
|
||||
operation_id='addDealService'
|
||||
operation_id='addDealService',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def services_add(
|
||||
request: DealAddServiceRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).add_service(request)
|
||||
return await DealService(session).add_service(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/services/update-quantity',
|
||||
response_model=DealUpdateServiceQuantityResponse,
|
||||
operation_id='updateDealServiceQuantity'
|
||||
operation_id='updateDealServiceQuantity',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def services_update_quantity(
|
||||
request: DealUpdateServiceQuantityRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
|
||||
):
|
||||
return await DealService(session).update_service_quantity(request)
|
||||
return await DealService(session).update_service_quantity(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/services/update',
|
||||
response_model=DealUpdateServiceResponse,
|
||||
operation_id='updateDealService'
|
||||
operation_id='updateDealService',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def services_update(
|
||||
request: DealUpdateServiceRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).update_service(request)
|
||||
return await DealService(session).update_service(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/services/delete',
|
||||
response_model=DealDeleteServiceResponse,
|
||||
operation_id='deleteDealService'
|
||||
operation_id='deleteDealService',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def services_delete(
|
||||
request: DealDeleteServiceRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).delete_service(request)
|
||||
return await DealService(session).delete_service(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/services/delete/multiple',
|
||||
response_model=DealDeleteServicesResponse,
|
||||
operation_id='deleteMultipleDealServices'
|
||||
operation_id='deleteMultipleDealServices',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def services_delete(
|
||||
request: DealDeleteServicesRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).delete_services(request)
|
||||
return await DealService(session).delete_services(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/services/copy',
|
||||
response_model=DealServicesCopyResponse,
|
||||
operation_id='copy_product_services'
|
||||
operation_id='copy_product_services',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def services_copy(
|
||||
session: SessionDependency,
|
||||
request: DealServicesCopyRequest
|
||||
request: DealServicesCopyRequest,
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).copy_services(request)
|
||||
return await DealService(session).copy_services(user, request)
|
||||
|
||||
|
||||
# endregion
|
||||
@@ -219,63 +269,84 @@ async def services_copy(
|
||||
@deal_router.post(
|
||||
'/products/update-quantity',
|
||||
response_model=DealUpdateProductQuantityResponse,
|
||||
operation_id='updateDealProductQuantity')
|
||||
operation_id='updateDealProductQuantity',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def products_update(
|
||||
request: DealUpdateProductQuantityRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]):
|
||||
return await DealService(session).update_product_quantity(request)
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).update_product_quantity(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/products/add',
|
||||
response_model=DealAddProductResponse,
|
||||
operation_id='addDealProduct')
|
||||
operation_id='addDealProduct',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def products_add(
|
||||
request: DealAddProductRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]):
|
||||
return await DealService(session).add_product(request)
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).add_product(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/products/delete',
|
||||
response_model=DealDeleteProductResponse,
|
||||
operation_id='deleteDealProduct')
|
||||
operation_id='deleteDealProduct',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def products_delete(
|
||||
request: DealDeleteProductRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]):
|
||||
return await DealService(session).delete_product(request)
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
|
||||
):
|
||||
return await DealService(session).delete_product(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/products/delete/multiple',
|
||||
response_model=DealDeleteProductsResponse,
|
||||
operation_id='deleteMultipleDealProducts')
|
||||
operation_id='deleteMultipleDealProducts',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def products_delete(
|
||||
request: DealDeleteProductsRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]):
|
||||
return await DealService(session).delete_products(request)
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).delete_products(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/product/update',
|
||||
response_model=DealUpdateProductResponse,
|
||||
operation_id='updateDealProduct'
|
||||
operation_id='updateDealProduct',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def products_update(
|
||||
request: DealUpdateProductRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).update_product(request)
|
||||
return await DealService(session).update_product(user, request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/product/add-kit',
|
||||
response_model=DealProductAddKitResponse,
|
||||
operation_id='add_kit_to_deal_product'
|
||||
operation_id='add_kit_to_deal_product',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def add_kit_to_deal_product(
|
||||
session: SessionDependency,
|
||||
request: DealProductAddKitRequest
|
||||
request: DealProductAddKitRequest,
|
||||
user: CurrentUserDependency
|
||||
):
|
||||
return await DealService(session).add_kit_to_deal_product(request)
|
||||
return await DealService(session).add_kit_to_deal_product(user, request)
|
||||
# endregion
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from backend.dependecies import SessionDependency
|
||||
from schemas.marketplace import *
|
||||
from services.auth import authorized_user
|
||||
from services.marketplace import MarketplaceService
|
||||
|
||||
marketplace_router = APIRouter(
|
||||
prefix="/marketplace",
|
||||
tags=["marketplace"]
|
||||
tags=["marketplace"],
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from backend.dependecies import SessionDependency, PaginationDependency, CurrentUserDependency
|
||||
from schemas.finances import CreatePayRateRequest, UpdatePayRateRequest, DeletePayRateRequest, \
|
||||
@@ -6,11 +6,13 @@ from schemas.finances import CreatePayRateRequest, UpdatePayRateRequest, DeleteP
|
||||
DeletePayRateResponse
|
||||
from schemas.payment_record import GetPaymentRecordsResponse, CreatePaymentRecordResponse, CreatePaymentRecordRequest, \
|
||||
DeletePaymentRecordResponse, DeletePaymentRecordRequest
|
||||
from services.auth import authorized_user
|
||||
from services.payroll import PayrollService
|
||||
|
||||
payroll_router = APIRouter(
|
||||
prefix="/payroll",
|
||||
tags=["payroll"]
|
||||
tags=["payroll"],
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from backend.dependecies import SessionDependency
|
||||
from schemas.position import *
|
||||
from services.auth import authorized_user
|
||||
from services.position import PositionService
|
||||
|
||||
position_router = APIRouter(
|
||||
prefix="/position",
|
||||
tags=["position"]
|
||||
tags=["position"],
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -6,18 +6,20 @@ from fastapi import APIRouter, Depends, UploadFile
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
import utils.dependecies
|
||||
from backend.dependecies import CurrentUserDependency
|
||||
from backend.session import get_session
|
||||
from schemas.barcode import GetProductBarcodeResponse, GetProductBarcodeRequest, GetProductBarcodePdfResponse, \
|
||||
GetProductBarcodePdfRequest
|
||||
from schemas.base import PaginationSchema
|
||||
from schemas.product import *
|
||||
from services.auth import guest_user
|
||||
from services.barcode import BarcodeService
|
||||
from services.product import ProductService
|
||||
|
||||
product_router = APIRouter(
|
||||
prefix="/product",
|
||||
tags=["product"],
|
||||
# dependencies=[Depends(get_current_user)]
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
|
||||
|
||||
@@ -28,7 +30,7 @@ product_router = APIRouter(
|
||||
)
|
||||
async def create_product(
|
||||
request: ProductCreateRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
):
|
||||
return await ProductService(session).create(request)
|
||||
|
||||
@@ -146,9 +148,7 @@ async def get_product_barcode_pdf(
|
||||
filename=filename,
|
||||
mime_type='application/pdf'
|
||||
)
|
||||
# return StreamingResponse(content=pdf_buffer,
|
||||
# media_type='application/pdf',
|
||||
# headers={"Content-Disposition": f"inline; filename={filename}"})
|
||||
|
||||
|
||||
|
||||
@product_router.post(
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from backend.dependecies import SessionDependency
|
||||
from schemas.role import *
|
||||
from services.auth import authorized_user
|
||||
from services.role import RoleService
|
||||
|
||||
role_router = APIRouter(
|
||||
prefix='/role',
|
||||
tags=['role']
|
||||
tags=['role'],
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -6,22 +6,23 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
||||
import enums.service
|
||||
from backend.dependecies import SessionDependency
|
||||
from backend.session import get_session
|
||||
from schemas.base import BaseEnumSchema, BaseEnumListSchema
|
||||
from schemas.base import BaseEnumListSchema
|
||||
from schemas.service import *
|
||||
from services.auth import get_current_user
|
||||
from services.auth import guest_user, authorized_user
|
||||
from services.service import ServiceService
|
||||
|
||||
service_router = APIRouter(
|
||||
prefix="/service",
|
||||
tags=['service'],
|
||||
dependencies=[Depends(get_current_user)]
|
||||
)
|
||||
|
||||
|
||||
@service_router.get(
|
||||
'/get-all',
|
||||
response_model=ServiceGetAllResponse,
|
||||
operation_id="get_all_services"
|
||||
operation_id="get_all_services",
|
||||
dependencies=[Depends(guest_user)]
|
||||
|
||||
)
|
||||
async def get_all(
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
@@ -32,7 +33,8 @@ async def get_all(
|
||||
@service_router.post(
|
||||
'/create',
|
||||
response_model=ServiceCreateResponse,
|
||||
operation_id="create_service"
|
||||
operation_id="create_service",
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def create(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
@@ -44,7 +46,8 @@ async def create(
|
||||
@service_router.post(
|
||||
'/update',
|
||||
response_model=ServiceUpdateResponse,
|
||||
operation_id="update_service"
|
||||
operation_id="update_service",
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def update(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
@@ -56,7 +59,8 @@ async def update(
|
||||
@service_router.post(
|
||||
'/delete',
|
||||
response_model=ServiceDeleteResponse,
|
||||
operation_id="delete_service"
|
||||
operation_id="delete_service",
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def delete(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
@@ -68,7 +72,8 @@ async def delete(
|
||||
@service_router.get(
|
||||
'/categories/get-all',
|
||||
response_model=ServiceGetAllCategoriesResponse,
|
||||
operation_id="get_all_service_categories"
|
||||
operation_id="get_all_service_categories",
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def get_all_categories(
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
@@ -79,7 +84,8 @@ async def get_all_categories(
|
||||
@service_router.post(
|
||||
'/categories/create',
|
||||
response_model=ServiceCreateCategoryResponse,
|
||||
operation_id="create_service_category"
|
||||
operation_id="create_service_category",
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def create_category(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
@@ -91,7 +97,8 @@ async def create_category(
|
||||
@service_router.get(
|
||||
'/types/get-all',
|
||||
response_model=BaseEnumListSchema,
|
||||
operation_id="get_all_service_types"
|
||||
operation_id="get_all_service_types",
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def get_all_service_types(
|
||||
):
|
||||
@@ -104,7 +111,8 @@ async def get_all_service_types(
|
||||
@service_router.get(
|
||||
'/kits/get-all',
|
||||
response_model=GetAllServicesKitsResponse,
|
||||
operation_id='get_all_services_kits'
|
||||
operation_id='get_all_services_kits',
|
||||
dependencies=[Depends(guest_user)]
|
||||
)
|
||||
async def get_all_services_kits(
|
||||
session: SessionDependency
|
||||
@@ -115,7 +123,8 @@ async def get_all_services_kits(
|
||||
@service_router.post(
|
||||
'/kits/create',
|
||||
response_model=CreateServicesKitResponse,
|
||||
operation_id='create_services_kit'
|
||||
operation_id='create_services_kit',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def create_services_kit(
|
||||
session: SessionDependency,
|
||||
@@ -127,7 +136,8 @@ async def create_services_kit(
|
||||
@service_router.post(
|
||||
'/kits/update',
|
||||
response_model=UpdateServicesKitResponse,
|
||||
operation_id='update_services_kit'
|
||||
operation_id='update_services_kit',
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
async def update_services_kit(
|
||||
session: SessionDependency,
|
||||
|
||||
@@ -5,13 +5,13 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from backend.session import get_session
|
||||
from schemas.shipping_warehouse import GetAllShippingWarehousesResponse
|
||||
from services.auth import get_current_user
|
||||
from services.auth import authorized_user
|
||||
from services.shipping_warehouse import ShippingWarehouseService
|
||||
|
||||
shipping_warehouse_router = APIRouter(
|
||||
prefix="/shipping-warehouse",
|
||||
tags=["shipping-warehouse"],
|
||||
dependencies=[Depends(get_current_user)]
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from backend.dependecies import SessionDependency, CurrentUserDependency
|
||||
from schemas.time_tracking import *
|
||||
from services.auth import authorized_user
|
||||
from services.time_tracking import TimeTrackingService
|
||||
|
||||
time_tracking_router = APIRouter(
|
||||
prefix="/time-tracking",
|
||||
tags=["time-tracking"]
|
||||
tags=["time-tracking"],
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Depends
|
||||
|
||||
from backend.dependecies import SessionDependency
|
||||
from schemas.user import *
|
||||
from services.auth import authorized_user
|
||||
from services.user import UserService
|
||||
|
||||
user_router = APIRouter(
|
||||
prefix="/user",
|
||||
tags=["user"]
|
||||
tags=["user"],
|
||||
dependencies=[Depends(authorized_user)]
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user