feat: リクエストの基底モデルを作成。サニタイズ、エスケープを解除を共通化
This commit is contained in:
parent
89f43e79df
commit
7d74a59320
@ -240,7 +240,8 @@ def search_doc(
|
|||||||
ultmarc = ultmarc_service.prepare_ultmarc_doctor_search_view()
|
ultmarc = ultmarc_service.prepare_ultmarc_doctor_search_view()
|
||||||
ultmarc.is_batch_processing = is_batch_processing
|
ultmarc.is_batch_processing = is_batch_processing
|
||||||
ultmarc.doctor_data = ultmarc_doctor_data
|
ultmarc.doctor_data = ultmarc_doctor_data
|
||||||
ultmarc.form_data = ultmarc_doctor_form
|
# 画面表示用にエスケープを解除して返す
|
||||||
|
ultmarc.form_data = ultmarc_doctor_form.unescape()
|
||||||
|
|
||||||
# セッション書き換え
|
# セッション書き換え
|
||||||
session.update(
|
session.update(
|
||||||
|
|||||||
20
ecs/jskult-webapp/src/model/request/request_base_model.py
Normal file
20
ecs/jskult-webapp/src/model/request/request_base_model.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import html
|
||||||
|
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
from src.util.sanitize import sanitize
|
||||||
|
|
||||||
|
|
||||||
|
@sanitize
|
||||||
|
class RequestBaseModel(BaseModel):
|
||||||
|
"""
|
||||||
|
Webのリクエストを受け取る共通モデルクラス
|
||||||
|
保持するメンバはエスケープされる
|
||||||
|
エスケープを解除するには、unescapeメソッドを使用する
|
||||||
|
"""
|
||||||
|
|
||||||
|
def unescape(self):
|
||||||
|
for k, v in self.dict().items():
|
||||||
|
if v is not None and type(v) is str:
|
||||||
|
setattr(self, k, html.unescape(v))
|
||||||
|
return self
|
||||||
@ -1,13 +1,11 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from fastapi import Form
|
from fastapi import Form
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
from src.util.sanitize import sanitize
|
from src.model.request.request_base_model import RequestBaseModel
|
||||||
|
|
||||||
|
|
||||||
@sanitize
|
class UltmarcDoctorSearchModel(RequestBaseModel):
|
||||||
class UltmarcDoctorSearchModel(BaseModel):
|
|
||||||
dcf_pcf_dr_cd: Optional[str]
|
dcf_pcf_dr_cd: Optional[str]
|
||||||
dr_name: Optional[str]
|
dr_name: Optional[str]
|
||||||
dr_name_kana: Optional[str]
|
dr_name_kana: Optional[str]
|
||||||
@ -54,7 +52,7 @@ class UltmarcDoctorSearchModel(BaseModel):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class UltmarcDoctorInfoModel(BaseModel):
|
class UltmarcDoctorInfoModel(RequestBaseModel):
|
||||||
doc_id: Optional[str]
|
doc_id: Optional[str]
|
||||||
page_num: Optional[int]
|
page_num: Optional[int]
|
||||||
|
|
||||||
|
|||||||
@ -2,13 +2,12 @@ import html
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from fastapi import Form
|
from fastapi import Form
|
||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
from src.util.sanitize import sanitize
|
from src.model.request.request_base_model import RequestBaseModel
|
||||||
|
|
||||||
|
|
||||||
@sanitize
|
# @sanitize
|
||||||
class UltmarcInstSearchModel(BaseModel):
|
class UltmarcInstSearchModel(RequestBaseModel):
|
||||||
dcf_dsf_inst_cd: Optional[str]
|
dcf_dsf_inst_cd: Optional[str]
|
||||||
inst_div_cd: Optional[str]
|
inst_div_cd: Optional[str]
|
||||||
form_inst_name_kanji: Optional[str]
|
form_inst_name_kanji: Optional[str]
|
||||||
@ -54,7 +53,7 @@ class UltmarcInstSearchModel(BaseModel):
|
|||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
||||||
class UltmarcInstInfoModel(BaseModel):
|
class UltmarcInstInfoModel(RequestBaseModel):
|
||||||
inst_id: Optional[str]
|
inst_id: Optional[str]
|
||||||
page_num: Optional[int]
|
page_num: Optional[int]
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user