|
@@ -40,6 +40,18 @@ async def check_token(access_token: str):
|
|
|
IMAGEDIR = "/var/www/ntcri/assets/"
|
|
|
IMAGEDIR_short = "assets/"
|
|
|
|
|
|
+async def check_token(access_token: str):
|
|
|
+
|
|
|
+ result = await User.filter(token=access_token).first()
|
|
|
+
|
|
|
+ if not result:
|
|
|
+ print("no access")
|
|
|
+ return None
|
|
|
+
|
|
|
+ user_id = result.id
|
|
|
+
|
|
|
+ return user_id
|
|
|
+
|
|
|
async def update_location_time(location_id: int):
|
|
|
if location_id:
|
|
|
school = await Schools.get(id=location_id)
|
|
@@ -55,9 +67,14 @@ async def insert_school(
|
|
|
address : str = Form(default=''),
|
|
|
introduction : str = Form(default=''),
|
|
|
email : str = Form(default=''),
|
|
|
- phone : str = Form(default='')
|
|
|
+ phone : str = Form(default=''),
|
|
|
+ access_token:str = Form(default=None)
|
|
|
):
|
|
|
try:
|
|
|
+ user_id = None
|
|
|
+ if access_token:
|
|
|
+ user_id = await check_token(access_token)
|
|
|
+
|
|
|
new_school = await Schools.create(
|
|
|
name=location_name,
|
|
|
longitude=Lng,
|
|
@@ -66,7 +83,8 @@ async def insert_school(
|
|
|
update_time = datetime.now(),
|
|
|
introduction = introduction ,
|
|
|
email= email,
|
|
|
- phone = phone
|
|
|
+ phone = phone,
|
|
|
+ create_user_id = user_id
|
|
|
)
|
|
|
|
|
|
return {"msg": "success", "code": 200, "location_id": new_school.id}
|
|
@@ -86,7 +104,8 @@ async def insert_class_name(
|
|
|
recommend: int = Form(default=0),
|
|
|
special_class_list_name : str = Form(default=None),
|
|
|
is_inner : int = Form(default=1),
|
|
|
- is_check : int = Form(default=1)
|
|
|
+ is_check : int = Form(default=1),
|
|
|
+ access_token:str = Form(default=None)
|
|
|
):
|
|
|
try:
|
|
|
cover_img = ''
|
|
@@ -99,6 +118,10 @@ async def insert_class_name(
|
|
|
|
|
|
cover_img = f"{IMAGEDIR_short}{cover_img_file.filename}"
|
|
|
|
|
|
+ user_id = None
|
|
|
+ if access_token:
|
|
|
+ user_id = await check_token(access_token)
|
|
|
+
|
|
|
new_class_name = await Class_name.create(
|
|
|
name=name,
|
|
|
school_id=location_id,
|
|
@@ -111,7 +134,8 @@ async def insert_class_name(
|
|
|
recommend = recommend,
|
|
|
special_class_list_name = special_class_list_name,
|
|
|
is_inner = is_inner,
|
|
|
- is_check = is_check
|
|
|
+ is_check = is_check,
|
|
|
+ create_user_id = user_id
|
|
|
)
|
|
|
update_location_time(location_id= location_id)
|
|
|
return {"msg": "success", "code": 200, "new_class_name_id": new_class_name.id}
|
|
@@ -136,10 +160,15 @@ async def insert_event(
|
|
|
registration_end: datetime = Form(default=datetime.now()),
|
|
|
number_limit: int = Form(default=0),
|
|
|
remark : str = Form(default='詳細 請至觀看課程資訊 查看'),
|
|
|
- ATM_address: str = Form(default='')
|
|
|
+ ATM_address: str = Form(default=''),
|
|
|
+ access_token:str = Form(default=None)
|
|
|
):
|
|
|
try:
|
|
|
|
|
|
+ user_id = None
|
|
|
+ if access_token:
|
|
|
+ user_id = await check_token(access_token)
|
|
|
+
|
|
|
# 檢查是否有該課程
|
|
|
class_name_list = await Class_name.filter(id=name_id).all()
|
|
|
if class_name_list == []:
|
|
@@ -159,7 +188,8 @@ async def insert_event(
|
|
|
fee_method=fee_method,
|
|
|
registration_way=registration_way,
|
|
|
remark=remark,
|
|
|
- ATM_address=ATM_address
|
|
|
+ ATM_address=ATM_address,
|
|
|
+ create_user_id = user_id
|
|
|
)
|
|
|
try:
|
|
|
await Class_date.create(
|
|
@@ -583,7 +613,8 @@ async def check_date_state(
|
|
|
@classes.get("/get_event")
|
|
|
async def search_event(
|
|
|
class_name_id: Optional[int] = None,
|
|
|
- event_id : Optional[int] = None
|
|
|
+ event_id : Optional[int] = None,
|
|
|
+ access_token: Optional[str] = None
|
|
|
):
|
|
|
try:
|
|
|
try :
|
|
@@ -602,6 +633,12 @@ async def search_event(
|
|
|
else :
|
|
|
return {"msg": "please input class_name_id or event_id", "code": 200}
|
|
|
|
|
|
+ user_id = None
|
|
|
+ if access_token:
|
|
|
+ user_id = await check_token(access_token)
|
|
|
+ if user_id:
|
|
|
+ Q_word = Q_word & Q(create_user_id = user_id)
|
|
|
+
|
|
|
model_fields =[]
|
|
|
state = {}
|
|
|
|
|
@@ -676,7 +713,8 @@ async def get_school(
|
|
|
location_keyword : Optional[str] = None,
|
|
|
page_num : Optional[int] = None,
|
|
|
page_amount : Optional[int] = None,
|
|
|
- category : Optional[str] = None
|
|
|
+ category : Optional[str] = None,
|
|
|
+ access_token: Optional[str] = None
|
|
|
):
|
|
|
try:
|
|
|
school_list = Schools.all()
|
|
@@ -690,6 +728,12 @@ async def get_school(
|
|
|
if location_keyword :
|
|
|
school_list = school_list.filter(Q(address__icontains=location_keyword)).all()
|
|
|
|
|
|
+ user_id = None
|
|
|
+ if access_token:
|
|
|
+ user_id = await check_token(access_token)
|
|
|
+ if user_id:
|
|
|
+ school_list = school_list.filter(Q(create_user_id = user_id)).all()
|
|
|
+
|
|
|
Q_word = Q()
|
|
|
if category:
|
|
|
for tmp_word in category.split(",") :
|
|
@@ -755,7 +799,8 @@ async def get_class_name(
|
|
|
page_amount : Optional[int] = None,
|
|
|
recommend : Optional[int] = None,
|
|
|
is_inner : Optional[int] = None,
|
|
|
- is_check : Optional[int] = None
|
|
|
+ is_check : Optional[int] = None,
|
|
|
+ access_token: Optional[str] = None
|
|
|
):
|
|
|
try:
|
|
|
class_name_list = Class_name.all()
|
|
@@ -786,6 +831,12 @@ async def get_class_name(
|
|
|
if is_check!=None:
|
|
|
Q_word = Q_word & Q(is_check = is_check)
|
|
|
|
|
|
+ user_id = None
|
|
|
+ if access_token:
|
|
|
+ user_id = await check_token(access_token)
|
|
|
+ if user_id:
|
|
|
+ Q_word = Q_word & Q(create_user_id = user_id)
|
|
|
+
|
|
|
class_name_list = class_name_list.filter(Q_word).all()
|
|
|
|
|
|
if exclude_word:
|