Merge branch 'main' of https://gitea.o2o.kr/Negosium/o2o-negosium
This commit is contained in:
commit
f924c0aa59
@ -61,8 +61,8 @@ class users(MainTableMixin, MAIN_BASE):
|
||||
email = Column(String(255), nullable=True)
|
||||
contact_number = Column(String(20), nullable=True)
|
||||
last_accessed_at = Column(DateTime, nullable=False, server_default=_utc_now_sql())
|
||||
status = Column(SmallInteger, nullable=False, default=UserStatus.ACTIVE.value) # UserStatus
|
||||
role = Column(SmallInteger, nullable=False, default=UserRole.USER.value) # UserRole
|
||||
status = Column(SmallInteger, nullable=False, default=UserStatus.ACTIVE.value)
|
||||
role = Column(SmallInteger, nullable=False, default=UserRole.USER.value)
|
||||
|
||||
|
||||
class items(MainTableMixin, MAIN_BASE):
|
||||
|
||||
@ -53,6 +53,11 @@ class ErrorType(Enum):
|
||||
# 협상카드 관련 에러
|
||||
CARD_NOT_FOUND = 1700
|
||||
|
||||
# 이미지 업로드 관련 에러
|
||||
IMAGE_INVALID_TYPE = 1800
|
||||
IMAGE_TOO_LARGE = auto()
|
||||
IMAGE_UPLOAD_FAILED = auto()
|
||||
|
||||
|
||||
# ErrorType 의 HTTP_* 값과 status_code 를 맞춰 router 단에서 raise 한다.
|
||||
EXCEPTION_INVALID_CLIENT_REQUEST = HTTPException(status_code=ErrorType.HTTP_INVALID_CLIENT_REQUEST.value, detail=ErrorType.HTTP_INVALID_CLIENT_REQUEST.name)
|
||||
@ -110,25 +115,27 @@ class QuotationType(Enum):
|
||||
class QuotationStatus(Enum):
|
||||
"""quotations.status 코드값(SMALLINT). 프론트 견적상태 뱃지와 매핑된다."""
|
||||
|
||||
CREATED = 1 # 견적생성
|
||||
ACTIVE = 2 # 견적진행중
|
||||
CLOSED = 3 # 견적마감
|
||||
ON_HOLD = 4 # 협상보류
|
||||
CREATED = 1
|
||||
ACTIVE = 2
|
||||
CLOSED = 3
|
||||
ON_HOLD = 4
|
||||
|
||||
|
||||
class SessionStatus(Enum):
|
||||
"""negotiation.sessions.status 코드값. 협력사별 협상 세션 진행 상태."""
|
||||
|
||||
NEGOTIATING = 1 # 협상중
|
||||
COMPLETED = 2 # 협상종료
|
||||
REJECTED = 3 # 협상거부
|
||||
CREATED = 1
|
||||
IN_PROGRESS = 2
|
||||
DONE = 3
|
||||
NOT_PARTICIPATED = 4
|
||||
REJECTED = 5
|
||||
|
||||
|
||||
class ChatSender(Enum):
|
||||
"""negotiation.chats.sender 코드값. 채팅 발신 주체."""
|
||||
|
||||
BOT = 1 # 구매대행 봇
|
||||
PARTNER = 2 # 협력사
|
||||
BOT = 1
|
||||
USER = 2
|
||||
|
||||
|
||||
class DeliveryType(Enum):
|
||||
@ -160,11 +167,13 @@ ENUM_LABELS = {
|
||||
QuotationStatus.ACTIVE: "견적진행중",
|
||||
QuotationStatus.CLOSED: "견적마감",
|
||||
QuotationStatus.ON_HOLD: "협상보류",
|
||||
SessionStatus.NEGOTIATING: "협상중",
|
||||
SessionStatus.COMPLETED: "협상종료",
|
||||
SessionStatus.CREATED: "협상생성",
|
||||
SessionStatus.IN_PROGRESS: "협상중",
|
||||
SessionStatus.DONE: "협상완료",
|
||||
SessionStatus.NOT_PARTICIPATED: "미참여",
|
||||
SessionStatus.REJECTED: "협상거부",
|
||||
ChatSender.BOT: "봇",
|
||||
ChatSender.PARTNER: "협력사",
|
||||
ChatSender.USER: "협력사",
|
||||
DeliveryType.PARTNER: "협력사배송",
|
||||
DeliveryType.COURIER: "지정택배배송",
|
||||
DeliveryType.PICKUP: "픽업배송",
|
||||
|
||||
@ -36,3 +36,12 @@ access_key = "<JWT_ACCESS_SECRET>"
|
||||
refresh_key = "<JWT_REFRESH_SECRET>"
|
||||
access_expire_min = 30
|
||||
refresh_expire_day = 7
|
||||
|
||||
# 상품 이미지 업로드 대상(Azure Blob Storage).
|
||||
# infinith 와 동일 계정/컨테이너 SAS 를 그대로 복사해 쓰고, blob_root 로 디렉터리만 분리한다.
|
||||
# 값 출처: o2o-infinith-backend/.env 의 AZURE_BLOB_BASE_URL / AZURE_BLOB_SAS_TOKEN
|
||||
[StorageConfig]
|
||||
azure_blob_base_url = "<AZURE_BLOB_BASE_URL>"
|
||||
azure_blob_sas_token = "<AZURE_BLOB_SAS_TOKEN>"
|
||||
blob_root = "negodata"
|
||||
max_image_mb = 4
|
||||
|
||||
@ -42,3 +42,13 @@ class JwtToken(ConfigModel):
|
||||
refresh_key: str = ""
|
||||
access_expire_min: int = 30
|
||||
refresh_expire_day: int = 7
|
||||
|
||||
|
||||
# 정적 파일(상품 이미지 등) 저장소 = Azure Blob Storage.
|
||||
# infinith 와 같은 계정/컨테이너 SAS 를 그대로 쓰고, blob_root 로 디렉터리만 분리한다.
|
||||
# SDK 없이 SAS 토큰을 URL 에 붙여 httpx 로 PUT 한다(services/azure_blob_client.py).
|
||||
class StorageConfig(ConfigModel):
|
||||
azure_blob_base_url: str = "" # https://<account>.blob.core.windows.net/<container>
|
||||
azure_blob_sas_token: str = "" # SAS 토큰(쿼리스트링). 만료 있음 — 만료되면 업로드 실패
|
||||
blob_root: str = "negodata" # 컨테이너 내 최상위 디렉터리(infinith 파일과 분리)
|
||||
max_image_mb: int = 4 # 업로드 허용 최대 크기(MB). 프론트 ImageDropzone 와 일치
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import os
|
||||
|
||||
from config.config_loader import Configs
|
||||
from config.config_models import WebServerConfig, LogConfig, MainDBConfig, JwtToken
|
||||
from config.config_models import WebServerConfig, LogConfig, MainDBConfig, JwtToken, StorageConfig
|
||||
|
||||
# 실행 환경 결정 (기본 local). 환경변수 APP_ENV 로 변경.
|
||||
APP_ENV = os.environ.get("APP_ENV", "local")
|
||||
@ -19,6 +19,7 @@ web_server_config: WebServerConfig = configs.get(WebServerConfig)
|
||||
log_config: LogConfig = configs.get(LogConfig)
|
||||
main_db_config: MainDBConfig = configs.get(MainDBConfig)
|
||||
jwt_token_config: JwtToken = configs.get(JwtToken)
|
||||
storage_config: StorageConfig = configs.get(StorageConfig)
|
||||
|
||||
|
||||
# DB 접속 env override (config.local.toml 유지, 도커에서 host 만 교체). 로컬은 env 미설정 → toml 그대로.
|
||||
|
||||
@ -48,6 +48,10 @@ class IQuotationCRUD(ABC):
|
||||
async def list_used_cards(self, cdb: AsyncSession, qt_id) -> Tuple[ErrorType, list]:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def session_counts(self, cdb: AsyncSession, qt_ids) -> Tuple[ErrorType, dict]:
|
||||
pass
|
||||
|
||||
|
||||
class QuotationCRUD(IQuotationCRUD):
|
||||
async def search(
|
||||
@ -88,6 +92,24 @@ class QuotationCRUD(IQuotationCRUD):
|
||||
LOG.e_no_callstack(ex)
|
||||
return ErrorType.DB_RUN_FAILED, [], 0
|
||||
|
||||
async def session_counts(self, cdb: AsyncSession, qt_ids) -> Tuple[ErrorType, dict]:
|
||||
"""견적 id 목록에 대해 참여 협력사 수(distinct supplier)를 한 번에 센다. {qt_id: count}."""
|
||||
try:
|
||||
if not qt_ids:
|
||||
return ErrorType.SUCCESS, {}
|
||||
query = (
|
||||
select(sessions.quotation_id, func.count(func.distinct(sessions.supplier_id)))
|
||||
.where(sessions.quotation_id.in_(qt_ids), sessions.deleted == False) # noqa: E712
|
||||
.group_by(sessions.quotation_id)
|
||||
)
|
||||
err_type, rows = await DB_SESSION_MNG.execute(cdb, query)
|
||||
if err_type != ErrorType.SUCCESS:
|
||||
return err_type, {}
|
||||
return ErrorType.SUCCESS, {r[0]: int(r[1] or 0) for r in rows}
|
||||
except Exception as ex:
|
||||
LOG.e_no_callstack(ex)
|
||||
return ErrorType.DB_RUN_FAILED, {}
|
||||
|
||||
async def get_by_id(self, cdb: AsyncSession, qt_id) -> Tuple[ErrorType, quotations]:
|
||||
try:
|
||||
query = select(quotations).where(quotations.qt_id == qt_id, quotations.deleted == False).limit(1) # noqa: E712
|
||||
@ -159,16 +181,21 @@ class QuotationCRUD(IQuotationCRUD):
|
||||
|
||||
async def list_used_cards(self, cdb: AsyncSession, qt_id) -> Tuple[ErrorType, list]:
|
||||
"""견적의 세션들에서 실제 사용된 카드(chats.card_used_yn)를 카드 카탈로그와 조인.
|
||||
반환: [(chat_row, card_id, name, script), ...].
|
||||
반환: [(chat_row, card_id, number, name, script, edit_script, condition, memo), ...].
|
||||
card_type 1=nego_cards / 2=wild_cards 양쪽을 LEFT JOIN 해서 어느 쪽이든 잡는다.
|
||||
condition/memo 는 wild_cards 에만 있는 컬럼이라 nego 카드면 NULL 로 나온다.
|
||||
"""
|
||||
try:
|
||||
query = (
|
||||
select(
|
||||
chats,
|
||||
func.coalesce(nego_cards.nego_card_id, wild_cards.wild_card_id).label("card_pk"),
|
||||
func.coalesce(nego_cards.number, wild_cards.number).label("card_number"),
|
||||
func.coalesce(nego_cards.name, wild_cards.name).label("card_name"),
|
||||
func.coalesce(nego_cards.script, wild_cards.script).label("card_script"),
|
||||
func.coalesce(nego_cards.edit_script, wild_cards.edit_script).label("card_edit_script"),
|
||||
wild_cards.condition.label("card_condition"),
|
||||
wild_cards.memo.label("card_memo"),
|
||||
)
|
||||
.join(sessions, sessions.session_id == chats.session_id)
|
||||
.outerjoin(nego_cards, and_(nego_cards.nego_card_id == chats.card_id, chats.card_type == 1))
|
||||
|
||||
148
negodata/backend/docs/image-upload-design.md
Normal file
148
negodata/backend/docs/image-upload-design.md
Normal file
@ -0,0 +1,148 @@
|
||||
# 상품 이미지 업로드 설계 보고서
|
||||
|
||||
대상: `negodata/backend` (+ `negodata/front` 연동)
|
||||
작성일: 2026-06-18
|
||||
|
||||
---
|
||||
|
||||
## 0. 결론
|
||||
|
||||
1. **별도 엔드포인트 `POST /v1/item/image` 를 신설한다.** create/update 와 합치지 않는다.
|
||||
2. create/update 는 지금처럼 **JSON 바디** 그대로 두고 `image_url`(짧은 URL 문자열)만 받는다.
|
||||
3. 저장은 **로컬디스크 + StaticFiles** 로 시작하고, 업로드 로직을 service 로 추상화해 추후 S3 로 교체한다.
|
||||
4. DB 스키마(`items.image_url String(255)`) **변경 불필요** — 반환 URL이 짧은 경로이므로 그대로 들어간다.
|
||||
|
||||
---
|
||||
|
||||
## 1. 현재 상태 — 무엇이 되어 있고 무엇이 깨졌나
|
||||
|
||||
| 계층 | 현재 | 비고 |
|
||||
|---|---|---|
|
||||
| DB | `items.image_url = Column(String(255), nullable=True)` | URL **문자열 255자**만 수용 |
|
||||
| protocol | `image_url: Optional[str]` (Create/Update/Data) | [protocol.py:19](../router/v1/item/protocol.py#L19) |
|
||||
| front 컴포넌트 | `ImageDropzone` 가 파일 → `readAsDataURL` → **base64 data URL** 생성 | [ImageDropzone.tsx:50](../../front/src/components/ImageDropzone.tsx#L50) |
|
||||
| front 제출 | `image_url: v.imageUrl \|\| 'https://...unsplash'` | [ProductFormSheet.tsx:154](../../front/src/features/products/components/ProductFormSheet.tsx#L154) |
|
||||
| 저장 인프라 | StaticFiles mount / S3 / upload dir 설정 **전무** | [router.py:61](../router/router.py#L61) 라우터만 include |
|
||||
|
||||
**왜 "구현 안 됨" 인가:**
|
||||
이미지를 실제로 드롭하면 수십 KB짜리 base64 문자열을 `String(255)` 칸에 insert → 길이 초과로 실패/잘림.
|
||||
드롭하지 않으면 unsplash 플레이스홀더가 박힘. 즉 **UI(dropzone)는 있으나 바이너리를 받아 저장하고 짧은 URL을 돌려줄 백엔드 조각이 없다.**
|
||||
|
||||
현재 `UploadFile` 사용처는 엑셀 스텁 2개뿐 — [item.py:54](../router/v1/item/item.py#L54), [supplier.py:54](../router/v1/supplier/supplier.py#L54).
|
||||
|
||||
---
|
||||
|
||||
## 2. 핵심 결정 — 왜 별도 엔드포인트인가
|
||||
|
||||
| 기준 | create 와 합치기 (multipart 한 방) | **별도 엔드포인트 (권장)** |
|
||||
|---|---|---|
|
||||
| 요청 형식 | `multipart/form-data` 강제 → 모든 필드를 `Form()` 수동 파싱 | create/update 는 **JSON pydantic 유지** |
|
||||
| 기존 패턴 | `Req_CreateItem.model_dump(exclude_unset=True)` 흐름 파괴 | 그대로 보존 |
|
||||
| 생성 전 업로드 | 불가 (아이템이 있어야 첨부) | **신규 폼에서 먼저 업로드 → URL 확보** 가능 |
|
||||
| 재사용 | create/update 마다 multipart 중복 | **업로드 1곳**, 협력사 로고 등 확장 |
|
||||
| 생성 클라이언트(orval) | 혼합 바디라 타입 지저분 | 깔끔히 분리 생성 |
|
||||
|
||||
이 코드베이스는 이미 "JSON 바디"와 "multipart 파일"을 **엔드포인트 단위로 분리**해 둠(엑셀 업로드). 동일 원칙을 따른다.
|
||||
|
||||
---
|
||||
|
||||
## 3. 제안 API 계약
|
||||
|
||||
### 3.1 신규 엔드포인트
|
||||
|
||||
```
|
||||
POST /v1/item/image
|
||||
- auth: IsValidAccessToken (company_id 스코프)
|
||||
- body: multipart/form-data, field "file": UploadFile
|
||||
- 검증: content-type image/*, 용량 ≤ 4MB (front ImageDropzone 와 동일 한계)
|
||||
- 동작: 저장 → 짧은 public URL 생성
|
||||
- response_model: Res_ItemImage { image_url: str, ... }
|
||||
```
|
||||
|
||||
create/update 는 **변경 없음** — front 가 위에서 받은 `image_url` 문자열을 기존 JSON 바디에 실어 보낸다.
|
||||
|
||||
### 3.2 protocol 추가 (주석 금지·auth 스타일 유지)
|
||||
|
||||
```python
|
||||
# router/v1/item/protocol.py
|
||||
class Res_ItemImage(Res_WebPacketProtocol):
|
||||
image_url: Optional[str] = None
|
||||
filename: Optional[str] = None
|
||||
size: Optional[int] = None
|
||||
```
|
||||
|
||||
### 3.3 router 스케치
|
||||
|
||||
```python
|
||||
# router/v1/item/item.py
|
||||
@router.post(path="/image", response_model=Res_ItemImage, summary="상품 이미지 업로드")
|
||||
async def upload_item_image(
|
||||
service: ItemService = Depends(),
|
||||
user_info: UserInfo = Depends(IsValidAccessToken),
|
||||
file: UploadFile = File(...),
|
||||
):
|
||||
return RemoveNoneResponse(await service.upload_image(user_info.company_id, file))
|
||||
```
|
||||
|
||||
### 3.4 service 스케치 (저장 추상화 — 여기만 갈아끼우면 S3 전환)
|
||||
|
||||
```python
|
||||
# services/item_service.py
|
||||
async def upload_image(self, company_id: str, file: UploadFile) -> Res_ItemImage:
|
||||
res = Res_ItemImage()
|
||||
# 1) 검증: content_type.startswith("image/"), size ≤ 4MB → 실패 시 res.result.SetResult(...)
|
||||
# 2) 저장: 키 = f"{company_id}/{uuid4()}.{ext}" ← 회사별 디렉터리로 격리
|
||||
# storage.save(key, await file.read()) # 로컬: upload_dir/key, S3: put_object
|
||||
# 3) res.image_url = f"{static_base_url}/items/{key}" ← String(255) 안에 들어가는 짧은 경로
|
||||
return res
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 저장 방식
|
||||
|
||||
| 방식 | 지금 채택 | 비고 |
|
||||
|---|---|---|
|
||||
| **A. 로컬디스크 + StaticFiles** | ✅ now | `app.mount("/static", StaticFiles(directory=upload_dir))` 한 줄. 단일 서버/데모에 충분 |
|
||||
| B. S3 / MinIO / GCS | later | `boto3` 미설치. service 의 `storage.save` 만 교체하면 됨 (CDN URL 반환) |
|
||||
|
||||
> 멀티워커(`process_count`)·다중 인스턴스로 가면 로컬디스크는 인스턴스마다 갈라지므로 **그 시점에 B로 전환**해야 한다. 지금 단계에서는 A로 충분.
|
||||
|
||||
### 4.1 config 추가 제안
|
||||
|
||||
```python
|
||||
# config/config_models.py — 신규 섹션
|
||||
class StorageConfig(ConfigModel):
|
||||
upload_dir: str = "./uploads" # 로컬 저장 루트
|
||||
static_base_url: str = "" # 예: "http://localhost:8000/static"
|
||||
max_image_mb: int = 4 # front ImageDropzone(4MB)와 일치
|
||||
```
|
||||
|
||||
`client_url`(CORS, [config_models.py:10](../config/config_models.py#L10))과 동일하게 `config.local.toml` 에 값을 채운다. `.example` 에도 키 추가.
|
||||
|
||||
---
|
||||
|
||||
## 5. 변경 체크리스트
|
||||
|
||||
**backend**
|
||||
- [ ] `config_models.py` 에 `StorageConfig` 추가 + `config.local.toml(.example)` 키 채움
|
||||
- [ ] `router.py` 에 `app.mount("/static", StaticFiles(...))` (방식 A)
|
||||
- [ ] `protocol.py` 에 `Res_ItemImage` 추가
|
||||
- [ ] `item.py` 에 `POST /v1/item/image` 라우트
|
||||
- [ ] `item_service.py` 에 `upload_image()` + storage 추상화(local 구현)
|
||||
- [ ] 검증 실패용 `ErrorType` (예: `IMAGE_INVALID_TYPE`, `IMAGE_TOO_LARGE`) 추가
|
||||
- [ ] 테스트: `tests/test_item.py` 에 업로드 정상/타입오류/용량초과
|
||||
|
||||
**front**
|
||||
- [ ] orval 재생성 → `POST /v1/item/image` 클라이언트 확보
|
||||
- [ ] `ImageDropzone` 가 base64 대신 **선택 파일을 업로드 호출 → 반환 `image_url`** 을 form `imageUrl` 에 세팅 (미리보기는 로컬 objectURL 유지 가능)
|
||||
- [ ] `ProductFormSheet.tsx:154` 의 unsplash 플레이스홀더 폴백 제거/정리
|
||||
|
||||
---
|
||||
|
||||
## 6. 결정 필요 (열린 질문)
|
||||
|
||||
1. **저장 위치**: 로컬디스크(A)로 시작 확정? 아니면 처음부터 S3? — 권장: A.
|
||||
2. **접근 제어**: `/static` 을 완전 public 으로 둘지, 서명 URL/인증 프록시로 막을지. 상품 이미지가 민감하지 않다면 public 로 충분.
|
||||
3. **이미지 가공**: 업로드 시 리사이즈/webp 변환/썸네일 생성 할지(목록 성능). 1차는 원본 저장만 권장.
|
||||
4. **고아 파일 정리**: 생성 전 업로드 후 폼 취소 시 남는 파일 — 1차는 방치, 추후 배치 정리.
|
||||
@ -9,3 +9,4 @@ orjson
|
||||
pydantic>=2.0
|
||||
python-multipart
|
||||
openpyxl
|
||||
httpx
|
||||
|
||||
@ -33,7 +33,7 @@ class Req_UpdateCard(CardProtocol):
|
||||
memo: Optional[str] = None
|
||||
|
||||
|
||||
# 통합 카드 표현(nego_cards + wild_cards 공통). nego_card_id 는 출처 테이블의 PK 를 그대로 담는다.
|
||||
# 통합 카드 표현(nego_cards + wild_cards 공통).
|
||||
class CardData(WebPacketProtocol):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
@ -11,9 +11,9 @@ from .protocol import (
|
||||
Req_UpdateItem,
|
||||
Res_CheckCodes,
|
||||
Res_DeleteItem,
|
||||
Res_ExcelUpload,
|
||||
Res_Item,
|
||||
Res_ItemCategories,
|
||||
Res_ItemImage,
|
||||
Res_ItemList,
|
||||
Res_LowestPriceResult,
|
||||
Res_LowestPriceTrigger,
|
||||
@ -51,15 +51,13 @@ async def check_item_codes(req: Req_CheckCodes, service: ItemService = Depends()
|
||||
return RemoveNoneResponse(await service.check_codes(user_info.company_id, req.codes))
|
||||
|
||||
|
||||
@router.post(path="/upload-excel", response_model=Res_ExcelUpload, summary="엑셀 일괄 등록(스텁)")
|
||||
async def upload_items_excel(
|
||||
@router.post(path="/image", response_model=Res_ItemImage, summary="상품 이미지 업로드(Azure Blob)")
|
||||
async def upload_item_image(
|
||||
service: ItemService = Depends(),
|
||||
user_info: UserInfo = Depends(IsValidAccessToken),
|
||||
file: UploadFile = File(...),
|
||||
):
|
||||
return RemoveNoneResponse(
|
||||
Res_ExcelUpload(received_filename=file.filename, status="not_implemented", message="엑셀 일괄 등록은 추후 구현")
|
||||
)
|
||||
return RemoveNoneResponse(await service.upload_image(user_info.company_id, file))
|
||||
|
||||
|
||||
@router.get(path="/{item_id}", response_model=Res_Item, summary="상품 조회")
|
||||
|
||||
@ -107,10 +107,10 @@ class Res_DeleteItem(Res_WebPacketProtocol):
|
||||
pass
|
||||
|
||||
|
||||
class Res_ExcelUpload(Res_WebPacketProtocol):
|
||||
received_filename: Optional[str] = None
|
||||
status: str = ""
|
||||
message: str = ""
|
||||
class Res_ItemImage(Res_WebPacketProtocol):
|
||||
image_url: Optional[str] = None
|
||||
filename: Optional[str] = None
|
||||
size: Optional[int] = None
|
||||
|
||||
|
||||
class Res_LowestPriceTrigger(Res_WebPacketProtocol):
|
||||
|
||||
@ -51,6 +51,7 @@ class QuotationData(WebPacketProtocol):
|
||||
preferred_sp_name: Optional[str] = None
|
||||
equal_bid_yn: Optional[bool] = None
|
||||
equal_bid_data: Optional[Any] = None
|
||||
participation_count: int = 0 # 견적별 참여 협력사 수(세션 distinct supplier). 목록 집계로 채움.
|
||||
created_at: Optional[datetime] = None
|
||||
updated_at: Optional[datetime] = None
|
||||
|
||||
@ -143,8 +144,12 @@ class QuotationCardData(WebPacketProtocol):
|
||||
nego_card_id: Optional[uuid.UUID] = None
|
||||
wild_card_id: Optional[uuid.UUID] = None
|
||||
type: Optional[int] = None
|
||||
number: Optional[str] = None
|
||||
name: Optional[str] = None
|
||||
script: Optional[str] = None
|
||||
script: Optional[str] = None # 협상 멘트(평문)
|
||||
edit_script: Optional[Any] = None # 협상 멘트(Slate 서식본)
|
||||
condition: Optional[str] = None # 와일드카드 전용: 사용 조건(트리거)
|
||||
memo: Optional[str] = None # 와일드카드 전용: 메모
|
||||
|
||||
|
||||
class Res_QuotationCards(Res_WebPacketProtocol):
|
||||
|
||||
@ -63,9 +63,3 @@ class Res_CheckCodes(Res_WebPacketProtocol):
|
||||
|
||||
class Res_DeleteSupplier(Res_WebPacketProtocol):
|
||||
pass
|
||||
|
||||
|
||||
class Res_ExcelUpload(Res_WebPacketProtocol):
|
||||
received_filename: Optional[str] = None
|
||||
status: str = ""
|
||||
message: str = ""
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import APIRouter, Depends, File, Query, UploadFile
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
|
||||
from common.models.gmodel import PageParams, UserInfo
|
||||
from router.v1.validator.dependencies import IsValidAccessToken, RemoveNoneResponse
|
||||
@ -11,7 +11,6 @@ from .protocol import (
|
||||
Req_UpdateSupplier,
|
||||
Res_CheckCodes,
|
||||
Res_DeleteSupplier,
|
||||
Res_ExcelUpload,
|
||||
Res_Supplier,
|
||||
Res_SupplierList,
|
||||
)
|
||||
@ -47,17 +46,6 @@ async def check_supplier_codes(
|
||||
return RemoveNoneResponse(await service.check_codes(user_info.company_id, req.codes))
|
||||
|
||||
|
||||
@router.post(path="/upload-excel", response_model=Res_ExcelUpload, summary="협력사 엑셀 일괄 등록(스텁)")
|
||||
async def upload_suppliers_excel(
|
||||
service: SupplierService = Depends(),
|
||||
user_info: UserInfo = Depends(IsValidAccessToken),
|
||||
file: UploadFile = File(...),
|
||||
):
|
||||
return RemoveNoneResponse(
|
||||
Res_ExcelUpload(received_filename=file.filename, status="not_implemented", message="엑셀 일괄 등록은 추후 구현")
|
||||
)
|
||||
|
||||
|
||||
@router.get(path="/{supplier_id}", response_model=Res_Supplier, summary="협력사 조회")
|
||||
async def get_supplier(supplier_id: UUID, service: SupplierService = Depends(), user_info: UserInfo = Depends(IsValidAccessToken)):
|
||||
return RemoveNoneResponse(await service.get_supplier(user_info.company_id, str(supplier_id)))
|
||||
|
||||
50
negodata/backend/services/azure_blob_client.py
Normal file
50
negodata/backend/services/azure_blob_client.py
Normal file
@ -0,0 +1,50 @@
|
||||
import uuid
|
||||
|
||||
import httpx
|
||||
|
||||
from config.server_configs import storage_config
|
||||
|
||||
# 허용 content-type -> 저장 확장자. 목록 밖이면 업로드 거부.
|
||||
_EXT_BY_TYPE = {
|
||||
"image/jpeg": "jpg",
|
||||
"image/png": "png",
|
||||
"image/gif": "gif",
|
||||
"image/webp": "webp",
|
||||
}
|
||||
|
||||
# 업로드용 공유 클라이언트(연결 풀링).
|
||||
_shared_client: httpx.AsyncClient | None = None
|
||||
|
||||
|
||||
def _get_client() -> httpx.AsyncClient:
|
||||
global _shared_client
|
||||
if _shared_client is None or _shared_client.is_closed:
|
||||
_shared_client = httpx.AsyncClient(
|
||||
timeout=httpx.Timeout(60.0, connect=10.0),
|
||||
limits=httpx.Limits(max_keepalive_connections=10, max_connections=20),
|
||||
)
|
||||
return _shared_client
|
||||
|
||||
|
||||
def is_allowed_image(content_type: str) -> bool:
|
||||
return content_type in _EXT_BY_TYPE
|
||||
|
||||
|
||||
async def upload_image(company_id: str, content: bytes, content_type: str) -> str:
|
||||
"""Azure Blob 에 이미지를 올리고 접근 URL 을 돌려준다.
|
||||
blob 경로: <blob_root>/<company_id>/items/<uuid>.<ext>
|
||||
— company_id 로 멀티테넌트 격리.
|
||||
실패 시 예외를 던진다(호출측에서 IMAGE_UPLOAD_FAILED 처리). 저장값은 SAS 를 뗀 public URL."""
|
||||
ext = _EXT_BY_TYPE.get(content_type, "bin")
|
||||
blob_path = f"{storage_config.blob_root}/{company_id}/items/{uuid.uuid4().hex}.{ext}"
|
||||
|
||||
base = storage_config.azure_blob_base_url.rstrip("/")
|
||||
sas = storage_config.azure_blob_sas_token.strip("?'\"")
|
||||
public_url = f"{base}/{blob_path}"
|
||||
upload_url = f"{public_url}?{sas}"
|
||||
headers = {"Content-Type": content_type, "x-ms-blob-type": "BlockBlob"}
|
||||
|
||||
resp = await _get_client().put(upload_url, content=content, headers=headers)
|
||||
if resp.status_code not in (200, 201):
|
||||
raise RuntimeError(f"Azure Blob upload failed: status={resp.status_code} body={resp.text[:200]}")
|
||||
return public_url
|
||||
@ -1,12 +1,14 @@
|
||||
import uuid
|
||||
|
||||
from fastapi import Depends
|
||||
from fastapi import Depends, UploadFile
|
||||
|
||||
from common.database.db_session_manager import DB_SESSION_MNG
|
||||
from common.database.model.models import items
|
||||
from common.enums import DBWRType, ErrorType
|
||||
from common.logger import LOG
|
||||
from common.models.gmodel import PageParams
|
||||
from services.azure_blob_client import is_allowed_image, upload_image as blob_upload_image
|
||||
from config.server_configs import storage_config
|
||||
from crud.item_crud import IItemCRUD, ItemCRUD
|
||||
from router.v1.item.protocol import (
|
||||
ItemCategory,
|
||||
@ -15,6 +17,7 @@ from router.v1.item.protocol import (
|
||||
Res_DeleteItem,
|
||||
Res_Item,
|
||||
Res_ItemCategories,
|
||||
Res_ItemImage,
|
||||
Res_ItemList,
|
||||
)
|
||||
|
||||
@ -162,3 +165,28 @@ class ItemService:
|
||||
if err_type != ErrorType.SUCCESS:
|
||||
res.result.SetResult(err_type)
|
||||
return res
|
||||
|
||||
async def upload_image(self, company_id: str, file: UploadFile) -> Res_ItemImage:
|
||||
"""상품 이미지를 Azure Blob 에 올리고 image_url 을 돌려준다.
|
||||
DB 는 건드리지 않는다 — 프론트가 이 URL 을 create/update 의 image_url 로 실어 보낸다."""
|
||||
res = Res_ItemImage()
|
||||
content_type = file.content_type or ""
|
||||
if not is_allowed_image(content_type):
|
||||
res.result.SetResult(ErrorType.IMAGE_INVALID_TYPE)
|
||||
return res
|
||||
|
||||
content = await file.read()
|
||||
if len(content) > storage_config.max_image_mb * 1024 * 1024:
|
||||
res.result.SetResult(ErrorType.IMAGE_TOO_LARGE)
|
||||
return res
|
||||
|
||||
try:
|
||||
res.image_url = await blob_upload_image(company_id, content, content_type)
|
||||
except Exception as ex:
|
||||
LOG.e_no_callstack(ex)
|
||||
res.result.SetResult(ErrorType.IMAGE_UPLOAD_FAILED)
|
||||
return res
|
||||
|
||||
res.filename = file.filename
|
||||
res.size = len(content)
|
||||
return res
|
||||
|
||||
@ -57,6 +57,21 @@ class QuotationService:
|
||||
if err_type != ErrorType.SUCCESS:
|
||||
res.result.SetResult(err_type)
|
||||
return res
|
||||
|
||||
# 참여 협력사 수(세션 distinct supplier)를 이 페이지 견적들에 대해 한 방으로 세서 합친다(메인 쿼리 비건드림).
|
||||
qt_ids = [r.qt_id for r in rows]
|
||||
counts = {}
|
||||
if qt_ids:
|
||||
cnt_err, got = await DB_SESSION_MNG.execute_lambda(
|
||||
quotations.DBType(),
|
||||
DBWRType.DB_READ.value,
|
||||
lambda s: self.quotation_crud.session_counts(s, qt_ids),
|
||||
)
|
||||
if cnt_err == ErrorType.SUCCESS:
|
||||
counts = got
|
||||
for r in rows:
|
||||
r.participation_count = counts.get(r.qt_id, 0)
|
||||
|
||||
res.quotations = [QuotationData.model_validate(r) for r in rows]
|
||||
res.total = total
|
||||
return res
|
||||
@ -247,9 +262,10 @@ class QuotationService:
|
||||
return res
|
||||
|
||||
res.qt_id = quotation.qt_id
|
||||
# rows = [(chat_row, nego_card_id, name, script), ...]. nego/wild 구분은 chats.card_type.
|
||||
# rows = [(chat_row, card_id, number, name, script, edit_script, condition, memo), ...].
|
||||
# nego/wild 구분은 chats.card_type. condition/memo 는 와일드카드에만 존재.
|
||||
cards = []
|
||||
for chat_row, nc_id, nc_name, nc_script in rows:
|
||||
for chat_row, nc_id, nc_number, nc_name, nc_script, nc_edit, wc_condition, wc_memo in rows:
|
||||
is_wild = chat_row.card_type == 2
|
||||
cards.append(
|
||||
QuotationCardData(
|
||||
@ -258,8 +274,12 @@ class QuotationService:
|
||||
nego_card_id=None if is_wild else nc_id,
|
||||
wild_card_id=nc_id if is_wild else None,
|
||||
type=chat_row.card_type if chat_row.card_type is not None else 1,
|
||||
number=nc_number,
|
||||
name=nc_name,
|
||||
script=nc_script,
|
||||
edit_script=nc_edit,
|
||||
condition=wc_condition if is_wild else None,
|
||||
memo=wc_memo if is_wild else None,
|
||||
)
|
||||
)
|
||||
res.cards = cards
|
||||
|
||||
525
negodata/front/package-lock.json
generated
525
negodata/front/package-lock.json
generated
@ -14,7 +14,6 @@
|
||||
"@hookform/resolvers": "^5.4.0",
|
||||
"@tailwindcss/vite": "^4.1.14",
|
||||
"@tanstack/react-query": "^5.62.0",
|
||||
"@tanstack/react-router": "^1.170.15",
|
||||
"@vitejs/plugin-react": "^5.0.4",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"clsx": "^2.1.1",
|
||||
@ -27,6 +26,10 @@
|
||||
"react-hook-form": "^7.79.0",
|
||||
"react-router": "^7.17.0",
|
||||
"shadcn": "^4.11.0",
|
||||
"slate": "^0.118.1",
|
||||
"slate-dom": "^0.119.0",
|
||||
"slate-history": "^0.113.1",
|
||||
"slate-react": "^0.119.0",
|
||||
"sonner": "^2.0.7",
|
||||
"tailwind-merge": "^3.6.0",
|
||||
"tw-animate-css": "^1.4.0",
|
||||
@ -36,8 +39,6 @@
|
||||
"zustand": "^5.0.14"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tanstack/router-cli": "^1.167.17",
|
||||
"@tanstack/router-plugin": "^1.168.18",
|
||||
"@types/express": "^4.17.21",
|
||||
"@types/node": "^22.14.0",
|
||||
"@types/react": "^19.2.17",
|
||||
@ -1456,6 +1457,12 @@
|
||||
"jsep": "^0.4.0||^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@juggle/resize-observer": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz",
|
||||
"integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@modelcontextprotocol/sdk": {
|
||||
"version": "1.29.0",
|
||||
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz",
|
||||
@ -3533,19 +3540,6 @@
|
||||
"vite": "^5.2.0 || ^6 || ^7 || ^8"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/history": {
|
||||
"version": "1.162.0",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.162.0.tgz",
|
||||
"integrity": "sha512-79pf/RkhteYZTRgcR4F9kbk84P2N8rugQJswxfIqovlbRiT3yI7eBE+5QorIrZaOKktsgzRlXh1l/du/xpl4iA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20.19"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/query-core": {
|
||||
"version": "5.101.0",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.101.0.tgz",
|
||||
@ -3572,269 +3566,6 @@
|
||||
"react": "^18 || ^19"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/react-router": {
|
||||
"version": "1.170.15",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.170.15.tgz",
|
||||
"integrity": "sha512-GawYz7HEjj8rTUUDoT/SemDEVm63pZUO+2mOcXHY9Jl3EwMS5gFBnPu/2UvcrwRm1jN1k79fokc0d4aFmrLatg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@tanstack/history": "1.162.0",
|
||||
"@tanstack/react-store": "^0.9.3",
|
||||
"@tanstack/router-core": "1.171.13",
|
||||
"isbot": "^5.1.22"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.19"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18.0.0 || >=19.0.0",
|
||||
"react-dom": ">=18.0.0 || >=19.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/react-store": {
|
||||
"version": "0.9.3",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.9.3.tgz",
|
||||
"integrity": "sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@tanstack/store": "0.9.3",
|
||||
"use-sync-external-store": "^1.6.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
||||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-cli": {
|
||||
"version": "1.167.17",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/router-cli/-/router-cli-1.167.17.tgz",
|
||||
"integrity": "sha512-kws9PNdspkHbeZG6aLDjjpgH/hg7Q565BdSW9hHrjKmXPq/at7OKxQnA76aw9dJiJqy9OmST2RdOKlMEog43+g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@tanstack/router-generator": "1.167.17",
|
||||
"chokidar": "^5.0.0",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"bin": {
|
||||
"tsr": "bin/tsr.cjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.19"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-cli/node_modules/chokidar": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
|
||||
"integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"readdirp": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-cli/node_modules/readdirp": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
|
||||
"integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-core": {
|
||||
"version": "1.171.13",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/router-core/-/router-core-1.171.13.tgz",
|
||||
"integrity": "sha512-+NOwEj1kO/6IGmpHRIZHasYxYWpyBQGNIZAST9aNrk9Q3YlU9SgqVnl1pbLa9qAKfeNdXQIRve0RQb/0kyDeDA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@tanstack/history": "1.162.0",
|
||||
"cookie-es": "^3.0.0",
|
||||
"seroval": "^1.5.4",
|
||||
"seroval-plugins": "^1.5.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.19"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-generator": {
|
||||
"version": "1.167.17",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.167.17.tgz",
|
||||
"integrity": "sha512-xtB9tB2Ws0tWR6Pi7nc3Qk9IYgoh1mQCKWjHqIl9tf6BNUpKoqniJoPAQ4+LGrK8FeZYU0o0p/qlZEyj9FAulA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/types": "^7.28.5",
|
||||
"@tanstack/router-core": "1.171.13",
|
||||
"@tanstack/router-utils": "1.162.2",
|
||||
"@tanstack/virtual-file-routes": "1.162.0",
|
||||
"jiti": "^2.7.0",
|
||||
"magic-string": "^0.30.21",
|
||||
"prettier": "^3.5.0",
|
||||
"zod": "^4.4.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.19"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-plugin": {
|
||||
"version": "1.168.18",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.168.18.tgz",
|
||||
"integrity": "sha512-MofS28/axfnfnhOD2RSgJEaU882aX5RsAzhGz5Vc4XhAmvCjy919u9JrNs4QsTWFbTD1P7IJ8WFlFVsrg0pStg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.28.5",
|
||||
"@babel/template": "^7.27.2",
|
||||
"@babel/types": "^7.28.5",
|
||||
"@tanstack/router-core": "1.171.13",
|
||||
"@tanstack/router-generator": "1.167.17",
|
||||
"@tanstack/router-utils": "1.162.2",
|
||||
"chokidar": "^5.0.0",
|
||||
"unplugin": "^3.0.0",
|
||||
"zod": "^4.4.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.19"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@rsbuild/core": ">=1.0.2 || ^2.0.0",
|
||||
"@tanstack/react-router": "^1.170.15",
|
||||
"vite": ">=5.0.0 || >=6.0.0 || >=7.0.0 || >=8.0.0",
|
||||
"vite-plugin-solid": "^2.11.10 || ^3.0.0-0",
|
||||
"webpack": ">=5.92.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@rsbuild/core": {
|
||||
"optional": true
|
||||
},
|
||||
"@tanstack/react-router": {
|
||||
"optional": true
|
||||
},
|
||||
"vite": {
|
||||
"optional": true
|
||||
},
|
||||
"vite-plugin-solid": {
|
||||
"optional": true
|
||||
},
|
||||
"webpack": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-plugin/node_modules/chokidar": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
|
||||
"integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"readdirp": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-plugin/node_modules/readdirp": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
|
||||
"integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 20.19.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/router-utils": {
|
||||
"version": "1.162.2",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.162.2.tgz",
|
||||
"integrity": "sha512-hTWqJtqIFFdvuCl8WXNyrodp2L9zo2G37xKRrcVmVRWpAB2h+U1LuRAfS4tsFTiWOIoE/B+WDVFB8JpoEdw6jQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/generator": "^7.28.5",
|
||||
"@babel/parser": "^7.28.5",
|
||||
"@babel/types": "^7.28.5",
|
||||
"ansis": "^4.1.0",
|
||||
"babel-dead-code-elimination": "^1.0.12",
|
||||
"diff": "^8.0.2",
|
||||
"pathe": "^2.0.3",
|
||||
"tinyglobby": "^0.2.15"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20.19"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/store": {
|
||||
"version": "0.9.3",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.9.3.tgz",
|
||||
"integrity": "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/virtual-file-routes": {
|
||||
"version": "1.162.0",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.162.0.tgz",
|
||||
"integrity": "sha512-uhOeFyxLcU41HzvrxsGpiWdcMbScY1EDgbZ5K7DVRMYInbLYWAC0EA/kx9wXAoSM8q82bUG2hRl8+EAjE6XAbA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20.19"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/tannerlinsley"
|
||||
}
|
||||
},
|
||||
"node_modules/@ts-morph/common": {
|
||||
"version": "0.27.0",
|
||||
"resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.27.0.tgz",
|
||||
@ -4243,16 +3974,6 @@
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/ansis": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/ansis/-/ansis-4.3.1.tgz",
|
||||
"integrity": "sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/argparse": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||
@ -4411,19 +4132,6 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/babel-dead-code-elimination": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/babel-dead-code-elimination/-/babel-dead-code-elimination-1.0.12.tgz",
|
||||
"integrity": "sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.23.7",
|
||||
"@babel/parser": "^7.23.6",
|
||||
"@babel/traverse": "^7.23.7",
|
||||
"@babel/types": "^7.23.6"
|
||||
}
|
||||
},
|
||||
"node_modules/balanced-match": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
|
||||
@ -4839,6 +4547,12 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/compute-scroll-into-view": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz",
|
||||
"integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
@ -4882,12 +4596,6 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/cookie-es": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-3.1.1.tgz",
|
||||
"integrity": "sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/cookie-signature": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
|
||||
@ -5236,6 +4944,19 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/direction": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz",
|
||||
"integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"direction": "cli.js"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/dotenv": {
|
||||
"version": "17.4.2",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz",
|
||||
@ -6839,6 +6560,12 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-hotkey": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz",
|
||||
"integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/is-in-ssh": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz",
|
||||
@ -6957,6 +6684,15 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/is-plain-object": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-promise": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
|
||||
@ -7166,15 +6902,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/isbot": {
|
||||
"version": "5.1.42",
|
||||
"resolved": "https://registry.npmjs.org/isbot/-/isbot-5.1.42.tgz",
|
||||
"integrity": "sha512-/SXsVh7KpPRISrD4ffrGSxnTLlUBzEQUfWIusaJPrpJ93FW1P0YEZri5vAUkFsA0m2HRUhQRQadk2wJ+EeKowQ==",
|
||||
"license": "Unlicense",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/isexe": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz",
|
||||
@ -7684,7 +7411,6 @@
|
||||
"version": "4.18.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
|
||||
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.isempty": {
|
||||
@ -8823,13 +8549,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/pathe": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
|
||||
"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
||||
@ -8937,22 +8656,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.8.4",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.4.tgz",
|
||||
"integrity": "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"prettier": "bin/prettier.cjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/prettier/prettier?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-ms": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz",
|
||||
@ -9598,6 +9301,15 @@
|
||||
"integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/scroll-into-view-if-needed": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz",
|
||||
"integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"compute-scroll-into-view": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "6.3.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
||||
@ -9646,27 +9358,6 @@
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/seroval": {
|
||||
"version": "1.5.4",
|
||||
"resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.4.tgz",
|
||||
"integrity": "sha512-46uFvgrXTVxZcUorgSSRZ4y+ieqLLQRMlG4bnCZKW3qI6BZm7Rg4ntMW4p1mILEEBZWrFlcpp0AyIIlM6jD9iw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/seroval-plugins": {
|
||||
"version": "1.5.4",
|
||||
"resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.5.4.tgz",
|
||||
"integrity": "sha512-S0xQPhUTefAhNvNWFg0c1J8qJArHt5KdtJ/cFAofo06KD1MVSeFWyl4iiu+ApDIuw0WhjpOfCdgConOfAnLgkw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"seroval": "^1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/serve-static": {
|
||||
"version": "1.16.3",
|
||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
|
||||
@ -9977,6 +9668,88 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/slate": {
|
||||
"version": "0.118.1",
|
||||
"resolved": "https://registry.npmjs.org/slate/-/slate-0.118.1.tgz",
|
||||
"integrity": "sha512-6H1DNgnSwAFhq/pIgf+tLvjNzH912M5XrKKhP9Frmbds2zFXdSJ6L/uFNyVKxQIkPzGWPD0m+wdDfmEuGFH5Tg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"immer": "^10.0.3",
|
||||
"tiny-warning": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/slate-dom": {
|
||||
"version": "0.119.0",
|
||||
"resolved": "https://registry.npmjs.org/slate-dom/-/slate-dom-0.119.0.tgz",
|
||||
"integrity": "sha512-foc8a2NkE+1SldDIYaoqjhVKupt8RSuvHI868rfYOcypD4we5TT7qunjRKJ852EIRh/Ql8sSTepXgXKOUJnt1w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@juggle/resize-observer": "^3.4.0",
|
||||
"direction": "^1.0.4",
|
||||
"is-hotkey": "^0.2.0",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"scroll-into-view-if-needed": "^3.1.0",
|
||||
"tiny-invariant": "1.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"slate": ">=0.99.0"
|
||||
}
|
||||
},
|
||||
"node_modules/slate-dom/node_modules/tiny-invariant": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
|
||||
"integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/slate-history": {
|
||||
"version": "0.113.1",
|
||||
"resolved": "https://registry.npmjs.org/slate-history/-/slate-history-0.113.1.tgz",
|
||||
"integrity": "sha512-J9NSJ+UG2GxoW0lw5mloaKcN0JI0x2IA5M5FxyGiInpn+QEutxT1WK7S/JneZCMFJBoHs1uu7S7e6pxQjubHmQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"is-plain-object": "^5.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"slate": ">=0.65.3"
|
||||
}
|
||||
},
|
||||
"node_modules/slate-react": {
|
||||
"version": "0.119.0",
|
||||
"resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.119.0.tgz",
|
||||
"integrity": "sha512-snHqhQ1NkZXyuqG4JTxywRg1accho/hnioM2JIYqziaQQcgfqLi2Pe1AHL82WIC1pLWdzPjy2O7drnSbO0DBsQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@juggle/resize-observer": "^3.4.0",
|
||||
"direction": "^1.0.4",
|
||||
"is-hotkey": "^0.2.0",
|
||||
"lodash": "^4.17.21",
|
||||
"scroll-into-view-if-needed": "^3.1.0",
|
||||
"tiny-invariant": "1.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=18.2.0",
|
||||
"react-dom": ">=18.2.0",
|
||||
"slate": ">=0.114.0",
|
||||
"slate-dom": ">=0.116.0"
|
||||
}
|
||||
},
|
||||
"node_modules/slate-react/node_modules/tiny-invariant": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
|
||||
"integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/slate/node_modules/immer": {
|
||||
"version": "10.2.0",
|
||||
"resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz",
|
||||
"integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/immer"
|
||||
}
|
||||
},
|
||||
"node_modules/sonner": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz",
|
||||
@ -10311,6 +10084,12 @@
|
||||
"integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tiny-warning": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
|
||||
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tinyglobby": {
|
||||
"version": "0.2.17",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
|
||||
@ -11109,21 +10888,6 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/unplugin": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-3.0.0.tgz",
|
||||
"integrity": "sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@jridgewell/remapping": "^2.3.5",
|
||||
"picomatch": "^4.0.3",
|
||||
"webpack-virtual-modules": "^0.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
|
||||
@ -11369,13 +11133,6 @@
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause"
|
||||
},
|
||||
"node_modules/webpack-virtual-modules": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
|
||||
"integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
|
||||
@ -30,6 +30,10 @@
|
||||
"react-hook-form": "^7.79.0",
|
||||
"react-router": "^7.17.0",
|
||||
"shadcn": "^4.11.0",
|
||||
"slate": "^0.118.1",
|
||||
"slate-dom": "^0.119.0",
|
||||
"slate-history": "^0.113.1",
|
||||
"slate-react": "^0.119.0",
|
||||
"sonner": "^2.0.7",
|
||||
"tailwind-merge": "^3.6.0",
|
||||
"tw-animate-css": "^1.4.0",
|
||||
|
||||
@ -4,7 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import { useMutation, useQuery } from "@tanstack/react-query";
|
||||
import {
|
||||
useMutation,
|
||||
useQuery
|
||||
} from '@tanstack/react-query';
|
||||
import type {
|
||||
DataTag,
|
||||
DefinedInitialDataOptions,
|
||||
@ -17,8 +20,8 @@ import type {
|
||||
UseMutationOptions,
|
||||
UseMutationResult,
|
||||
UseQueryOptions,
|
||||
UseQueryResult,
|
||||
} from "@tanstack/react-query";
|
||||
UseQueryResult
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
import type {
|
||||
HTTPValidationError,
|
||||
@ -27,361 +30,299 @@ import type {
|
||||
ResCreateAccount,
|
||||
ResLogin,
|
||||
ResMe,
|
||||
ResRefreshToken,
|
||||
} from ".././model";
|
||||
ResRefreshToken
|
||||
} from '.././model';
|
||||
|
||||
import { customFetch } from '../../mutator/custom-fetch';
|
||||
|
||||
|
||||
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
||||
|
||||
|
||||
import { customFetch } from "../../mutator/custom-fetch";
|
||||
|
||||
/**
|
||||
* id/pw 로 로그인하고 JWT 토큰을 발급한다.
|
||||
* @summary 로그인
|
||||
*/
|
||||
export const login = (reqLogin: ReqLogin, signal?: AbortSignal) => {
|
||||
return customFetch<ResLogin>({
|
||||
url: `/v1/auth/login`,
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
data: reqLogin,
|
||||
signal,
|
||||
});
|
||||
};
|
||||
export const login = (
|
||||
reqLogin: ReqLogin,
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
|
||||
|
||||
return customFetch<ResLogin>(
|
||||
{url: `/v1/auth/login`, method: 'POST',
|
||||
headers: {'Content-Type': 'application/json', },
|
||||
data: reqLogin, signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
export const getLoginMutationOptions = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof login>>,
|
||||
TError,
|
||||
{ data: ReqLogin },
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof login>>,
|
||||
TError,
|
||||
{ data: ReqLogin },
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["login"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof login>>,
|
||||
{ data: ReqLogin }
|
||||
> = (props) => {
|
||||
const { data } = props ?? {};
|
||||
export const getLoginMutationOptions = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof login>>, TError,{data: ReqLogin}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof login>>, TError,{data: ReqLogin}, TContext> => {
|
||||
|
||||
return login(data);
|
||||
};
|
||||
const mutationKey = ['login'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
|
||||
|
||||
export type LoginMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof login>>
|
||||
>;
|
||||
export type LoginMutationBody = ReqLogin;
|
||||
export type LoginMutationError = void | HTTPValidationError;
|
||||
|
||||
/**
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof login>>, {data: ReqLogin}> = (props) => {
|
||||
const {data} = props ?? {};
|
||||
|
||||
return login(data,requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type LoginMutationResult = NonNullable<Awaited<ReturnType<typeof login>>>
|
||||
export type LoginMutationBody = ReqLogin
|
||||
export type LoginMutationError = void | HTTPValidationError
|
||||
|
||||
/**
|
||||
* @summary 로그인
|
||||
*/
|
||||
export const useLogin = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof login>>,
|
||||
TError,
|
||||
{ data: ReqLogin },
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof login>>,
|
||||
TError,
|
||||
{ data: ReqLogin },
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getLoginMutationOptions(options);
|
||||
export const useLogin = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof login>>, TError,{data: ReqLogin}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof login>>,
|
||||
TError,
|
||||
{data: ReqLogin},
|
||||
TContext
|
||||
> => {
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
/**
|
||||
const mutationOptions = getLoginMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
/**
|
||||
* 새 계정을 생성한다.
|
||||
* @summary 계정 생성
|
||||
*/
|
||||
export const createAccount = (
|
||||
reqCreateAccount: ReqCreateAccount,
|
||||
signal?: AbortSignal,
|
||||
reqCreateAccount: ReqCreateAccount,
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
return customFetch<ResCreateAccount>({
|
||||
url: `/v1/auth/create`,
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
data: reqCreateAccount,
|
||||
signal,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
return customFetch<ResCreateAccount>(
|
||||
{url: `/v1/auth/create`, method: 'POST',
|
||||
headers: {'Content-Type': 'application/json', },
|
||||
data: reqCreateAccount, signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
export const getCreateAccountMutationOptions = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createAccount>>,
|
||||
TError,
|
||||
{ data: ReqCreateAccount },
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createAccount>>,
|
||||
TError,
|
||||
{ data: ReqCreateAccount },
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["createAccount"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof createAccount>>,
|
||||
{ data: ReqCreateAccount }
|
||||
> = (props) => {
|
||||
const { data } = props ?? {};
|
||||
export const getCreateAccountMutationOptions = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createAccount>>, TError,{data: ReqCreateAccount}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof createAccount>>, TError,{data: ReqCreateAccount}, TContext> => {
|
||||
|
||||
return createAccount(data);
|
||||
};
|
||||
const mutationKey = ['createAccount'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
|
||||
|
||||
export type CreateAccountMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof createAccount>>
|
||||
>;
|
||||
export type CreateAccountMutationBody = ReqCreateAccount;
|
||||
export type CreateAccountMutationError = void | HTTPValidationError;
|
||||
|
||||
/**
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof createAccount>>, {data: ReqCreateAccount}> = (props) => {
|
||||
const {data} = props ?? {};
|
||||
|
||||
return createAccount(data,requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type CreateAccountMutationResult = NonNullable<Awaited<ReturnType<typeof createAccount>>>
|
||||
export type CreateAccountMutationBody = ReqCreateAccount
|
||||
export type CreateAccountMutationError = void | HTTPValidationError
|
||||
|
||||
/**
|
||||
* @summary 계정 생성
|
||||
*/
|
||||
export const useCreateAccount = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createAccount>>,
|
||||
TError,
|
||||
{ data: ReqCreateAccount },
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof createAccount>>,
|
||||
TError,
|
||||
{ data: ReqCreateAccount },
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getCreateAccountMutationOptions(options);
|
||||
export const useCreateAccount = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createAccount>>, TError,{data: ReqCreateAccount}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof createAccount>>,
|
||||
TError,
|
||||
{data: ReqCreateAccount},
|
||||
TContext
|
||||
> => {
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
/**
|
||||
const mutationOptions = getCreateAccountMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
/**
|
||||
* refresh 토큰으로 access 토큰을 재발급한다.
|
||||
* @summary 액세스 토큰 갱신
|
||||
*/
|
||||
export const refreshToken = (signal?: AbortSignal) => {
|
||||
return customFetch<ResRefreshToken>({
|
||||
url: `/v1/auth/refresh_token`,
|
||||
method: "POST",
|
||||
signal,
|
||||
});
|
||||
};
|
||||
export const refreshToken = (
|
||||
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
|
||||
|
||||
return customFetch<ResRefreshToken>(
|
||||
{url: `/v1/auth/refresh_token`, method: 'POST', signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
export const getRefreshTokenMutationOptions = <
|
||||
TError = void,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof refreshToken>>,
|
||||
TError,
|
||||
void,
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof refreshToken>>,
|
||||
TError,
|
||||
void,
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["refreshToken"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof refreshToken>>,
|
||||
void
|
||||
> = () => {
|
||||
return refreshToken();
|
||||
};
|
||||
export const getRefreshTokenMutationOptions = <TError = void,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof refreshToken>>, TError,void, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof refreshToken>>, TError,void, TContext> => {
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
const mutationKey = ['refreshToken'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
export type RefreshTokenMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof refreshToken>>
|
||||
>;
|
||||
|
||||
|
||||
export type RefreshTokenMutationError = void;
|
||||
|
||||
/**
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof refreshToken>>, void> = () => {
|
||||
|
||||
|
||||
return refreshToken(requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type RefreshTokenMutationResult = NonNullable<Awaited<ReturnType<typeof refreshToken>>>
|
||||
|
||||
export type RefreshTokenMutationError = void
|
||||
|
||||
/**
|
||||
* @summary 액세스 토큰 갱신
|
||||
*/
|
||||
export const useRefreshToken = <TError = void, TContext = unknown>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof refreshToken>>,
|
||||
TError,
|
||||
void,
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof refreshToken>>,
|
||||
TError,
|
||||
void,
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getRefreshTokenMutationOptions(options);
|
||||
export const useRefreshToken = <TError = void,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof refreshToken>>, TError,void, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof refreshToken>>,
|
||||
TError,
|
||||
void,
|
||||
TContext
|
||||
> => {
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
/**
|
||||
const mutationOptions = getRefreshTokenMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
/**
|
||||
* 유효한 access 토큰이 있어야 호출 가능. 토큰의 유저+회사 정보를 반환한다.
|
||||
* @summary 내 정보
|
||||
*/
|
||||
export const me = (signal?: AbortSignal) => {
|
||||
return customFetch<ResMe>({ url: `/v1/auth/me`, method: "GET", signal });
|
||||
};
|
||||
export const me = (
|
||||
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
|
||||
|
||||
return customFetch<ResMe>(
|
||||
{url: `/v1/auth/me`, method: 'GET', signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
export const getMeQueryKey = () => {
|
||||
return [`/v1/auth/me`] as const;
|
||||
};
|
||||
return [
|
||||
`/v1/auth/me`
|
||||
] as const;
|
||||
}
|
||||
|
||||
export const getMeQueryOptions = <
|
||||
TData = Awaited<ReturnType<typeof me>>,
|
||||
TError = void,
|
||||
>(options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>
|
||||
>;
|
||||
}) => {
|
||||
const { query: queryOptions } = options ?? {};
|
||||
|
||||
export const getMeQueryOptions = <TData = Awaited<ReturnType<typeof me>>, TError = void>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
) => {
|
||||
|
||||
const queryKey = queryOptions?.queryKey ?? getMeQueryKey();
|
||||
const {query: queryOptions, request: requestOptions} = options ?? {};
|
||||
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof me>>> = ({ signal }) =>
|
||||
me(signal);
|
||||
const queryKey = queryOptions?.queryKey ?? getMeQueryKey();
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<
|
||||
Awaited<ReturnType<typeof me>>,
|
||||
TError,
|
||||
TData
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
};
|
||||
|
||||
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof me>>> = ({ signal }) => me(requestOptions, signal);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
}
|
||||
|
||||
export type MeQueryResult = NonNullable<Awaited<ReturnType<typeof me>>>
|
||||
export type MeQueryError = void
|
||||
|
||||
export type MeQueryResult = NonNullable<Awaited<ReturnType<typeof me>>>;
|
||||
export type MeQueryError = void;
|
||||
|
||||
export function useMe<TData = Awaited<ReturnType<typeof me>>, TError = void>(
|
||||
options: {
|
||||
query: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>> & Pick<
|
||||
DefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof me>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof me>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): DefinedUseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useMe<TData = Awaited<ReturnType<typeof me>>, TError = void>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>> & Pick<
|
||||
UndefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof me>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof me>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useMe<TData = Awaited<ReturnType<typeof me>>, TError = void>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
/**
|
||||
* @summary 내 정보
|
||||
*/
|
||||
|
||||
export function useMe<TData = Awaited<ReturnType<typeof me>>, TError = void>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
} {
|
||||
const queryOptions = getMeQueryOptions(options);
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof me>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
||||
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<
|
||||
TData,
|
||||
TError
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
const queryOptions = getMeQueryOptions(options)
|
||||
|
||||
query.queryKey = queryOptions.queryKey;
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
|
||||
query.queryKey = queryOptions.queryKey ;
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -4,7 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import { useMutation, useQuery } from "@tanstack/react-query";
|
||||
import {
|
||||
useMutation,
|
||||
useQuery
|
||||
} from '@tanstack/react-query';
|
||||
import type {
|
||||
DataTag,
|
||||
DefinedInitialDataOptions,
|
||||
@ -17,8 +20,8 @@ import type {
|
||||
UseMutationOptions,
|
||||
UseMutationResult,
|
||||
UseQueryOptions,
|
||||
UseQueryResult,
|
||||
} from "@tanstack/react-query";
|
||||
UseQueryResult
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
import type {
|
||||
HTTPValidationError,
|
||||
@ -27,525 +30,388 @@ import type {
|
||||
ReqUpdateCard,
|
||||
ResCard,
|
||||
ResCardList,
|
||||
ResDeleteCard,
|
||||
} from ".././model";
|
||||
ResDeleteCard
|
||||
} from '.././model';
|
||||
|
||||
import { customFetch } from '../../mutator/custom-fetch';
|
||||
|
||||
|
||||
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
||||
|
||||
|
||||
import { customFetch } from "../../mutator/custom-fetch";
|
||||
|
||||
/**
|
||||
* @summary 협상카드 목록
|
||||
*/
|
||||
export const listCards = (params?: ListCardsParams, signal?: AbortSignal) => {
|
||||
return customFetch<ResCardList>({
|
||||
url: `/v1/card/list`,
|
||||
method: "GET",
|
||||
params,
|
||||
signal,
|
||||
});
|
||||
};
|
||||
|
||||
export const getListCardsQueryKey = (params?: ListCardsParams) => {
|
||||
return [`/v1/card/list`, ...(params ? [params] : [])] as const;
|
||||
};
|
||||
|
||||
export const getListCardsQueryOptions = <
|
||||
TData = Awaited<ReturnType<typeof listCards>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
params?: ListCardsParams,
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
export const listCards = (
|
||||
params?: ListCardsParams,
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
const { query: queryOptions } = options ?? {};
|
||||
|
||||
|
||||
return customFetch<ResCardList>(
|
||||
{url: `/v1/card/list`, method: 'GET',
|
||||
params, signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
const queryKey = queryOptions?.queryKey ?? getListCardsQueryKey(params);
|
||||
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof listCards>>> = ({
|
||||
signal,
|
||||
}) => listCards(params, signal);
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<
|
||||
Awaited<ReturnType<typeof listCards>>,
|
||||
TError,
|
||||
TData
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
};
|
||||
export const getListCardsQueryKey = (params?: ListCardsParams,) => {
|
||||
return [
|
||||
`/v1/card/list`, ...(params ? [params]: [])
|
||||
] as const;
|
||||
}
|
||||
|
||||
export type ListCardsQueryResult = NonNullable<
|
||||
Awaited<ReturnType<typeof listCards>>
|
||||
>;
|
||||
export type ListCardsQueryError = void | HTTPValidationError;
|
||||
|
||||
export const getListCardsQueryOptions = <TData = Awaited<ReturnType<typeof listCards>>, TError = void | HTTPValidationError>(params?: ListCardsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
) => {
|
||||
|
||||
export function useListCards<
|
||||
TData = Awaited<ReturnType<typeof listCards>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
params: undefined | ListCardsParams,
|
||||
options: {
|
||||
query: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
const {query: queryOptions, request: requestOptions} = options ?? {};
|
||||
|
||||
const queryKey = queryOptions?.queryKey ?? getListCardsQueryKey(params);
|
||||
|
||||
|
||||
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof listCards>>> = ({ signal }) => listCards(params, requestOptions, signal);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
}
|
||||
|
||||
export type ListCardsQueryResult = NonNullable<Awaited<ReturnType<typeof listCards>>>
|
||||
export type ListCardsQueryError = void | HTTPValidationError
|
||||
|
||||
|
||||
export function useListCards<TData = Awaited<ReturnType<typeof listCards>>, TError = void | HTTPValidationError>(
|
||||
params: undefined | ListCardsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>> & Pick<
|
||||
DefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof listCards>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof listCards>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): DefinedUseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useListCards<
|
||||
TData = Awaited<ReturnType<typeof listCards>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
params?: ListCardsParams,
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useListCards<TData = Awaited<ReturnType<typeof listCards>>, TError = void | HTTPValidationError>(
|
||||
params?: ListCardsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>> & Pick<
|
||||
UndefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof listCards>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof listCards>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useListCards<
|
||||
TData = Awaited<ReturnType<typeof listCards>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
params?: ListCardsParams,
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useListCards<TData = Awaited<ReturnType<typeof listCards>>, TError = void | HTTPValidationError>(
|
||||
params?: ListCardsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
/**
|
||||
* @summary 협상카드 목록
|
||||
*/
|
||||
|
||||
export function useListCards<
|
||||
TData = Awaited<ReturnType<typeof listCards>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
params?: ListCardsParams,
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
} {
|
||||
const queryOptions = getListCardsQueryOptions(params, options);
|
||||
export function useListCards<TData = Awaited<ReturnType<typeof listCards>>, TError = void | HTTPValidationError>(
|
||||
params?: ListCardsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listCards>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
||||
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<
|
||||
TData,
|
||||
TError
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
const queryOptions = getListCardsQueryOptions(params,options)
|
||||
|
||||
query.queryKey = queryOptions.queryKey;
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
|
||||
query.queryKey = queryOptions.queryKey ;
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @summary 협상카드 등록
|
||||
*/
|
||||
export const createCard = (
|
||||
reqCreateCard: ReqCreateCard,
|
||||
signal?: AbortSignal,
|
||||
reqCreateCard: ReqCreateCard,
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
return customFetch<ResCard>({
|
||||
url: `/v1/card/create`,
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
data: reqCreateCard,
|
||||
signal,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
return customFetch<ResCard>(
|
||||
{url: `/v1/card/create`, method: 'POST',
|
||||
headers: {'Content-Type': 'application/json', },
|
||||
data: reqCreateCard, signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
export const getCreateCardMutationOptions = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createCard>>,
|
||||
TError,
|
||||
{ data: ReqCreateCard },
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createCard>>,
|
||||
TError,
|
||||
{ data: ReqCreateCard },
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["createCard"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof createCard>>,
|
||||
{ data: ReqCreateCard }
|
||||
> = (props) => {
|
||||
const { data } = props ?? {};
|
||||
export const getCreateCardMutationOptions = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createCard>>, TError,{data: ReqCreateCard}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof createCard>>, TError,{data: ReqCreateCard}, TContext> => {
|
||||
|
||||
return createCard(data);
|
||||
};
|
||||
const mutationKey = ['createCard'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
|
||||
|
||||
export type CreateCardMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof createCard>>
|
||||
>;
|
||||
export type CreateCardMutationBody = ReqCreateCard;
|
||||
export type CreateCardMutationError = void | HTTPValidationError;
|
||||
|
||||
/**
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof createCard>>, {data: ReqCreateCard}> = (props) => {
|
||||
const {data} = props ?? {};
|
||||
|
||||
return createCard(data,requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type CreateCardMutationResult = NonNullable<Awaited<ReturnType<typeof createCard>>>
|
||||
export type CreateCardMutationBody = ReqCreateCard
|
||||
export type CreateCardMutationError = void | HTTPValidationError
|
||||
|
||||
/**
|
||||
* @summary 협상카드 등록
|
||||
*/
|
||||
export const useCreateCard = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createCard>>,
|
||||
TError,
|
||||
{ data: ReqCreateCard },
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof createCard>>,
|
||||
TError,
|
||||
{ data: ReqCreateCard },
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getCreateCardMutationOptions(options);
|
||||
export const useCreateCard = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createCard>>, TError,{data: ReqCreateCard}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof createCard>>,
|
||||
TError,
|
||||
{data: ReqCreateCard},
|
||||
TContext
|
||||
> => {
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
/**
|
||||
const mutationOptions = getCreateCardMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
/**
|
||||
* @summary 협상카드 조회
|
||||
*/
|
||||
export const getCard = (cardId: string, signal?: AbortSignal) => {
|
||||
return customFetch<ResCard>({
|
||||
url: `/v1/card/${cardId}`,
|
||||
method: "GET",
|
||||
signal,
|
||||
});
|
||||
};
|
||||
|
||||
export const getGetCardQueryKey = (cardId?: string) => {
|
||||
return [`/v1/card/${cardId}`] as const;
|
||||
};
|
||||
|
||||
export const getGetCardQueryOptions = <
|
||||
TData = Awaited<ReturnType<typeof getCard>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
cardId: string,
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
export const getCard = (
|
||||
cardId: string,
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
const { query: queryOptions } = options ?? {};
|
||||
|
||||
|
||||
return customFetch<ResCard>(
|
||||
{url: `/v1/card/${cardId}`, method: 'GET', signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
const queryKey = queryOptions?.queryKey ?? getGetCardQueryKey(cardId);
|
||||
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof getCard>>> = ({
|
||||
signal,
|
||||
}) => getCard(cardId, signal);
|
||||
|
||||
return {
|
||||
queryKey,
|
||||
queryFn,
|
||||
enabled: !!cardId,
|
||||
...queryOptions,
|
||||
} as UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
};
|
||||
export const getGetCardQueryKey = (cardId?: string,) => {
|
||||
return [
|
||||
`/v1/card/${cardId}`
|
||||
] as const;
|
||||
}
|
||||
|
||||
export type GetCardQueryResult = NonNullable<
|
||||
Awaited<ReturnType<typeof getCard>>
|
||||
>;
|
||||
export type GetCardQueryError = void | HTTPValidationError;
|
||||
|
||||
export const getGetCardQueryOptions = <TData = Awaited<ReturnType<typeof getCard>>, TError = void | HTTPValidationError>(cardId: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
) => {
|
||||
|
||||
export function useGetCard<
|
||||
TData = Awaited<ReturnType<typeof getCard>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
cardId: string,
|
||||
options: {
|
||||
query: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
const {query: queryOptions, request: requestOptions} = options ?? {};
|
||||
|
||||
const queryKey = queryOptions?.queryKey ?? getGetCardQueryKey(cardId);
|
||||
|
||||
|
||||
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof getCard>>> = ({ signal }) => getCard(cardId, requestOptions, signal);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return { queryKey, queryFn, enabled: !!(cardId), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
}
|
||||
|
||||
export type GetCardQueryResult = NonNullable<Awaited<ReturnType<typeof getCard>>>
|
||||
export type GetCardQueryError = void | HTTPValidationError
|
||||
|
||||
|
||||
export function useGetCard<TData = Awaited<ReturnType<typeof getCard>>, TError = void | HTTPValidationError>(
|
||||
cardId: string, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>> & Pick<
|
||||
DefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof getCard>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof getCard>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): DefinedUseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useGetCard<
|
||||
TData = Awaited<ReturnType<typeof getCard>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
cardId: string,
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useGetCard<TData = Awaited<ReturnType<typeof getCard>>, TError = void | HTTPValidationError>(
|
||||
cardId: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>> & Pick<
|
||||
UndefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof getCard>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof getCard>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useGetCard<
|
||||
TData = Awaited<ReturnType<typeof getCard>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
cardId: string,
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useGetCard<TData = Awaited<ReturnType<typeof getCard>>, TError = void | HTTPValidationError>(
|
||||
cardId: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
/**
|
||||
* @summary 협상카드 조회
|
||||
*/
|
||||
|
||||
export function useGetCard<
|
||||
TData = Awaited<ReturnType<typeof getCard>>,
|
||||
TError = void | HTTPValidationError,
|
||||
>(
|
||||
cardId: string,
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
} {
|
||||
const queryOptions = getGetCardQueryOptions(cardId, options);
|
||||
export function useGetCard<TData = Awaited<ReturnType<typeof getCard>>, TError = void | HTTPValidationError>(
|
||||
cardId: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getCard>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
||||
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<
|
||||
TData,
|
||||
TError
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
const queryOptions = getGetCardQueryOptions(cardId,options)
|
||||
|
||||
query.queryKey = queryOptions.queryKey;
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
|
||||
query.queryKey = queryOptions.queryKey ;
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
/**
|
||||
* @summary 협상카드 수정
|
||||
*/
|
||||
export const updateCard = (cardId: string, reqUpdateCard: ReqUpdateCard) => {
|
||||
return customFetch<ResCard>({
|
||||
url: `/v1/card/update/${cardId}`,
|
||||
method: "PATCH",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
data: reqUpdateCard,
|
||||
});
|
||||
};
|
||||
|
||||
export const getUpdateCardMutationOptions = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof updateCard>>,
|
||||
TError,
|
||||
{ cardId: string; data: ReqUpdateCard },
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof updateCard>>,
|
||||
TError,
|
||||
{ cardId: string; data: ReqUpdateCard },
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["updateCard"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof updateCard>>,
|
||||
{ cardId: string; data: ReqUpdateCard }
|
||||
> = (props) => {
|
||||
const { cardId, data } = props ?? {};
|
||||
|
||||
return updateCard(cardId, data);
|
||||
};
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
|
||||
export type UpdateCardMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof updateCard>>
|
||||
>;
|
||||
export type UpdateCardMutationBody = ReqUpdateCard;
|
||||
export type UpdateCardMutationError = void | HTTPValidationError;
|
||||
|
||||
/**
|
||||
* @summary 협상카드 수정
|
||||
*/
|
||||
export const useUpdateCard = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof updateCard>>,
|
||||
TError,
|
||||
{ cardId: string; data: ReqUpdateCard },
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof updateCard>>,
|
||||
TError,
|
||||
{ cardId: string; data: ReqUpdateCard },
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getUpdateCardMutationOptions(options);
|
||||
export const updateCard = (
|
||||
cardId: string,
|
||||
reqUpdateCard: ReqUpdateCard,
|
||||
options?: SecondParameter<typeof customFetch>,) => {
|
||||
|
||||
|
||||
return customFetch<ResCard>(
|
||||
{url: `/v1/card/update/${cardId}`, method: 'PATCH',
|
||||
headers: {'Content-Type': 'application/json', },
|
||||
data: reqUpdateCard
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
/**
|
||||
|
||||
export const getUpdateCardMutationOptions = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateCard>>, TError,{cardId: string;data: ReqUpdateCard}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof updateCard>>, TError,{cardId: string;data: ReqUpdateCard}, TContext> => {
|
||||
|
||||
const mutationKey = ['updateCard'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
|
||||
|
||||
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof updateCard>>, {cardId: string;data: ReqUpdateCard}> = (props) => {
|
||||
const {cardId,data} = props ?? {};
|
||||
|
||||
return updateCard(cardId,data,requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type UpdateCardMutationResult = NonNullable<Awaited<ReturnType<typeof updateCard>>>
|
||||
export type UpdateCardMutationBody = ReqUpdateCard
|
||||
export type UpdateCardMutationError = void | HTTPValidationError
|
||||
|
||||
/**
|
||||
* @summary 협상카드 수정
|
||||
*/
|
||||
export const useUpdateCard = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateCard>>, TError,{cardId: string;data: ReqUpdateCard}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof updateCard>>,
|
||||
TError,
|
||||
{cardId: string;data: ReqUpdateCard},
|
||||
TContext
|
||||
> => {
|
||||
|
||||
const mutationOptions = getUpdateCardMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
/**
|
||||
* @summary 협상카드 삭제
|
||||
*/
|
||||
export const deleteCard = (cardId: string) => {
|
||||
return customFetch<ResDeleteCard>({
|
||||
url: `/v1/card/delete/${cardId}`,
|
||||
method: "DELETE",
|
||||
});
|
||||
};
|
||||
export const deleteCard = (
|
||||
cardId: string,
|
||||
options?: SecondParameter<typeof customFetch>,) => {
|
||||
|
||||
|
||||
return customFetch<ResDeleteCard>(
|
||||
{url: `/v1/card/delete/${cardId}`, method: 'DELETE'
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
export const getDeleteCardMutationOptions = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof deleteCard>>,
|
||||
TError,
|
||||
{ cardId: string },
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof deleteCard>>,
|
||||
TError,
|
||||
{ cardId: string },
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["deleteCard"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof deleteCard>>,
|
||||
{ cardId: string }
|
||||
> = (props) => {
|
||||
const { cardId } = props ?? {};
|
||||
export const getDeleteCardMutationOptions = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof deleteCard>>, TError,{cardId: string}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof deleteCard>>, TError,{cardId: string}, TContext> => {
|
||||
|
||||
return deleteCard(cardId);
|
||||
};
|
||||
const mutationKey = ['deleteCard'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
|
||||
|
||||
export type DeleteCardMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof deleteCard>>
|
||||
>;
|
||||
|
||||
export type DeleteCardMutationError = void | HTTPValidationError;
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof deleteCard>>, {cardId: string}> = (props) => {
|
||||
const {cardId} = props ?? {};
|
||||
|
||||
/**
|
||||
return deleteCard(cardId,requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type DeleteCardMutationResult = NonNullable<Awaited<ReturnType<typeof deleteCard>>>
|
||||
|
||||
export type DeleteCardMutationError = void | HTTPValidationError
|
||||
|
||||
/**
|
||||
* @summary 협상카드 삭제
|
||||
*/
|
||||
export const useDeleteCard = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof deleteCard>>,
|
||||
TError,
|
||||
{ cardId: string },
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof deleteCard>>,
|
||||
TError,
|
||||
{ cardId: string },
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getDeleteCardMutationOptions(options);
|
||||
export const useDeleteCard = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof deleteCard>>, TError,{cardId: string}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof deleteCard>>,
|
||||
TError,
|
||||
{cardId: string},
|
||||
TContext
|
||||
> => {
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
const mutationOptions = getDeleteCardMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
|
||||
@ -4,7 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import {
|
||||
useQuery
|
||||
} from '@tanstack/react-query';
|
||||
import type {
|
||||
DataTag,
|
||||
DefinedInitialDataOptions,
|
||||
@ -14,150 +16,105 @@ import type {
|
||||
QueryKey,
|
||||
UndefinedInitialDataOptions,
|
||||
UseQueryOptions,
|
||||
UseQueryResult,
|
||||
} from "@tanstack/react-query";
|
||||
UseQueryResult
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
import { customFetch } from '../../mutator/custom-fetch';
|
||||
|
||||
|
||||
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
||||
|
||||
|
||||
import { customFetch } from "../../mutator/custom-fetch";
|
||||
|
||||
/**
|
||||
* @summary Healthz
|
||||
*/
|
||||
export const healthzHealthzGet = (signal?: AbortSignal) => {
|
||||
return customFetch<unknown>({ url: `/healthz`, method: "GET", signal });
|
||||
};
|
||||
export const healthzHealthzGet = (
|
||||
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
|
||||
|
||||
return customFetch<unknown>(
|
||||
{url: `/healthz`, method: 'GET', signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
export const getHealthzHealthzGetQueryKey = () => {
|
||||
return [`/healthz`] as const;
|
||||
};
|
||||
return [
|
||||
`/healthz`
|
||||
] as const;
|
||||
}
|
||||
|
||||
export const getHealthzHealthzGetQueryOptions = <
|
||||
TData = Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError = void,
|
||||
>(options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError,
|
||||
TData
|
||||
>
|
||||
>;
|
||||
}) => {
|
||||
const { query: queryOptions } = options ?? {};
|
||||
|
||||
export const getHealthzHealthzGetQueryOptions = <TData = Awaited<ReturnType<typeof healthzHealthzGet>>, TError = void>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof healthzHealthzGet>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
) => {
|
||||
|
||||
const queryKey = queryOptions?.queryKey ?? getHealthzHealthzGetQueryKey();
|
||||
const {query: queryOptions, request: requestOptions} = options ?? {};
|
||||
|
||||
const queryFn: QueryFunction<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>
|
||||
> = ({ signal }) => healthzHealthzGet(signal);
|
||||
const queryKey = queryOptions?.queryKey ?? getHealthzHealthzGetQueryKey();
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError,
|
||||
TData
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
};
|
||||
|
||||
|
||||
export type HealthzHealthzGetQueryResult = NonNullable<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>
|
||||
>;
|
||||
export type HealthzHealthzGetQueryError = void;
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof healthzHealthzGet>>> = ({ signal }) => healthzHealthzGet(requestOptions, signal);
|
||||
|
||||
export function useHealthzHealthzGet<
|
||||
TData = Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError = void,
|
||||
>(
|
||||
options: {
|
||||
query: Partial<
|
||||
UseQueryOptions<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError,
|
||||
TData
|
||||
>
|
||||
> &
|
||||
Pick<
|
||||
|
||||
|
||||
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof healthzHealthzGet>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
}
|
||||
|
||||
export type HealthzHealthzGetQueryResult = NonNullable<Awaited<ReturnType<typeof healthzHealthzGet>>>
|
||||
export type HealthzHealthzGetQueryError = void
|
||||
|
||||
|
||||
export function useHealthzHealthzGet<TData = Awaited<ReturnType<typeof healthzHealthzGet>>, TError = void>(
|
||||
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof healthzHealthzGet>>, TError, TData>> & Pick<
|
||||
DefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): DefinedUseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useHealthzHealthzGet<
|
||||
TData = Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError,
|
||||
TData
|
||||
>
|
||||
> &
|
||||
Pick<
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useHealthzHealthzGet<TData = Awaited<ReturnType<typeof healthzHealthzGet>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof healthzHealthzGet>>, TError, TData>> & Pick<
|
||||
UndefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useHealthzHealthzGet<
|
||||
TData = Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError,
|
||||
TData
|
||||
>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useHealthzHealthzGet<TData = Awaited<ReturnType<typeof healthzHealthzGet>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof healthzHealthzGet>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
/**
|
||||
* @summary Healthz
|
||||
*/
|
||||
|
||||
export function useHealthzHealthzGet<
|
||||
TData = Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<
|
||||
Awaited<ReturnType<typeof healthzHealthzGet>>,
|
||||
TError,
|
||||
TData
|
||||
>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
} {
|
||||
const queryOptions = getHealthzHealthzGetQueryOptions(options);
|
||||
export function useHealthzHealthzGet<TData = Awaited<ReturnType<typeof healthzHealthzGet>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof healthzHealthzGet>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
||||
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<
|
||||
TData,
|
||||
TError
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
const queryOptions = getHealthzHealthzGetQueryOptions(options)
|
||||
|
||||
query.queryKey = queryOptions.queryKey;
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
|
||||
query.queryKey = queryOptions.queryKey ;
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -4,7 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import {
|
||||
useQuery
|
||||
} from '@tanstack/react-query';
|
||||
import type {
|
||||
DataTag,
|
||||
DefinedInitialDataOptions,
|
||||
@ -14,132 +16,109 @@ import type {
|
||||
QueryKey,
|
||||
UndefinedInitialDataOptions,
|
||||
UseQueryOptions,
|
||||
UseQueryResult,
|
||||
} from "@tanstack/react-query";
|
||||
UseQueryResult
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
import type {
|
||||
ResEnums
|
||||
} from '.././model';
|
||||
|
||||
import { customFetch } from '../../mutator/custom-fetch';
|
||||
|
||||
|
||||
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
||||
|
||||
import type { ResEnums } from ".././model";
|
||||
|
||||
import { customFetch } from "../../mutator/custom-fetch";
|
||||
|
||||
/**
|
||||
* @summary 도메인 코드 enum 전체
|
||||
*/
|
||||
export const listEnums = (signal?: AbortSignal) => {
|
||||
return customFetch<ResEnums>({ url: `/v1/enums`, method: "GET", signal });
|
||||
};
|
||||
export const listEnums = (
|
||||
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
|
||||
|
||||
return customFetch<ResEnums>(
|
||||
{url: `/v1/enums`, method: 'GET', signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
export const getListEnumsQueryKey = () => {
|
||||
return [`/v1/enums`] as const;
|
||||
};
|
||||
return [
|
||||
`/v1/enums`
|
||||
] as const;
|
||||
}
|
||||
|
||||
export const getListEnumsQueryOptions = <
|
||||
TData = Awaited<ReturnType<typeof listEnums>>,
|
||||
TError = void,
|
||||
>(options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>
|
||||
>;
|
||||
}) => {
|
||||
const { query: queryOptions } = options ?? {};
|
||||
|
||||
export const getListEnumsQueryOptions = <TData = Awaited<ReturnType<typeof listEnums>>, TError = void>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
) => {
|
||||
|
||||
const queryKey = queryOptions?.queryKey ?? getListEnumsQueryKey();
|
||||
const {query: queryOptions, request: requestOptions} = options ?? {};
|
||||
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof listEnums>>> = ({
|
||||
signal,
|
||||
}) => listEnums(signal);
|
||||
const queryKey = queryOptions?.queryKey ?? getListEnumsQueryKey();
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<
|
||||
Awaited<ReturnType<typeof listEnums>>,
|
||||
TError,
|
||||
TData
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
};
|
||||
|
||||
|
||||
export type ListEnumsQueryResult = NonNullable<
|
||||
Awaited<ReturnType<typeof listEnums>>
|
||||
>;
|
||||
export type ListEnumsQueryError = void;
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof listEnums>>> = ({ signal }) => listEnums(requestOptions, signal);
|
||||
|
||||
export function useListEnums<
|
||||
TData = Awaited<ReturnType<typeof listEnums>>,
|
||||
TError = void,
|
||||
>(
|
||||
options: {
|
||||
query: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
|
||||
|
||||
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
}
|
||||
|
||||
export type ListEnumsQueryResult = NonNullable<Awaited<ReturnType<typeof listEnums>>>
|
||||
export type ListEnumsQueryError = void
|
||||
|
||||
|
||||
export function useListEnums<TData = Awaited<ReturnType<typeof listEnums>>, TError = void>(
|
||||
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>> & Pick<
|
||||
DefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof listEnums>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof listEnums>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): DefinedUseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useListEnums<
|
||||
TData = Awaited<ReturnType<typeof listEnums>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useListEnums<TData = Awaited<ReturnType<typeof listEnums>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>> & Pick<
|
||||
UndefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof listEnums>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof listEnums>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useListEnums<
|
||||
TData = Awaited<ReturnType<typeof listEnums>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useListEnums<TData = Awaited<ReturnType<typeof listEnums>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
/**
|
||||
* @summary 도메인 코드 enum 전체
|
||||
*/
|
||||
|
||||
export function useListEnums<
|
||||
TData = Awaited<ReturnType<typeof listEnums>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
} {
|
||||
const queryOptions = getListEnumsQueryOptions(options);
|
||||
export function useListEnums<TData = Awaited<ReturnType<typeof listEnums>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listEnums>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
||||
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<
|
||||
TData,
|
||||
TError
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
const queryOptions = getListEnumsQueryOptions(options)
|
||||
|
||||
query.queryKey = queryOptions.queryKey;
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
|
||||
query.queryKey = queryOptions.queryKey ;
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -5,6 +5,6 @@
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export interface BodyUploadItemsExcelV1ItemUploadExcelPost {
|
||||
export interface BodyUploadItemImageV1ItemImagePost {
|
||||
file: string;
|
||||
}
|
||||
@ -4,15 +4,15 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { CardDataUserId } from "./cardDataUserId";
|
||||
import type { CardDataName } from "./cardDataName";
|
||||
import type { CardDataNumber } from "./cardDataNumber";
|
||||
import type { CardDataScript } from "./cardDataScript";
|
||||
import type { CardDataEditScript } from "./cardDataEditScript";
|
||||
import type { CardDataCondition } from "./cardDataCondition";
|
||||
import type { CardDataMemo } from "./cardDataMemo";
|
||||
import type { CardDataCreatedAt } from "./cardDataCreatedAt";
|
||||
import type { CardDataUpdatedAt } from "./cardDataUpdatedAt";
|
||||
import type { CardDataUserId } from './cardDataUserId';
|
||||
import type { CardDataName } from './cardDataName';
|
||||
import type { CardDataNumber } from './cardDataNumber';
|
||||
import type { CardDataScript } from './cardDataScript';
|
||||
import type { CardDataEditScript } from './cardDataEditScript';
|
||||
import type { CardDataCondition } from './cardDataCondition';
|
||||
import type { CardDataMemo } from './cardDataMemo';
|
||||
import type { CardDataCreatedAt } from './cardDataCreatedAt';
|
||||
import type { CardDataUpdatedAt } from './cardDataUpdatedAt';
|
||||
|
||||
export interface CardData {
|
||||
nego_card_id: string;
|
||||
|
||||
@ -4,10 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ChatMessageDataCardId } from "./chatMessageDataCardId";
|
||||
import type { ChatMessageDataCardUsedYn } from "./chatMessageDataCardUsedYn";
|
||||
import type { ChatMessageDataIndicatorValue } from "./chatMessageDataIndicatorValue";
|
||||
import type { ChatMessageDataCardType } from "./chatMessageDataCardType";
|
||||
import type { ChatMessageDataCardId } from './chatMessageDataCardId';
|
||||
import type { ChatMessageDataCardUsedYn } from './chatMessageDataCardUsedYn';
|
||||
import type { ChatMessageDataIndicatorValue } from './chatMessageDataIndicatorValue';
|
||||
import type { ChatMessageDataCardType } from './chatMessageDataCardType';
|
||||
|
||||
export interface ChatMessageData {
|
||||
chat_id: string;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfoSuccess } from "./errorInfoSuccess";
|
||||
import type { ErrorInfoCode } from "./errorInfoCode";
|
||||
import type { ErrorInfoDesc } from "./errorInfoDesc";
|
||||
import type { ErrorInfoSuccess } from './errorInfoSuccess';
|
||||
import type { ErrorInfoCode } from './errorInfoCode';
|
||||
import type { ErrorInfoDesc } from './errorInfoDesc';
|
||||
|
||||
/**
|
||||
* 모든 응답에 공통으로 실리는 결과 정보. result.success / code / desc 로 내려간다.
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ValidationError } from "./validationError";
|
||||
import type { ValidationError } from './validationError';
|
||||
|
||||
export interface HTTPValidationError {
|
||||
detail?: ValidationError[];
|
||||
|
||||
@ -5,248 +5,253 @@
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export * from "./asyncJob";
|
||||
export * from "./bodyUploadItemsExcelV1ItemUploadExcelPost";
|
||||
export * from "./bodyUploadSuppliersExcelV1SupplierUploadExcelPost";
|
||||
export * from "./cardData";
|
||||
export * from "./cardDataCondition";
|
||||
export * from "./cardDataCreatedAt";
|
||||
export * from "./cardDataEditScript";
|
||||
export * from "./cardDataMemo";
|
||||
export * from "./cardDataName";
|
||||
export * from "./cardDataNumber";
|
||||
export * from "./cardDataScript";
|
||||
export * from "./cardDataUpdatedAt";
|
||||
export * from "./cardDataUserId";
|
||||
export * from "./chatMessageData";
|
||||
export * from "./chatMessageDataCardId";
|
||||
export * from "./chatMessageDataCardType";
|
||||
export * from "./chatMessageDataCardUsedYn";
|
||||
export * from "./chatMessageDataIndicatorValue";
|
||||
export * from "./companyData";
|
||||
export * from "./enumOption";
|
||||
export * from "./errorInfo";
|
||||
export * from "./errorInfoCode";
|
||||
export * from "./errorInfoDesc";
|
||||
export * from "./errorInfoSuccess";
|
||||
export * from "./hTTPValidationError";
|
||||
export * from "./itemCategory";
|
||||
export * from "./itemData";
|
||||
export * from "./itemDataCategory";
|
||||
export * from "./itemDataCode";
|
||||
export * from "./itemDataCreatedAt";
|
||||
export * from "./itemDataDeliveryFeeYn";
|
||||
export * from "./itemDataDeliveryType";
|
||||
export * from "./itemDataImageUrl";
|
||||
export * from "./itemDataLeadTime";
|
||||
export * from "./itemDataMadeIn";
|
||||
export * from "./itemDataManufacturer";
|
||||
export * from "./itemDataModelName";
|
||||
export * from "./itemDataMoq";
|
||||
export * from "./itemDataPrice";
|
||||
export * from "./itemDataQuantityUnit";
|
||||
export * from "./itemDataSpec";
|
||||
export * from "./itemDataUpdatedAt";
|
||||
export * from "./itemDataVatYn";
|
||||
export * from "./listCardsParams";
|
||||
export * from "./listItemsParams";
|
||||
export * from "./listQuotationsParams";
|
||||
export * from "./listSuppliersParams";
|
||||
export * from "./quotationCardData";
|
||||
export * from "./quotationCardDataName";
|
||||
export * from "./quotationCardDataNegoCardId";
|
||||
export * from "./quotationCardDataQtId";
|
||||
export * from "./quotationCardDataScript";
|
||||
export * from "./quotationCardDataType";
|
||||
export * from "./quotationCardDataWildCardId";
|
||||
export * from "./quotationData";
|
||||
export * from "./quotationDataCreatedAt";
|
||||
export * from "./quotationDataEqualBidData";
|
||||
export * from "./quotationDataEqualBidYn";
|
||||
export * from "./quotationDataManagerContactNumber";
|
||||
export * from "./quotationDataManagerEmail";
|
||||
export * from "./quotationDataManagerName";
|
||||
export * from "./quotationDataMemo";
|
||||
export * from "./quotationDataPreferredSpId";
|
||||
export * from "./quotationDataPreferredSpName";
|
||||
export * from "./quotationDataPreferredSpYn";
|
||||
export * from "./quotationDataUpdatedAt";
|
||||
export * from "./quotationSettingData";
|
||||
export * from "./quotationSettingDataCreatedAt";
|
||||
export * from "./quotationSettingDataUpdatedAt";
|
||||
export * from "./quotationSettingDataUserId";
|
||||
export * from "./reqCheckCodes";
|
||||
export * from "./reqCreateAccount";
|
||||
export * from "./reqCreateCard";
|
||||
export * from "./reqCreateCardCondition";
|
||||
export * from "./reqCreateCardEditScript";
|
||||
export * from "./reqCreateCardMemo";
|
||||
export * from "./reqCreateCardName";
|
||||
export * from "./reqCreateCardNumber";
|
||||
export * from "./reqCreateCardScript";
|
||||
export * from "./reqCreateItem";
|
||||
export * from "./reqCreateItemCategory";
|
||||
export * from "./reqCreateItemCode";
|
||||
export * from "./reqCreateItemDeliveryFeeYn";
|
||||
export * from "./reqCreateItemDeliveryType";
|
||||
export * from "./reqCreateItemImageUrl";
|
||||
export * from "./reqCreateItemLeadTime";
|
||||
export * from "./reqCreateItemMadeIn";
|
||||
export * from "./reqCreateItemManufacturer";
|
||||
export * from "./reqCreateItemModelName";
|
||||
export * from "./reqCreateItemMoq";
|
||||
export * from "./reqCreateItemPrice";
|
||||
export * from "./reqCreateItemQuantityUnit";
|
||||
export * from "./reqCreateItemSpec";
|
||||
export * from "./reqCreateItemVatYn";
|
||||
export * from "./reqCreateQuotation";
|
||||
export * from "./reqCreateQuotationManagerContactNumber";
|
||||
export * from "./reqCreateQuotationManagerEmail";
|
||||
export * from "./reqCreateQuotationManagerName";
|
||||
export * from "./reqCreateQuotationMemo";
|
||||
export * from "./reqCreateQuotationSetting";
|
||||
export * from "./reqCreateSupplier";
|
||||
export * from "./reqCreateSupplierCode";
|
||||
export * from "./reqCreateSupplierManagerContactNumber";
|
||||
export * from "./reqCreateSupplierManagerEmail";
|
||||
export * from "./reqCreateSupplierManagerName";
|
||||
export * from "./reqCreateSupplierPriority";
|
||||
export * from "./reqLogin";
|
||||
export * from "./reqUpdateCard";
|
||||
export * from "./reqUpdateCardCondition";
|
||||
export * from "./reqUpdateCardEditScript";
|
||||
export * from "./reqUpdateCardMemo";
|
||||
export * from "./reqUpdateCardName";
|
||||
export * from "./reqUpdateCardNumber";
|
||||
export * from "./reqUpdateCardScript";
|
||||
export * from "./reqUpdateCardStatus";
|
||||
export * from "./reqUpdateItem";
|
||||
export * from "./reqUpdateItemCategory";
|
||||
export * from "./reqUpdateItemCategoryType";
|
||||
export * from "./reqUpdateItemCode";
|
||||
export * from "./reqUpdateItemDeliveryFeeYn";
|
||||
export * from "./reqUpdateItemDeliveryType";
|
||||
export * from "./reqUpdateItemImageUrl";
|
||||
export * from "./reqUpdateItemInternetLowestPriceYn";
|
||||
export * from "./reqUpdateItemLeadTime";
|
||||
export * from "./reqUpdateItemMadeIn";
|
||||
export * from "./reqUpdateItemManufacturer";
|
||||
export * from "./reqUpdateItemModelName";
|
||||
export * from "./reqUpdateItemMoq";
|
||||
export * from "./reqUpdateItemName";
|
||||
export * from "./reqUpdateItemPrice";
|
||||
export * from "./reqUpdateItemQuantityUnit";
|
||||
export * from "./reqUpdateItemSpec";
|
||||
export * from "./reqUpdateItemVatYn";
|
||||
export * from "./reqUpdateQuotationSetting";
|
||||
export * from "./reqUpdateQuotationSettingAnchoringValue";
|
||||
export * from "./reqUpdateQuotationSettingCardCount";
|
||||
export * from "./reqUpdateQuotationSettingTargetMarginRate";
|
||||
export * from "./reqUpdateSupplier";
|
||||
export * from "./reqUpdateSupplierCode";
|
||||
export * from "./reqUpdateSupplierManagerContactNumber";
|
||||
export * from "./reqUpdateSupplierManagerEmail";
|
||||
export * from "./reqUpdateSupplierManagerName";
|
||||
export * from "./reqUpdateSupplierName";
|
||||
export * from "./reqUpdateSupplierPriority";
|
||||
export * from "./resCard";
|
||||
export * from "./resCardCard";
|
||||
export * from "./resCardList";
|
||||
export * from "./resCardListMsg";
|
||||
export * from "./resCardMsg";
|
||||
export * from "./resCheckCodes";
|
||||
export * from "./resCheckCodesMsg";
|
||||
export * from "./resCreateAccount";
|
||||
export * from "./resCreateAccountMsg";
|
||||
export * from "./resCreateQuotation";
|
||||
export * from "./resCreateQuotationAsyncJob";
|
||||
export * from "./resCreateQuotationMsg";
|
||||
export * from "./resCreateQuotationQuotation";
|
||||
export * from "./resDeleteCard";
|
||||
export * from "./resDeleteCardMsg";
|
||||
export * from "./resDeleteItem";
|
||||
export * from "./resDeleteItemMsg";
|
||||
export * from "./resDeleteQuotation";
|
||||
export * from "./resDeleteQuotationMsg";
|
||||
export * from "./resDeleteQuotationSetting";
|
||||
export * from "./resDeleteQuotationSettingMsg";
|
||||
export * from "./resDeleteSupplier";
|
||||
export * from "./resDeleteSupplierMsg";
|
||||
export * from "./resEnums";
|
||||
export * from "./resEnumsEnums";
|
||||
export * from "./resEnumsMsg";
|
||||
export * from "./resExcelUpload";
|
||||
export * from "./resExcelUploadMsg";
|
||||
export * from "./resExcelUploadReceivedFilename";
|
||||
export * from "./resItem";
|
||||
export * from "./resItemCategories";
|
||||
export * from "./resItemCategoriesMsg";
|
||||
export * from "./resItemItem";
|
||||
export * from "./resItemList";
|
||||
export * from "./resItemListMsg";
|
||||
export * from "./resItemMsg";
|
||||
export * from "./resLogin";
|
||||
export * from "./resLoginMsg";
|
||||
export * from "./resLowestPriceResult";
|
||||
export * from "./resLowestPriceResultMsg";
|
||||
export * from "./resLowestPriceTrigger";
|
||||
export * from "./resLowestPriceTriggerMsg";
|
||||
export * from "./resMe";
|
||||
export * from "./resMeCompany";
|
||||
export * from "./resMeContactNumber";
|
||||
export * from "./resMeEmail";
|
||||
export * from "./resMeMsg";
|
||||
export * from "./resMeName";
|
||||
export * from "./resQuotation";
|
||||
export * from "./resQuotationCards";
|
||||
export * from "./resQuotationCardsMsg";
|
||||
export * from "./resQuotationCardsQtId";
|
||||
export * from "./resQuotationList";
|
||||
export * from "./resQuotationListMsg";
|
||||
export * from "./resQuotationMsg";
|
||||
export * from "./resQuotationQuotation";
|
||||
export * from "./resQuotationResult";
|
||||
export * from "./resQuotationResultEqualBidData";
|
||||
export * from "./resQuotationResultIsEqualBid";
|
||||
export * from "./resQuotationResultMsg";
|
||||
export * from "./resQuotationResultQtId";
|
||||
export * from "./resQuotationResultWinnerSupplierId";
|
||||
export * from "./resQuotationResultWinnerSupplierName";
|
||||
export * from "./resQuotationSessions";
|
||||
export * from "./resQuotationSessionsMsg";
|
||||
export * from "./resQuotationSessionsQtId";
|
||||
export * from "./resQuotationSetting";
|
||||
export * from "./resQuotationSettingList";
|
||||
export * from "./resQuotationSettingListMsg";
|
||||
export * from "./resQuotationSettingMsg";
|
||||
export * from "./resQuotationSettingSetting";
|
||||
export * from "./resQuotationStatus";
|
||||
export * from "./resQuotationStatusMsg";
|
||||
export * from "./resQuotationStatusQtId";
|
||||
export * from "./resRefreshToken";
|
||||
export * from "./resRefreshTokenMsg";
|
||||
export * from "./resSessionChat";
|
||||
export * from "./resSessionChatMsg";
|
||||
export * from "./resSessionChatSessionId";
|
||||
export * from "./resSupplier";
|
||||
export * from "./resSupplierList";
|
||||
export * from "./resSupplierListMsg";
|
||||
export * from "./resSupplierMsg";
|
||||
export * from "./resSupplierSupplier";
|
||||
export * from "./sessionData";
|
||||
export * from "./sessionDataBidAt";
|
||||
export * from "./sessionDataBidPrice";
|
||||
export * from "./sessionDataRejectDeliveryType";
|
||||
export * from "./sessionDataRejectPrice";
|
||||
export * from "./sessionDataRejectReason";
|
||||
export * from "./supplierData";
|
||||
export * from "./supplierDataCode";
|
||||
export * from "./supplierDataCreatedAt";
|
||||
export * from "./supplierDataManagerContactNumber";
|
||||
export * from "./supplierDataManagerEmail";
|
||||
export * from "./supplierDataManagerName";
|
||||
export * from "./supplierDataPriority";
|
||||
export * from "./supplierDataUpdatedAt";
|
||||
export * from "./validationError";
|
||||
export * from "./validationErrorCtx";
|
||||
export * from "./validationErrorLocItem";
|
||||
export * from './asyncJob';
|
||||
export * from './bodyUploadItemImageV1ItemImagePost';
|
||||
export * from './cardData';
|
||||
export * from './cardDataCondition';
|
||||
export * from './cardDataCreatedAt';
|
||||
export * from './cardDataEditScript';
|
||||
export * from './cardDataMemo';
|
||||
export * from './cardDataName';
|
||||
export * from './cardDataNumber';
|
||||
export * from './cardDataScript';
|
||||
export * from './cardDataUpdatedAt';
|
||||
export * from './cardDataUserId';
|
||||
export * from './chatMessageData';
|
||||
export * from './chatMessageDataCardId';
|
||||
export * from './chatMessageDataCardType';
|
||||
export * from './chatMessageDataCardUsedYn';
|
||||
export * from './chatMessageDataIndicatorValue';
|
||||
export * from './companyData';
|
||||
export * from './enumOption';
|
||||
export * from './errorInfo';
|
||||
export * from './errorInfoCode';
|
||||
export * from './errorInfoDesc';
|
||||
export * from './errorInfoSuccess';
|
||||
export * from './hTTPValidationError';
|
||||
export * from './itemCategory';
|
||||
export * from './itemData';
|
||||
export * from './itemDataCategory';
|
||||
export * from './itemDataCode';
|
||||
export * from './itemDataCreatedAt';
|
||||
export * from './itemDataDeliveryFeeYn';
|
||||
export * from './itemDataDeliveryType';
|
||||
export * from './itemDataImageUrl';
|
||||
export * from './itemDataLeadTime';
|
||||
export * from './itemDataMadeIn';
|
||||
export * from './itemDataManufacturer';
|
||||
export * from './itemDataModelName';
|
||||
export * from './itemDataMoq';
|
||||
export * from './itemDataPrice';
|
||||
export * from './itemDataQuantityUnit';
|
||||
export * from './itemDataSpec';
|
||||
export * from './itemDataUpdatedAt';
|
||||
export * from './itemDataVatYn';
|
||||
export * from './listCardsParams';
|
||||
export * from './listItemsParams';
|
||||
export * from './listQuotationsParams';
|
||||
export * from './listSuppliersParams';
|
||||
export * from './quotationCardData';
|
||||
export * from './quotationCardDataCondition';
|
||||
export * from './quotationCardDataEditScript';
|
||||
export * from './quotationCardDataMemo';
|
||||
export * from './quotationCardDataName';
|
||||
export * from './quotationCardDataNegoCardId';
|
||||
export * from './quotationCardDataNumber';
|
||||
export * from './quotationCardDataQtId';
|
||||
export * from './quotationCardDataScript';
|
||||
export * from './quotationCardDataType';
|
||||
export * from './quotationCardDataWildCardId';
|
||||
export * from './quotationData';
|
||||
export * from './quotationDataCreatedAt';
|
||||
export * from './quotationDataEqualBidData';
|
||||
export * from './quotationDataEqualBidYn';
|
||||
export * from './quotationDataManagerContactNumber';
|
||||
export * from './quotationDataManagerEmail';
|
||||
export * from './quotationDataManagerName';
|
||||
export * from './quotationDataMemo';
|
||||
export * from './quotationDataPreferredSpId';
|
||||
export * from './quotationDataPreferredSpName';
|
||||
export * from './quotationDataPreferredSpYn';
|
||||
export * from './quotationDataUpdatedAt';
|
||||
export * from './quotationSettingData';
|
||||
export * from './quotationSettingDataCreatedAt';
|
||||
export * from './quotationSettingDataUpdatedAt';
|
||||
export * from './quotationSettingDataUserId';
|
||||
export * from './reqCheckCodes';
|
||||
export * from './reqCreateAccount';
|
||||
export * from './reqCreateCard';
|
||||
export * from './reqCreateCardCondition';
|
||||
export * from './reqCreateCardEditScript';
|
||||
export * from './reqCreateCardMemo';
|
||||
export * from './reqCreateCardName';
|
||||
export * from './reqCreateCardNumber';
|
||||
export * from './reqCreateCardScript';
|
||||
export * from './reqCreateItem';
|
||||
export * from './reqCreateItemCategory';
|
||||
export * from './reqCreateItemCode';
|
||||
export * from './reqCreateItemDeliveryFeeYn';
|
||||
export * from './reqCreateItemDeliveryType';
|
||||
export * from './reqCreateItemImageUrl';
|
||||
export * from './reqCreateItemLeadTime';
|
||||
export * from './reqCreateItemMadeIn';
|
||||
export * from './reqCreateItemManufacturer';
|
||||
export * from './reqCreateItemModelName';
|
||||
export * from './reqCreateItemMoq';
|
||||
export * from './reqCreateItemPrice';
|
||||
export * from './reqCreateItemQuantityUnit';
|
||||
export * from './reqCreateItemSpec';
|
||||
export * from './reqCreateItemVatYn';
|
||||
export * from './reqCreateQuotation';
|
||||
export * from './reqCreateQuotationManagerContactNumber';
|
||||
export * from './reqCreateQuotationManagerEmail';
|
||||
export * from './reqCreateQuotationManagerName';
|
||||
export * from './reqCreateQuotationMemo';
|
||||
export * from './reqCreateQuotationSetting';
|
||||
export * from './reqCreateSupplier';
|
||||
export * from './reqCreateSupplierCode';
|
||||
export * from './reqCreateSupplierManagerContactNumber';
|
||||
export * from './reqCreateSupplierManagerEmail';
|
||||
export * from './reqCreateSupplierManagerName';
|
||||
export * from './reqCreateSupplierPriority';
|
||||
export * from './reqLogin';
|
||||
export * from './reqUpdateCard';
|
||||
export * from './reqUpdateCardCondition';
|
||||
export * from './reqUpdateCardEditScript';
|
||||
export * from './reqUpdateCardMemo';
|
||||
export * from './reqUpdateCardName';
|
||||
export * from './reqUpdateCardNumber';
|
||||
export * from './reqUpdateCardScript';
|
||||
export * from './reqUpdateCardStatus';
|
||||
export * from './reqUpdateItem';
|
||||
export * from './reqUpdateItemCategory';
|
||||
export * from './reqUpdateItemCategoryType';
|
||||
export * from './reqUpdateItemCode';
|
||||
export * from './reqUpdateItemDeliveryFeeYn';
|
||||
export * from './reqUpdateItemDeliveryType';
|
||||
export * from './reqUpdateItemImageUrl';
|
||||
export * from './reqUpdateItemInternetLowestPriceYn';
|
||||
export * from './reqUpdateItemLeadTime';
|
||||
export * from './reqUpdateItemMadeIn';
|
||||
export * from './reqUpdateItemManufacturer';
|
||||
export * from './reqUpdateItemModelName';
|
||||
export * from './reqUpdateItemMoq';
|
||||
export * from './reqUpdateItemName';
|
||||
export * from './reqUpdateItemPrice';
|
||||
export * from './reqUpdateItemQuantityUnit';
|
||||
export * from './reqUpdateItemSpec';
|
||||
export * from './reqUpdateItemVatYn';
|
||||
export * from './reqUpdateQuotationSetting';
|
||||
export * from './reqUpdateQuotationSettingAnchoringValue';
|
||||
export * from './reqUpdateQuotationSettingCardCount';
|
||||
export * from './reqUpdateQuotationSettingTargetMarginRate';
|
||||
export * from './reqUpdateSupplier';
|
||||
export * from './reqUpdateSupplierCode';
|
||||
export * from './reqUpdateSupplierManagerContactNumber';
|
||||
export * from './reqUpdateSupplierManagerEmail';
|
||||
export * from './reqUpdateSupplierManagerName';
|
||||
export * from './reqUpdateSupplierName';
|
||||
export * from './reqUpdateSupplierPriority';
|
||||
export * from './resCard';
|
||||
export * from './resCardCard';
|
||||
export * from './resCardList';
|
||||
export * from './resCardListMsg';
|
||||
export * from './resCardMsg';
|
||||
export * from './resCheckCodes';
|
||||
export * from './resCheckCodesMsg';
|
||||
export * from './resCreateAccount';
|
||||
export * from './resCreateAccountMsg';
|
||||
export * from './resCreateQuotation';
|
||||
export * from './resCreateQuotationAsyncJob';
|
||||
export * from './resCreateQuotationMsg';
|
||||
export * from './resCreateQuotationQuotation';
|
||||
export * from './resDeleteCard';
|
||||
export * from './resDeleteCardMsg';
|
||||
export * from './resDeleteItem';
|
||||
export * from './resDeleteItemMsg';
|
||||
export * from './resDeleteQuotation';
|
||||
export * from './resDeleteQuotationMsg';
|
||||
export * from './resDeleteQuotationSetting';
|
||||
export * from './resDeleteQuotationSettingMsg';
|
||||
export * from './resDeleteSupplier';
|
||||
export * from './resDeleteSupplierMsg';
|
||||
export * from './resEnums';
|
||||
export * from './resEnumsEnums';
|
||||
export * from './resEnumsMsg';
|
||||
export * from './resItem';
|
||||
export * from './resItemCategories';
|
||||
export * from './resItemCategoriesMsg';
|
||||
export * from './resItemImage';
|
||||
export * from './resItemImageFilename';
|
||||
export * from './resItemImageImageUrl';
|
||||
export * from './resItemImageMsg';
|
||||
export * from './resItemImageSize';
|
||||
export * from './resItemItem';
|
||||
export * from './resItemList';
|
||||
export * from './resItemListMsg';
|
||||
export * from './resItemMsg';
|
||||
export * from './resLogin';
|
||||
export * from './resLoginMsg';
|
||||
export * from './resLowestPriceResult';
|
||||
export * from './resLowestPriceResultMsg';
|
||||
export * from './resLowestPriceTrigger';
|
||||
export * from './resLowestPriceTriggerMsg';
|
||||
export * from './resMe';
|
||||
export * from './resMeCompany';
|
||||
export * from './resMeContactNumber';
|
||||
export * from './resMeEmail';
|
||||
export * from './resMeMsg';
|
||||
export * from './resMeName';
|
||||
export * from './resQuotation';
|
||||
export * from './resQuotationCards';
|
||||
export * from './resQuotationCardsMsg';
|
||||
export * from './resQuotationCardsQtId';
|
||||
export * from './resQuotationList';
|
||||
export * from './resQuotationListMsg';
|
||||
export * from './resQuotationMsg';
|
||||
export * from './resQuotationQuotation';
|
||||
export * from './resQuotationResult';
|
||||
export * from './resQuotationResultEqualBidData';
|
||||
export * from './resQuotationResultIsEqualBid';
|
||||
export * from './resQuotationResultMsg';
|
||||
export * from './resQuotationResultQtId';
|
||||
export * from './resQuotationResultWinnerSupplierId';
|
||||
export * from './resQuotationResultWinnerSupplierName';
|
||||
export * from './resQuotationSessions';
|
||||
export * from './resQuotationSessionsMsg';
|
||||
export * from './resQuotationSessionsQtId';
|
||||
export * from './resQuotationSetting';
|
||||
export * from './resQuotationSettingList';
|
||||
export * from './resQuotationSettingListMsg';
|
||||
export * from './resQuotationSettingMsg';
|
||||
export * from './resQuotationSettingSetting';
|
||||
export * from './resQuotationStatus';
|
||||
export * from './resQuotationStatusMsg';
|
||||
export * from './resQuotationStatusQtId';
|
||||
export * from './resRefreshToken';
|
||||
export * from './resRefreshTokenMsg';
|
||||
export * from './resSessionChat';
|
||||
export * from './resSessionChatMsg';
|
||||
export * from './resSessionChatSessionId';
|
||||
export * from './resSupplier';
|
||||
export * from './resSupplierList';
|
||||
export * from './resSupplierListMsg';
|
||||
export * from './resSupplierMsg';
|
||||
export * from './resSupplierSupplier';
|
||||
export * from './sessionData';
|
||||
export * from './sessionDataBidAt';
|
||||
export * from './sessionDataBidPrice';
|
||||
export * from './sessionDataRejectDeliveryType';
|
||||
export * from './sessionDataRejectPrice';
|
||||
export * from './sessionDataRejectReason';
|
||||
export * from './supplierData';
|
||||
export * from './supplierDataCode';
|
||||
export * from './supplierDataCreatedAt';
|
||||
export * from './supplierDataManagerContactNumber';
|
||||
export * from './supplierDataManagerEmail';
|
||||
export * from './supplierDataManagerName';
|
||||
export * from './supplierDataPriority';
|
||||
export * from './supplierDataUpdatedAt';
|
||||
export * from './validationError';
|
||||
export * from './validationErrorCtx';
|
||||
export * from './validationErrorLocItem';
|
||||
@ -4,22 +4,22 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ItemDataCode } from "./itemDataCode";
|
||||
import type { ItemDataCategory } from "./itemDataCategory";
|
||||
import type { ItemDataImageUrl } from "./itemDataImageUrl";
|
||||
import type { ItemDataModelName } from "./itemDataModelName";
|
||||
import type { ItemDataSpec } from "./itemDataSpec";
|
||||
import type { ItemDataManufacturer } from "./itemDataManufacturer";
|
||||
import type { ItemDataMadeIn } from "./itemDataMadeIn";
|
||||
import type { ItemDataPrice } from "./itemDataPrice";
|
||||
import type { ItemDataMoq } from "./itemDataMoq";
|
||||
import type { ItemDataLeadTime } from "./itemDataLeadTime";
|
||||
import type { ItemDataQuantityUnit } from "./itemDataQuantityUnit";
|
||||
import type { ItemDataDeliveryType } from "./itemDataDeliveryType";
|
||||
import type { ItemDataVatYn } from "./itemDataVatYn";
|
||||
import type { ItemDataDeliveryFeeYn } from "./itemDataDeliveryFeeYn";
|
||||
import type { ItemDataCreatedAt } from "./itemDataCreatedAt";
|
||||
import type { ItemDataUpdatedAt } from "./itemDataUpdatedAt";
|
||||
import type { ItemDataCode } from './itemDataCode';
|
||||
import type { ItemDataCategory } from './itemDataCategory';
|
||||
import type { ItemDataImageUrl } from './itemDataImageUrl';
|
||||
import type { ItemDataModelName } from './itemDataModelName';
|
||||
import type { ItemDataSpec } from './itemDataSpec';
|
||||
import type { ItemDataManufacturer } from './itemDataManufacturer';
|
||||
import type { ItemDataMadeIn } from './itemDataMadeIn';
|
||||
import type { ItemDataPrice } from './itemDataPrice';
|
||||
import type { ItemDataMoq } from './itemDataMoq';
|
||||
import type { ItemDataLeadTime } from './itemDataLeadTime';
|
||||
import type { ItemDataQuantityUnit } from './itemDataQuantityUnit';
|
||||
import type { ItemDataDeliveryType } from './itemDataDeliveryType';
|
||||
import type { ItemDataVatYn } from './itemDataVatYn';
|
||||
import type { ItemDataDeliveryFeeYn } from './itemDataDeliveryFeeYn';
|
||||
import type { ItemDataCreatedAt } from './itemDataCreatedAt';
|
||||
import type { ItemDataUpdatedAt } from './itemDataUpdatedAt';
|
||||
|
||||
export interface ItemData {
|
||||
item_id: string;
|
||||
|
||||
@ -6,17 +6,17 @@
|
||||
*/
|
||||
|
||||
export type ListCardsParams = {
|
||||
/**
|
||||
* 카드명/카드번호/스크립트 검색
|
||||
*/
|
||||
search?: string | null;
|
||||
/**
|
||||
* @minimum 1
|
||||
*/
|
||||
page?: number;
|
||||
/**
|
||||
* @minimum 1
|
||||
* @maximum 100
|
||||
*/
|
||||
size?: number;
|
||||
/**
|
||||
* 카드명/카드번호/스크립트 검색
|
||||
*/
|
||||
search?: string | null;
|
||||
/**
|
||||
* @minimum 1
|
||||
*/
|
||||
page?: number;
|
||||
/**
|
||||
* @minimum 1
|
||||
* @maximum 100
|
||||
*/
|
||||
size?: number;
|
||||
};
|
||||
|
||||
@ -6,21 +6,21 @@
|
||||
*/
|
||||
|
||||
export type ListItemsParams = {
|
||||
/**
|
||||
* 상품명/상품코드 검색
|
||||
*/
|
||||
search?: string | null;
|
||||
/**
|
||||
* 카테고리 필터
|
||||
*/
|
||||
category?: string | null;
|
||||
/**
|
||||
* @minimum 1
|
||||
*/
|
||||
page?: number;
|
||||
/**
|
||||
* @minimum 1
|
||||
* @maximum 100
|
||||
*/
|
||||
size?: number;
|
||||
/**
|
||||
* 상품명/상품코드 검색
|
||||
*/
|
||||
search?: string | null;
|
||||
/**
|
||||
* 카테고리 필터
|
||||
*/
|
||||
category?: string | null;
|
||||
/**
|
||||
* @minimum 1
|
||||
*/
|
||||
page?: number;
|
||||
/**
|
||||
* @minimum 1
|
||||
* @maximum 100
|
||||
*/
|
||||
size?: number;
|
||||
};
|
||||
|
||||
@ -6,29 +6,29 @@
|
||||
*/
|
||||
|
||||
export type ListQuotationsParams = {
|
||||
/**
|
||||
* 상태 필터(정확히 일치)
|
||||
*/
|
||||
status?: string | null;
|
||||
/**
|
||||
* 유형 필터(정확히 일치)
|
||||
*/
|
||||
type?: string | null;
|
||||
/**
|
||||
* 시작일시 이후(ISO)
|
||||
*/
|
||||
start_from?: string | null;
|
||||
/**
|
||||
* 시작일시 이전(ISO)
|
||||
*/
|
||||
start_to?: string | null;
|
||||
/**
|
||||
* @minimum 1
|
||||
*/
|
||||
page?: number;
|
||||
/**
|
||||
* @minimum 1
|
||||
* @maximum 100
|
||||
*/
|
||||
size?: number;
|
||||
/**
|
||||
* 상태 필터(정확히 일치)
|
||||
*/
|
||||
status?: string | null;
|
||||
/**
|
||||
* 유형 필터(정확히 일치)
|
||||
*/
|
||||
type?: string | null;
|
||||
/**
|
||||
* 시작일시 이후(ISO)
|
||||
*/
|
||||
start_from?: string | null;
|
||||
/**
|
||||
* 시작일시 이전(ISO)
|
||||
*/
|
||||
start_to?: string | null;
|
||||
/**
|
||||
* @minimum 1
|
||||
*/
|
||||
page?: number;
|
||||
/**
|
||||
* @minimum 1
|
||||
* @maximum 100
|
||||
*/
|
||||
size?: number;
|
||||
};
|
||||
|
||||
@ -6,21 +6,21 @@
|
||||
*/
|
||||
|
||||
export type ListSuppliersParams = {
|
||||
/**
|
||||
* 협력사명/코드/담당자명 검색
|
||||
*/
|
||||
search?: string | null;
|
||||
/**
|
||||
* 우선순위 필터(HIGH/MEDIUM/LOW)
|
||||
*/
|
||||
priority?: string | null;
|
||||
/**
|
||||
* @minimum 1
|
||||
*/
|
||||
page?: number;
|
||||
/**
|
||||
* @minimum 1
|
||||
* @maximum 100
|
||||
*/
|
||||
size?: number;
|
||||
/**
|
||||
* 협력사명/코드/담당자명 검색
|
||||
*/
|
||||
search?: string | null;
|
||||
/**
|
||||
* 우선순위 필터(HIGH/MEDIUM/LOW)
|
||||
*/
|
||||
priority?: string | null;
|
||||
/**
|
||||
* @minimum 1
|
||||
*/
|
||||
page?: number;
|
||||
/**
|
||||
* @minimum 1
|
||||
* @maximum 100
|
||||
*/
|
||||
size?: number;
|
||||
};
|
||||
|
||||
@ -4,12 +4,16 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { QuotationCardDataQtId } from "./quotationCardDataQtId";
|
||||
import type { QuotationCardDataNegoCardId } from "./quotationCardDataNegoCardId";
|
||||
import type { QuotationCardDataWildCardId } from "./quotationCardDataWildCardId";
|
||||
import type { QuotationCardDataType } from "./quotationCardDataType";
|
||||
import type { QuotationCardDataName } from "./quotationCardDataName";
|
||||
import type { QuotationCardDataScript } from "./quotationCardDataScript";
|
||||
import type { QuotationCardDataQtId } from './quotationCardDataQtId';
|
||||
import type { QuotationCardDataNegoCardId } from './quotationCardDataNegoCardId';
|
||||
import type { QuotationCardDataWildCardId } from './quotationCardDataWildCardId';
|
||||
import type { QuotationCardDataType } from './quotationCardDataType';
|
||||
import type { QuotationCardDataNumber } from './quotationCardDataNumber';
|
||||
import type { QuotationCardDataName } from './quotationCardDataName';
|
||||
import type { QuotationCardDataScript } from './quotationCardDataScript';
|
||||
import type { QuotationCardDataEditScript } from './quotationCardDataEditScript';
|
||||
import type { QuotationCardDataCondition } from './quotationCardDataCondition';
|
||||
import type { QuotationCardDataMemo } from './quotationCardDataMemo';
|
||||
|
||||
export interface QuotationCardData {
|
||||
session_card_id: string;
|
||||
@ -17,6 +21,10 @@ export interface QuotationCardData {
|
||||
nego_card_id?: QuotationCardDataNegoCardId;
|
||||
wild_card_id?: QuotationCardDataWildCardId;
|
||||
type?: QuotationCardDataType;
|
||||
number?: QuotationCardDataNumber;
|
||||
name?: QuotationCardDataName;
|
||||
script?: QuotationCardDataScript;
|
||||
edit_script?: QuotationCardDataEditScript;
|
||||
condition?: QuotationCardDataCondition;
|
||||
memo?: QuotationCardDataMemo;
|
||||
}
|
||||
|
||||
@ -5,4 +5,4 @@
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type ResExcelUploadReceivedFilename = string | null;
|
||||
export type QuotationCardDataCondition = string | null;
|
||||
@ -5,6 +5,4 @@
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export interface BodyUploadSuppliersExcelV1SupplierUploadExcelPost {
|
||||
file: string;
|
||||
}
|
||||
export type QuotationCardDataEditScript = unknown | null;
|
||||
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type QuotationCardDataMemo = string | null;
|
||||
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type QuotationCardDataNumber = string | null;
|
||||
@ -4,17 +4,17 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { QuotationDataManagerName } from "./quotationDataManagerName";
|
||||
import type { QuotationDataManagerEmail } from "./quotationDataManagerEmail";
|
||||
import type { QuotationDataManagerContactNumber } from "./quotationDataManagerContactNumber";
|
||||
import type { QuotationDataMemo } from "./quotationDataMemo";
|
||||
import type { QuotationDataPreferredSpYn } from "./quotationDataPreferredSpYn";
|
||||
import type { QuotationDataPreferredSpId } from "./quotationDataPreferredSpId";
|
||||
import type { QuotationDataPreferredSpName } from "./quotationDataPreferredSpName";
|
||||
import type { QuotationDataEqualBidYn } from "./quotationDataEqualBidYn";
|
||||
import type { QuotationDataEqualBidData } from "./quotationDataEqualBidData";
|
||||
import type { QuotationDataCreatedAt } from "./quotationDataCreatedAt";
|
||||
import type { QuotationDataUpdatedAt } from "./quotationDataUpdatedAt";
|
||||
import type { QuotationDataManagerName } from './quotationDataManagerName';
|
||||
import type { QuotationDataManagerEmail } from './quotationDataManagerEmail';
|
||||
import type { QuotationDataManagerContactNumber } from './quotationDataManagerContactNumber';
|
||||
import type { QuotationDataMemo } from './quotationDataMemo';
|
||||
import type { QuotationDataPreferredSpYn } from './quotationDataPreferredSpYn';
|
||||
import type { QuotationDataPreferredSpId } from './quotationDataPreferredSpId';
|
||||
import type { QuotationDataPreferredSpName } from './quotationDataPreferredSpName';
|
||||
import type { QuotationDataEqualBidYn } from './quotationDataEqualBidYn';
|
||||
import type { QuotationDataEqualBidData } from './quotationDataEqualBidData';
|
||||
import type { QuotationDataCreatedAt } from './quotationDataCreatedAt';
|
||||
import type { QuotationDataUpdatedAt } from './quotationDataUpdatedAt';
|
||||
|
||||
export interface QuotationData {
|
||||
qt_id: string;
|
||||
@ -38,6 +38,7 @@ export interface QuotationData {
|
||||
preferred_sp_name?: QuotationDataPreferredSpName;
|
||||
equal_bid_yn?: QuotationDataEqualBidYn;
|
||||
equal_bid_data?: QuotationDataEqualBidData;
|
||||
participation_count?: number;
|
||||
created_at?: QuotationDataCreatedAt;
|
||||
updated_at?: QuotationDataUpdatedAt;
|
||||
}
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { QuotationSettingDataUserId } from "./quotationSettingDataUserId";
|
||||
import type { QuotationSettingDataCreatedAt } from "./quotationSettingDataCreatedAt";
|
||||
import type { QuotationSettingDataUpdatedAt } from "./quotationSettingDataUpdatedAt";
|
||||
import type { QuotationSettingDataUserId } from './quotationSettingDataUserId';
|
||||
import type { QuotationSettingDataCreatedAt } from './quotationSettingDataCreatedAt';
|
||||
import type { QuotationSettingDataUpdatedAt } from './quotationSettingDataUpdatedAt';
|
||||
|
||||
export interface QuotationSettingData {
|
||||
qt_setting_id: string;
|
||||
|
||||
@ -4,12 +4,12 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ReqCreateCardName } from "./reqCreateCardName";
|
||||
import type { ReqCreateCardNumber } from "./reqCreateCardNumber";
|
||||
import type { ReqCreateCardScript } from "./reqCreateCardScript";
|
||||
import type { ReqCreateCardEditScript } from "./reqCreateCardEditScript";
|
||||
import type { ReqCreateCardCondition } from "./reqCreateCardCondition";
|
||||
import type { ReqCreateCardMemo } from "./reqCreateCardMemo";
|
||||
import type { ReqCreateCardName } from './reqCreateCardName';
|
||||
import type { ReqCreateCardNumber } from './reqCreateCardNumber';
|
||||
import type { ReqCreateCardScript } from './reqCreateCardScript';
|
||||
import type { ReqCreateCardEditScript } from './reqCreateCardEditScript';
|
||||
import type { ReqCreateCardCondition } from './reqCreateCardCondition';
|
||||
import type { ReqCreateCardMemo } from './reqCreateCardMemo';
|
||||
|
||||
export interface ReqCreateCard {
|
||||
is_wildcard?: boolean;
|
||||
|
||||
@ -4,20 +4,20 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ReqCreateItemCode } from "./reqCreateItemCode";
|
||||
import type { ReqCreateItemCategory } from "./reqCreateItemCategory";
|
||||
import type { ReqCreateItemImageUrl } from "./reqCreateItemImageUrl";
|
||||
import type { ReqCreateItemModelName } from "./reqCreateItemModelName";
|
||||
import type { ReqCreateItemSpec } from "./reqCreateItemSpec";
|
||||
import type { ReqCreateItemManufacturer } from "./reqCreateItemManufacturer";
|
||||
import type { ReqCreateItemMadeIn } from "./reqCreateItemMadeIn";
|
||||
import type { ReqCreateItemPrice } from "./reqCreateItemPrice";
|
||||
import type { ReqCreateItemMoq } from "./reqCreateItemMoq";
|
||||
import type { ReqCreateItemLeadTime } from "./reqCreateItemLeadTime";
|
||||
import type { ReqCreateItemQuantityUnit } from "./reqCreateItemQuantityUnit";
|
||||
import type { ReqCreateItemDeliveryType } from "./reqCreateItemDeliveryType";
|
||||
import type { ReqCreateItemVatYn } from "./reqCreateItemVatYn";
|
||||
import type { ReqCreateItemDeliveryFeeYn } from "./reqCreateItemDeliveryFeeYn";
|
||||
import type { ReqCreateItemCode } from './reqCreateItemCode';
|
||||
import type { ReqCreateItemCategory } from './reqCreateItemCategory';
|
||||
import type { ReqCreateItemImageUrl } from './reqCreateItemImageUrl';
|
||||
import type { ReqCreateItemModelName } from './reqCreateItemModelName';
|
||||
import type { ReqCreateItemSpec } from './reqCreateItemSpec';
|
||||
import type { ReqCreateItemManufacturer } from './reqCreateItemManufacturer';
|
||||
import type { ReqCreateItemMadeIn } from './reqCreateItemMadeIn';
|
||||
import type { ReqCreateItemPrice } from './reqCreateItemPrice';
|
||||
import type { ReqCreateItemMoq } from './reqCreateItemMoq';
|
||||
import type { ReqCreateItemLeadTime } from './reqCreateItemLeadTime';
|
||||
import type { ReqCreateItemQuantityUnit } from './reqCreateItemQuantityUnit';
|
||||
import type { ReqCreateItemDeliveryType } from './reqCreateItemDeliveryType';
|
||||
import type { ReqCreateItemVatYn } from './reqCreateItemVatYn';
|
||||
import type { ReqCreateItemDeliveryFeeYn } from './reqCreateItemDeliveryFeeYn';
|
||||
|
||||
export interface ReqCreateItem {
|
||||
name?: string;
|
||||
|
||||
@ -4,10 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ReqCreateQuotationManagerName } from "./reqCreateQuotationManagerName";
|
||||
import type { ReqCreateQuotationManagerEmail } from "./reqCreateQuotationManagerEmail";
|
||||
import type { ReqCreateQuotationManagerContactNumber } from "./reqCreateQuotationManagerContactNumber";
|
||||
import type { ReqCreateQuotationMemo } from "./reqCreateQuotationMemo";
|
||||
import type { ReqCreateQuotationManagerName } from './reqCreateQuotationManagerName';
|
||||
import type { ReqCreateQuotationManagerEmail } from './reqCreateQuotationManagerEmail';
|
||||
import type { ReqCreateQuotationManagerContactNumber } from './reqCreateQuotationManagerContactNumber';
|
||||
import type { ReqCreateQuotationMemo } from './reqCreateQuotationMemo';
|
||||
|
||||
export interface ReqCreateQuotation {
|
||||
qt_setting_id: string;
|
||||
|
||||
@ -4,11 +4,11 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ReqCreateSupplierCode } from "./reqCreateSupplierCode";
|
||||
import type { ReqCreateSupplierManagerName } from "./reqCreateSupplierManagerName";
|
||||
import type { ReqCreateSupplierManagerEmail } from "./reqCreateSupplierManagerEmail";
|
||||
import type { ReqCreateSupplierManagerContactNumber } from "./reqCreateSupplierManagerContactNumber";
|
||||
import type { ReqCreateSupplierPriority } from "./reqCreateSupplierPriority";
|
||||
import type { ReqCreateSupplierCode } from './reqCreateSupplierCode';
|
||||
import type { ReqCreateSupplierManagerName } from './reqCreateSupplierManagerName';
|
||||
import type { ReqCreateSupplierManagerEmail } from './reqCreateSupplierManagerEmail';
|
||||
import type { ReqCreateSupplierManagerContactNumber } from './reqCreateSupplierManagerContactNumber';
|
||||
import type { ReqCreateSupplierPriority } from './reqCreateSupplierPriority';
|
||||
|
||||
export interface ReqCreateSupplier {
|
||||
name?: string;
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ReqUpdateCardName } from "./reqUpdateCardName";
|
||||
import type { ReqUpdateCardNumber } from "./reqUpdateCardNumber";
|
||||
import type { ReqUpdateCardScript } from "./reqUpdateCardScript";
|
||||
import type { ReqUpdateCardEditScript } from "./reqUpdateCardEditScript";
|
||||
import type { ReqUpdateCardStatus } from "./reqUpdateCardStatus";
|
||||
import type { ReqUpdateCardCondition } from "./reqUpdateCardCondition";
|
||||
import type { ReqUpdateCardMemo } from "./reqUpdateCardMemo";
|
||||
import type { ReqUpdateCardName } from './reqUpdateCardName';
|
||||
import type { ReqUpdateCardNumber } from './reqUpdateCardNumber';
|
||||
import type { ReqUpdateCardScript } from './reqUpdateCardScript';
|
||||
import type { ReqUpdateCardEditScript } from './reqUpdateCardEditScript';
|
||||
import type { ReqUpdateCardStatus } from './reqUpdateCardStatus';
|
||||
import type { ReqUpdateCardCondition } from './reqUpdateCardCondition';
|
||||
import type { ReqUpdateCardMemo } from './reqUpdateCardMemo';
|
||||
|
||||
export interface ReqUpdateCard {
|
||||
name?: ReqUpdateCardName;
|
||||
|
||||
@ -4,23 +4,23 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ReqUpdateItemName } from "./reqUpdateItemName";
|
||||
import type { ReqUpdateItemCode } from "./reqUpdateItemCode";
|
||||
import type { ReqUpdateItemCategory } from "./reqUpdateItemCategory";
|
||||
import type { ReqUpdateItemCategoryType } from "./reqUpdateItemCategoryType";
|
||||
import type { ReqUpdateItemImageUrl } from "./reqUpdateItemImageUrl";
|
||||
import type { ReqUpdateItemModelName } from "./reqUpdateItemModelName";
|
||||
import type { ReqUpdateItemSpec } from "./reqUpdateItemSpec";
|
||||
import type { ReqUpdateItemManufacturer } from "./reqUpdateItemManufacturer";
|
||||
import type { ReqUpdateItemMadeIn } from "./reqUpdateItemMadeIn";
|
||||
import type { ReqUpdateItemPrice } from "./reqUpdateItemPrice";
|
||||
import type { ReqUpdateItemInternetLowestPriceYn } from "./reqUpdateItemInternetLowestPriceYn";
|
||||
import type { ReqUpdateItemMoq } from "./reqUpdateItemMoq";
|
||||
import type { ReqUpdateItemLeadTime } from "./reqUpdateItemLeadTime";
|
||||
import type { ReqUpdateItemQuantityUnit } from "./reqUpdateItemQuantityUnit";
|
||||
import type { ReqUpdateItemDeliveryType } from "./reqUpdateItemDeliveryType";
|
||||
import type { ReqUpdateItemVatYn } from "./reqUpdateItemVatYn";
|
||||
import type { ReqUpdateItemDeliveryFeeYn } from "./reqUpdateItemDeliveryFeeYn";
|
||||
import type { ReqUpdateItemName } from './reqUpdateItemName';
|
||||
import type { ReqUpdateItemCode } from './reqUpdateItemCode';
|
||||
import type { ReqUpdateItemCategory } from './reqUpdateItemCategory';
|
||||
import type { ReqUpdateItemCategoryType } from './reqUpdateItemCategoryType';
|
||||
import type { ReqUpdateItemImageUrl } from './reqUpdateItemImageUrl';
|
||||
import type { ReqUpdateItemModelName } from './reqUpdateItemModelName';
|
||||
import type { ReqUpdateItemSpec } from './reqUpdateItemSpec';
|
||||
import type { ReqUpdateItemManufacturer } from './reqUpdateItemManufacturer';
|
||||
import type { ReqUpdateItemMadeIn } from './reqUpdateItemMadeIn';
|
||||
import type { ReqUpdateItemPrice } from './reqUpdateItemPrice';
|
||||
import type { ReqUpdateItemInternetLowestPriceYn } from './reqUpdateItemInternetLowestPriceYn';
|
||||
import type { ReqUpdateItemMoq } from './reqUpdateItemMoq';
|
||||
import type { ReqUpdateItemLeadTime } from './reqUpdateItemLeadTime';
|
||||
import type { ReqUpdateItemQuantityUnit } from './reqUpdateItemQuantityUnit';
|
||||
import type { ReqUpdateItemDeliveryType } from './reqUpdateItemDeliveryType';
|
||||
import type { ReqUpdateItemVatYn } from './reqUpdateItemVatYn';
|
||||
import type { ReqUpdateItemDeliveryFeeYn } from './reqUpdateItemDeliveryFeeYn';
|
||||
|
||||
export interface ReqUpdateItem {
|
||||
name?: ReqUpdateItemName;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ReqUpdateQuotationSettingTargetMarginRate } from "./reqUpdateQuotationSettingTargetMarginRate";
|
||||
import type { ReqUpdateQuotationSettingAnchoringValue } from "./reqUpdateQuotationSettingAnchoringValue";
|
||||
import type { ReqUpdateQuotationSettingCardCount } from "./reqUpdateQuotationSettingCardCount";
|
||||
import type { ReqUpdateQuotationSettingTargetMarginRate } from './reqUpdateQuotationSettingTargetMarginRate';
|
||||
import type { ReqUpdateQuotationSettingAnchoringValue } from './reqUpdateQuotationSettingAnchoringValue';
|
||||
import type { ReqUpdateQuotationSettingCardCount } from './reqUpdateQuotationSettingCardCount';
|
||||
|
||||
export interface ReqUpdateQuotationSetting {
|
||||
target_margin_rate?: ReqUpdateQuotationSettingTargetMarginRate;
|
||||
|
||||
@ -4,12 +4,12 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ReqUpdateSupplierName } from "./reqUpdateSupplierName";
|
||||
import type { ReqUpdateSupplierCode } from "./reqUpdateSupplierCode";
|
||||
import type { ReqUpdateSupplierManagerName } from "./reqUpdateSupplierManagerName";
|
||||
import type { ReqUpdateSupplierManagerEmail } from "./reqUpdateSupplierManagerEmail";
|
||||
import type { ReqUpdateSupplierManagerContactNumber } from "./reqUpdateSupplierManagerContactNumber";
|
||||
import type { ReqUpdateSupplierPriority } from "./reqUpdateSupplierPriority";
|
||||
import type { ReqUpdateSupplierName } from './reqUpdateSupplierName';
|
||||
import type { ReqUpdateSupplierCode } from './reqUpdateSupplierCode';
|
||||
import type { ReqUpdateSupplierManagerName } from './reqUpdateSupplierManagerName';
|
||||
import type { ReqUpdateSupplierManagerEmail } from './reqUpdateSupplierManagerEmail';
|
||||
import type { ReqUpdateSupplierManagerContactNumber } from './reqUpdateSupplierManagerContactNumber';
|
||||
import type { ReqUpdateSupplierPriority } from './reqUpdateSupplierPriority';
|
||||
|
||||
export interface ReqUpdateSupplier {
|
||||
name?: ReqUpdateSupplierName;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResCardMsg } from "./resCardMsg";
|
||||
import type { ResCardCard } from "./resCardCard";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResCardMsg } from './resCardMsg';
|
||||
import type { ResCardCard } from './resCardCard';
|
||||
|
||||
export interface ResCard {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { CardData } from "./cardData";
|
||||
import type { CardData } from './cardData';
|
||||
|
||||
export type ResCardCard = CardData | null;
|
||||
|
||||
@ -4,15 +4,15 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResCardListMsg } from "./resCardListMsg";
|
||||
import type { CardData } from "./cardData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResCardListMsg } from './resCardListMsg';
|
||||
import type { CardData } from './cardData';
|
||||
|
||||
export interface ResCardList {
|
||||
result?: ErrorInfo;
|
||||
msg?: ResCardListMsg;
|
||||
cards?: CardData[];
|
||||
total?: number;
|
||||
page?: number;
|
||||
size?: number;
|
||||
cards?: CardData[];
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResCheckCodesMsg } from "./resCheckCodesMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResCheckCodesMsg } from './resCheckCodesMsg';
|
||||
|
||||
export interface ResCheckCodes {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResCreateAccountMsg } from "./resCreateAccountMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResCreateAccountMsg } from './resCreateAccountMsg';
|
||||
|
||||
export interface ResCreateAccount {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,10 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResCreateQuotationMsg } from "./resCreateQuotationMsg";
|
||||
import type { ResCreateQuotationQuotation } from "./resCreateQuotationQuotation";
|
||||
import type { ResCreateQuotationAsyncJob } from "./resCreateQuotationAsyncJob";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResCreateQuotationMsg } from './resCreateQuotationMsg';
|
||||
import type { ResCreateQuotationQuotation } from './resCreateQuotationQuotation';
|
||||
import type { ResCreateQuotationAsyncJob } from './resCreateQuotationAsyncJob';
|
||||
|
||||
export interface ResCreateQuotation {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { AsyncJob } from "./asyncJob";
|
||||
import type { AsyncJob } from './asyncJob';
|
||||
|
||||
export type ResCreateQuotationAsyncJob = AsyncJob | null;
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { QuotationData } from "./quotationData";
|
||||
import type { QuotationData } from './quotationData';
|
||||
|
||||
export type ResCreateQuotationQuotation = QuotationData | null;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResDeleteCardMsg } from "./resDeleteCardMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResDeleteCardMsg } from './resDeleteCardMsg';
|
||||
|
||||
export interface ResDeleteCard {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResDeleteItemMsg } from "./resDeleteItemMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResDeleteItemMsg } from './resDeleteItemMsg';
|
||||
|
||||
export interface ResDeleteItem {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResDeleteQuotationMsg } from "./resDeleteQuotationMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResDeleteQuotationMsg } from './resDeleteQuotationMsg';
|
||||
|
||||
export interface ResDeleteQuotation {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResDeleteQuotationSettingMsg } from "./resDeleteQuotationSettingMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResDeleteQuotationSettingMsg } from './resDeleteQuotationSettingMsg';
|
||||
|
||||
export interface ResDeleteQuotationSetting {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResDeleteSupplierMsg } from "./resDeleteSupplierMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResDeleteSupplierMsg } from './resDeleteSupplierMsg';
|
||||
|
||||
export interface ResDeleteSupplier {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResEnumsMsg } from "./resEnumsMsg";
|
||||
import type { ResEnumsEnums } from "./resEnumsEnums";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResEnumsMsg } from './resEnumsMsg';
|
||||
import type { ResEnumsEnums } from './resEnumsEnums';
|
||||
|
||||
export interface ResEnums {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { EnumOption } from "./enumOption";
|
||||
import type { EnumOption } from './enumOption';
|
||||
|
||||
export type ResEnumsEnums = { [key: string]: EnumOption[] };
|
||||
export type ResEnumsEnums = {[key: string]: EnumOption[]};
|
||||
|
||||
@ -1,17 +0,0 @@
|
||||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResExcelUploadMsg } from "./resExcelUploadMsg";
|
||||
import type { ResExcelUploadReceivedFilename } from "./resExcelUploadReceivedFilename";
|
||||
|
||||
export interface ResExcelUpload {
|
||||
result?: ErrorInfo;
|
||||
msg?: ResExcelUploadMsg;
|
||||
received_filename?: ResExcelUploadReceivedFilename;
|
||||
status?: string;
|
||||
message?: string;
|
||||
}
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResItemMsg } from "./resItemMsg";
|
||||
import type { ResItemItem } from "./resItemItem";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResItemMsg } from './resItemMsg';
|
||||
import type { ResItemItem } from './resItemItem';
|
||||
|
||||
export interface ResItem {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResItemCategoriesMsg } from "./resItemCategoriesMsg";
|
||||
import type { ItemCategory } from "./itemCategory";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResItemCategoriesMsg } from './resItemCategoriesMsg';
|
||||
import type { ItemCategory } from './itemCategory';
|
||||
|
||||
export interface ResItemCategories {
|
||||
result?: ErrorInfo;
|
||||
|
||||
19
negodata/front/src/api/generated/model/resItemImage.ts
Normal file
19
negodata/front/src/api/generated/model/resItemImage.ts
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResItemImageMsg } from './resItemImageMsg';
|
||||
import type { ResItemImageImageUrl } from './resItemImageImageUrl';
|
||||
import type { ResItemImageFilename } from './resItemImageFilename';
|
||||
import type { ResItemImageSize } from './resItemImageSize';
|
||||
|
||||
export interface ResItemImage {
|
||||
result?: ErrorInfo;
|
||||
msg?: ResItemImageMsg;
|
||||
image_url?: ResItemImageImageUrl;
|
||||
filename?: ResItemImageFilename;
|
||||
size?: ResItemImageSize;
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type ResItemImageFilename = string | null;
|
||||
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type ResItemImageImageUrl = string | null;
|
||||
@ -5,4 +5,4 @@
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type ResExcelUploadMsg = string | null;
|
||||
export type ResItemImageMsg = string | null;
|
||||
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type ResItemImageSize = number | null;
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ItemData } from "./itemData";
|
||||
import type { ItemData } from './itemData';
|
||||
|
||||
export type ResItemItem = ItemData | null;
|
||||
|
||||
@ -4,15 +4,15 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResItemListMsg } from "./resItemListMsg";
|
||||
import type { ItemData } from "./itemData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResItemListMsg } from './resItemListMsg';
|
||||
import type { ItemData } from './itemData';
|
||||
|
||||
export interface ResItemList {
|
||||
result?: ErrorInfo;
|
||||
msg?: ResItemListMsg;
|
||||
items?: ItemData[];
|
||||
total?: number;
|
||||
page?: number;
|
||||
size?: number;
|
||||
items?: ItemData[];
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResLoginMsg } from "./resLoginMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResLoginMsg } from './resLoginMsg';
|
||||
|
||||
export interface ResLogin {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResLowestPriceResultMsg } from "./resLowestPriceResultMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResLowestPriceResultMsg } from './resLowestPriceResultMsg';
|
||||
|
||||
export interface ResLowestPriceResult {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResLowestPriceTriggerMsg } from "./resLowestPriceTriggerMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResLowestPriceTriggerMsg } from './resLowestPriceTriggerMsg';
|
||||
|
||||
export interface ResLowestPriceTrigger {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,12 +4,12 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResMeMsg } from "./resMeMsg";
|
||||
import type { ResMeName } from "./resMeName";
|
||||
import type { ResMeEmail } from "./resMeEmail";
|
||||
import type { ResMeContactNumber } from "./resMeContactNumber";
|
||||
import type { ResMeCompany } from "./resMeCompany";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResMeMsg } from './resMeMsg';
|
||||
import type { ResMeName } from './resMeName';
|
||||
import type { ResMeEmail } from './resMeEmail';
|
||||
import type { ResMeContactNumber } from './resMeContactNumber';
|
||||
import type { ResMeCompany } from './resMeCompany';
|
||||
|
||||
export interface ResMe {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { CompanyData } from "./companyData";
|
||||
import type { CompanyData } from './companyData';
|
||||
|
||||
export type ResMeCompany = CompanyData | null;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResQuotationMsg } from "./resQuotationMsg";
|
||||
import type { ResQuotationQuotation } from "./resQuotationQuotation";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResQuotationMsg } from './resQuotationMsg';
|
||||
import type { ResQuotationQuotation } from './resQuotationQuotation';
|
||||
|
||||
export interface ResQuotation {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,10 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResQuotationCardsMsg } from "./resQuotationCardsMsg";
|
||||
import type { ResQuotationCardsQtId } from "./resQuotationCardsQtId";
|
||||
import type { QuotationCardData } from "./quotationCardData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResQuotationCardsMsg } from './resQuotationCardsMsg';
|
||||
import type { ResQuotationCardsQtId } from './resQuotationCardsQtId';
|
||||
import type { QuotationCardData } from './quotationCardData';
|
||||
|
||||
export interface ResQuotationCards {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,15 +4,15 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResQuotationListMsg } from "./resQuotationListMsg";
|
||||
import type { QuotationData } from "./quotationData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResQuotationListMsg } from './resQuotationListMsg';
|
||||
import type { QuotationData } from './quotationData';
|
||||
|
||||
export interface ResQuotationList {
|
||||
result?: ErrorInfo;
|
||||
msg?: ResQuotationListMsg;
|
||||
quotations?: QuotationData[];
|
||||
total?: number;
|
||||
page?: number;
|
||||
size?: number;
|
||||
quotations?: QuotationData[];
|
||||
}
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { QuotationData } from "./quotationData";
|
||||
import type { QuotationData } from './quotationData';
|
||||
|
||||
export type ResQuotationQuotation = QuotationData | null;
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResQuotationResultMsg } from "./resQuotationResultMsg";
|
||||
import type { ResQuotationResultQtId } from "./resQuotationResultQtId";
|
||||
import type { ResQuotationResultWinnerSupplierId } from "./resQuotationResultWinnerSupplierId";
|
||||
import type { ResQuotationResultWinnerSupplierName } from "./resQuotationResultWinnerSupplierName";
|
||||
import type { ResQuotationResultIsEqualBid } from "./resQuotationResultIsEqualBid";
|
||||
import type { ResQuotationResultEqualBidData } from "./resQuotationResultEqualBidData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResQuotationResultMsg } from './resQuotationResultMsg';
|
||||
import type { ResQuotationResultQtId } from './resQuotationResultQtId';
|
||||
import type { ResQuotationResultWinnerSupplierId } from './resQuotationResultWinnerSupplierId';
|
||||
import type { ResQuotationResultWinnerSupplierName } from './resQuotationResultWinnerSupplierName';
|
||||
import type { ResQuotationResultIsEqualBid } from './resQuotationResultIsEqualBid';
|
||||
import type { ResQuotationResultEqualBidData } from './resQuotationResultEqualBidData';
|
||||
|
||||
export interface ResQuotationResult {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,10 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResQuotationSessionsMsg } from "./resQuotationSessionsMsg";
|
||||
import type { ResQuotationSessionsQtId } from "./resQuotationSessionsQtId";
|
||||
import type { SessionData } from "./sessionData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResQuotationSessionsMsg } from './resQuotationSessionsMsg';
|
||||
import type { ResQuotationSessionsQtId } from './resQuotationSessionsQtId';
|
||||
import type { SessionData } from './sessionData';
|
||||
|
||||
export interface ResQuotationSessions {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResQuotationSettingMsg } from "./resQuotationSettingMsg";
|
||||
import type { ResQuotationSettingSetting } from "./resQuotationSettingSetting";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResQuotationSettingMsg } from './resQuotationSettingMsg';
|
||||
import type { ResQuotationSettingSetting } from './resQuotationSettingSetting';
|
||||
|
||||
export interface ResQuotationSetting {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResQuotationSettingListMsg } from "./resQuotationSettingListMsg";
|
||||
import type { QuotationSettingData } from "./quotationSettingData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResQuotationSettingListMsg } from './resQuotationSettingListMsg';
|
||||
import type { QuotationSettingData } from './quotationSettingData';
|
||||
|
||||
export interface ResQuotationSettingList {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { QuotationSettingData } from "./quotationSettingData";
|
||||
import type { QuotationSettingData } from './quotationSettingData';
|
||||
|
||||
export type ResQuotationSettingSetting = QuotationSettingData | null;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResQuotationStatusMsg } from "./resQuotationStatusMsg";
|
||||
import type { ResQuotationStatusQtId } from "./resQuotationStatusQtId";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResQuotationStatusMsg } from './resQuotationStatusMsg';
|
||||
import type { ResQuotationStatusQtId } from './resQuotationStatusQtId';
|
||||
|
||||
export interface ResQuotationStatus {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResRefreshTokenMsg } from "./resRefreshTokenMsg";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResRefreshTokenMsg } from './resRefreshTokenMsg';
|
||||
|
||||
export interface ResRefreshToken {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,10 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResSessionChatMsg } from "./resSessionChatMsg";
|
||||
import type { ResSessionChatSessionId } from "./resSessionChatSessionId";
|
||||
import type { ChatMessageData } from "./chatMessageData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResSessionChatMsg } from './resSessionChatMsg';
|
||||
import type { ResSessionChatSessionId } from './resSessionChatSessionId';
|
||||
import type { ChatMessageData } from './chatMessageData';
|
||||
|
||||
export interface ResSessionChat {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResSupplierMsg } from "./resSupplierMsg";
|
||||
import type { ResSupplierSupplier } from "./resSupplierSupplier";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResSupplierMsg } from './resSupplierMsg';
|
||||
import type { ResSupplierSupplier } from './resSupplierSupplier';
|
||||
|
||||
export interface ResSupplier {
|
||||
result?: ErrorInfo;
|
||||
|
||||
@ -4,15 +4,15 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ErrorInfo } from "./errorInfo";
|
||||
import type { ResSupplierListMsg } from "./resSupplierListMsg";
|
||||
import type { SupplierData } from "./supplierData";
|
||||
import type { ErrorInfo } from './errorInfo';
|
||||
import type { ResSupplierListMsg } from './resSupplierListMsg';
|
||||
import type { SupplierData } from './supplierData';
|
||||
|
||||
export interface ResSupplierList {
|
||||
result?: ErrorInfo;
|
||||
msg?: ResSupplierListMsg;
|
||||
suppliers?: SupplierData[];
|
||||
total?: number;
|
||||
page?: number;
|
||||
size?: number;
|
||||
suppliers?: SupplierData[];
|
||||
}
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { SupplierData } from "./supplierData";
|
||||
import type { SupplierData } from './supplierData';
|
||||
|
||||
export type ResSupplierSupplier = SupplierData | null;
|
||||
|
||||
@ -4,11 +4,11 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { SessionDataBidPrice } from "./sessionDataBidPrice";
|
||||
import type { SessionDataBidAt } from "./sessionDataBidAt";
|
||||
import type { SessionDataRejectReason } from "./sessionDataRejectReason";
|
||||
import type { SessionDataRejectPrice } from "./sessionDataRejectPrice";
|
||||
import type { SessionDataRejectDeliveryType } from "./sessionDataRejectDeliveryType";
|
||||
import type { SessionDataBidPrice } from './sessionDataBidPrice';
|
||||
import type { SessionDataBidAt } from './sessionDataBidAt';
|
||||
import type { SessionDataRejectReason } from './sessionDataRejectReason';
|
||||
import type { SessionDataRejectPrice } from './sessionDataRejectPrice';
|
||||
import type { SessionDataRejectDeliveryType } from './sessionDataRejectDeliveryType';
|
||||
|
||||
export interface SessionData {
|
||||
session_id: string;
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { SupplierDataCode } from "./supplierDataCode";
|
||||
import type { SupplierDataManagerName } from "./supplierDataManagerName";
|
||||
import type { SupplierDataManagerEmail } from "./supplierDataManagerEmail";
|
||||
import type { SupplierDataManagerContactNumber } from "./supplierDataManagerContactNumber";
|
||||
import type { SupplierDataPriority } from "./supplierDataPriority";
|
||||
import type { SupplierDataCreatedAt } from "./supplierDataCreatedAt";
|
||||
import type { SupplierDataUpdatedAt } from "./supplierDataUpdatedAt";
|
||||
import type { SupplierDataCode } from './supplierDataCode';
|
||||
import type { SupplierDataManagerName } from './supplierDataManagerName';
|
||||
import type { SupplierDataManagerEmail } from './supplierDataManagerEmail';
|
||||
import type { SupplierDataManagerContactNumber } from './supplierDataManagerContactNumber';
|
||||
import type { SupplierDataPriority } from './supplierDataPriority';
|
||||
import type { SupplierDataCreatedAt } from './supplierDataCreatedAt';
|
||||
import type { SupplierDataUpdatedAt } from './supplierDataUpdatedAt';
|
||||
|
||||
export interface SupplierData {
|
||||
supplier_id: string;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { ValidationErrorLocItem } from "./validationErrorLocItem";
|
||||
import type { ValidationErrorCtx } from "./validationErrorCtx";
|
||||
import type { ValidationErrorLocItem } from './validationErrorLocItem';
|
||||
import type { ValidationErrorCtx } from './validationErrorCtx';
|
||||
|
||||
export interface ValidationError {
|
||||
loc: ValidationErrorLocItem[];
|
||||
|
||||
@ -4,7 +4,10 @@
|
||||
* Negodata Api Server
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import { useMutation, useQuery } from "@tanstack/react-query";
|
||||
import {
|
||||
useMutation,
|
||||
useQuery
|
||||
} from '@tanstack/react-query';
|
||||
import type {
|
||||
DataTag,
|
||||
DefinedInitialDataOptions,
|
||||
@ -17,8 +20,8 @@ import type {
|
||||
UseMutationOptions,
|
||||
UseMutationResult,
|
||||
UseQueryOptions,
|
||||
UseQueryResult,
|
||||
} from "@tanstack/react-query";
|
||||
UseQueryResult
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
import type {
|
||||
HTTPValidationError,
|
||||
@ -26,383 +29,295 @@ import type {
|
||||
ReqUpdateQuotationSetting,
|
||||
ResDeleteQuotationSetting,
|
||||
ResQuotationSetting,
|
||||
ResQuotationSettingList,
|
||||
} from ".././model";
|
||||
ResQuotationSettingList
|
||||
} from '.././model';
|
||||
|
||||
import { customFetch } from '../../mutator/custom-fetch';
|
||||
|
||||
|
||||
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
||||
|
||||
|
||||
import { customFetch } from "../../mutator/custom-fetch";
|
||||
|
||||
/**
|
||||
* @summary 견적 설정 목록
|
||||
*/
|
||||
export const listSettings = (signal?: AbortSignal) => {
|
||||
return customFetch<ResQuotationSettingList>({
|
||||
url: `/v1/quotation-setting/list`,
|
||||
method: "GET",
|
||||
signal,
|
||||
});
|
||||
};
|
||||
export const listSettings = (
|
||||
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
|
||||
|
||||
return customFetch<ResQuotationSettingList>(
|
||||
{url: `/v1/quotation-setting/list`, method: 'GET', signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
export const getListSettingsQueryKey = () => {
|
||||
return [`/v1/quotation-setting/list`] as const;
|
||||
};
|
||||
return [
|
||||
`/v1/quotation-setting/list`
|
||||
] as const;
|
||||
}
|
||||
|
||||
export const getListSettingsQueryOptions = <
|
||||
TData = Awaited<ReturnType<typeof listSettings>>,
|
||||
TError = void,
|
||||
>(options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>
|
||||
>;
|
||||
}) => {
|
||||
const { query: queryOptions } = options ?? {};
|
||||
|
||||
export const getListSettingsQueryOptions = <TData = Awaited<ReturnType<typeof listSettings>>, TError = void>( options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
) => {
|
||||
|
||||
const queryKey = queryOptions?.queryKey ?? getListSettingsQueryKey();
|
||||
const {query: queryOptions, request: requestOptions} = options ?? {};
|
||||
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof listSettings>>> = ({
|
||||
signal,
|
||||
}) => listSettings(signal);
|
||||
const queryKey = queryOptions?.queryKey ?? getListSettingsQueryKey();
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions } as UseQueryOptions<
|
||||
Awaited<ReturnType<typeof listSettings>>,
|
||||
TError,
|
||||
TData
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
};
|
||||
|
||||
|
||||
export type ListSettingsQueryResult = NonNullable<
|
||||
Awaited<ReturnType<typeof listSettings>>
|
||||
>;
|
||||
export type ListSettingsQueryError = void;
|
||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof listSettings>>> = ({ signal }) => listSettings(requestOptions, signal);
|
||||
|
||||
export function useListSettings<
|
||||
TData = Awaited<ReturnType<typeof listSettings>>,
|
||||
TError = void,
|
||||
>(
|
||||
options: {
|
||||
query: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
|
||||
|
||||
|
||||
|
||||
return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
}
|
||||
|
||||
export type ListSettingsQueryResult = NonNullable<Awaited<ReturnType<typeof listSettings>>>
|
||||
export type ListSettingsQueryError = void
|
||||
|
||||
|
||||
export function useListSettings<TData = Awaited<ReturnType<typeof listSettings>>, TError = void>(
|
||||
options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>> & Pick<
|
||||
DefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof listSettings>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof listSettings>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): DefinedUseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useListSettings<
|
||||
TData = Awaited<ReturnType<typeof listSettings>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>
|
||||
> &
|
||||
Pick<
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useListSettings<TData = Awaited<ReturnType<typeof listSettings>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>> & Pick<
|
||||
UndefinedInitialDataOptions<
|
||||
Awaited<ReturnType<typeof listSettings>>,
|
||||
TError,
|
||||
Awaited<ReturnType<typeof listSettings>>
|
||||
>,
|
||||
"initialData"
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
export function useListSettings<
|
||||
TData = Awaited<ReturnType<typeof listSettings>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
};
|
||||
> , 'initialData'
|
||||
>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
export function useListSettings<TData = Awaited<ReturnType<typeof listSettings>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
|
||||
/**
|
||||
* @summary 견적 설정 목록
|
||||
*/
|
||||
|
||||
export function useListSettings<
|
||||
TData = Awaited<ReturnType<typeof listSettings>>,
|
||||
TError = void,
|
||||
>(
|
||||
options?: {
|
||||
query?: Partial<
|
||||
UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseQueryResult<TData, TError> & {
|
||||
queryKey: DataTag<QueryKey, TData, TError>;
|
||||
} {
|
||||
const queryOptions = getListSettingsQueryOptions(options);
|
||||
export function useListSettings<TData = Awaited<ReturnType<typeof listSettings>>, TError = void>(
|
||||
options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof listSettings>>, TError, TData>>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient
|
||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
|
||||
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<
|
||||
TData,
|
||||
TError
|
||||
> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
const queryOptions = getListSettingsQueryOptions(options)
|
||||
|
||||
query.queryKey = queryOptions.queryKey;
|
||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
|
||||
|
||||
query.queryKey = queryOptions.queryKey ;
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @summary 견적 설정 등록
|
||||
*/
|
||||
export const createSetting = (
|
||||
reqCreateQuotationSetting: ReqCreateQuotationSetting,
|
||||
signal?: AbortSignal,
|
||||
reqCreateQuotationSetting: ReqCreateQuotationSetting,
|
||||
options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
|
||||
) => {
|
||||
return customFetch<ResQuotationSetting>({
|
||||
url: `/v1/quotation-setting/create`,
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
data: reqCreateQuotationSetting,
|
||||
signal,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
return customFetch<ResQuotationSetting>(
|
||||
{url: `/v1/quotation-setting/create`, method: 'POST',
|
||||
headers: {'Content-Type': 'application/json', },
|
||||
data: reqCreateQuotationSetting, signal
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
export const getCreateSettingMutationOptions = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createSetting>>,
|
||||
TError,
|
||||
{ data: ReqCreateQuotationSetting },
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createSetting>>,
|
||||
TError,
|
||||
{ data: ReqCreateQuotationSetting },
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["createSetting"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof createSetting>>,
|
||||
{ data: ReqCreateQuotationSetting }
|
||||
> = (props) => {
|
||||
const { data } = props ?? {};
|
||||
export const getCreateSettingMutationOptions = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createSetting>>, TError,{data: ReqCreateQuotationSetting}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof createSetting>>, TError,{data: ReqCreateQuotationSetting}, TContext> => {
|
||||
|
||||
return createSetting(data);
|
||||
};
|
||||
const mutationKey = ['createSetting'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
|
||||
|
||||
export type CreateSettingMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof createSetting>>
|
||||
>;
|
||||
export type CreateSettingMutationBody = ReqCreateQuotationSetting;
|
||||
export type CreateSettingMutationError = void | HTTPValidationError;
|
||||
|
||||
/**
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof createSetting>>, {data: ReqCreateQuotationSetting}> = (props) => {
|
||||
const {data} = props ?? {};
|
||||
|
||||
return createSetting(data,requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type CreateSettingMutationResult = NonNullable<Awaited<ReturnType<typeof createSetting>>>
|
||||
export type CreateSettingMutationBody = ReqCreateQuotationSetting
|
||||
export type CreateSettingMutationError = void | HTTPValidationError
|
||||
|
||||
/**
|
||||
* @summary 견적 설정 등록
|
||||
*/
|
||||
export const useCreateSetting = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof createSetting>>,
|
||||
TError,
|
||||
{ data: ReqCreateQuotationSetting },
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof createSetting>>,
|
||||
TError,
|
||||
{ data: ReqCreateQuotationSetting },
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getCreateSettingMutationOptions(options);
|
||||
export const useCreateSetting = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof createSetting>>, TError,{data: ReqCreateQuotationSetting}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof createSetting>>,
|
||||
TError,
|
||||
{data: ReqCreateQuotationSetting},
|
||||
TContext
|
||||
> => {
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
/**
|
||||
const mutationOptions = getCreateSettingMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
/**
|
||||
* @summary 견적 설정 수정
|
||||
*/
|
||||
export const updateSetting = (
|
||||
qtSettingId: string,
|
||||
reqUpdateQuotationSetting: ReqUpdateQuotationSetting,
|
||||
) => {
|
||||
return customFetch<ResQuotationSetting>({
|
||||
url: `/v1/quotation-setting/update/${qtSettingId}`,
|
||||
method: "PATCH",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
data: reqUpdateQuotationSetting,
|
||||
});
|
||||
};
|
||||
qtSettingId: string,
|
||||
reqUpdateQuotationSetting: ReqUpdateQuotationSetting,
|
||||
options?: SecondParameter<typeof customFetch>,) => {
|
||||
|
||||
|
||||
return customFetch<ResQuotationSetting>(
|
||||
{url: `/v1/quotation-setting/update/${qtSettingId}`, method: 'PATCH',
|
||||
headers: {'Content-Type': 'application/json', },
|
||||
data: reqUpdateQuotationSetting
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
export const getUpdateSettingMutationOptions = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof updateSetting>>,
|
||||
TError,
|
||||
{ qtSettingId: string; data: ReqUpdateQuotationSetting },
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof updateSetting>>,
|
||||
TError,
|
||||
{ qtSettingId: string; data: ReqUpdateQuotationSetting },
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["updateSetting"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof updateSetting>>,
|
||||
{ qtSettingId: string; data: ReqUpdateQuotationSetting }
|
||||
> = (props) => {
|
||||
const { qtSettingId, data } = props ?? {};
|
||||
export const getUpdateSettingMutationOptions = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateSetting>>, TError,{qtSettingId: string;data: ReqUpdateQuotationSetting}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof updateSetting>>, TError,{qtSettingId: string;data: ReqUpdateQuotationSetting}, TContext> => {
|
||||
|
||||
return updateSetting(qtSettingId, data);
|
||||
};
|
||||
const mutationKey = ['updateSetting'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
|
||||
|
||||
export type UpdateSettingMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof updateSetting>>
|
||||
>;
|
||||
export type UpdateSettingMutationBody = ReqUpdateQuotationSetting;
|
||||
export type UpdateSettingMutationError = void | HTTPValidationError;
|
||||
|
||||
/**
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof updateSetting>>, {qtSettingId: string;data: ReqUpdateQuotationSetting}> = (props) => {
|
||||
const {qtSettingId,data} = props ?? {};
|
||||
|
||||
return updateSetting(qtSettingId,data,requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type UpdateSettingMutationResult = NonNullable<Awaited<ReturnType<typeof updateSetting>>>
|
||||
export type UpdateSettingMutationBody = ReqUpdateQuotationSetting
|
||||
export type UpdateSettingMutationError = void | HTTPValidationError
|
||||
|
||||
/**
|
||||
* @summary 견적 설정 수정
|
||||
*/
|
||||
export const useUpdateSetting = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof updateSetting>>,
|
||||
TError,
|
||||
{ qtSettingId: string; data: ReqUpdateQuotationSetting },
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof updateSetting>>,
|
||||
TError,
|
||||
{ qtSettingId: string; data: ReqUpdateQuotationSetting },
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getUpdateSettingMutationOptions(options);
|
||||
export const useUpdateSetting = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof updateSetting>>, TError,{qtSettingId: string;data: ReqUpdateQuotationSetting}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof updateSetting>>,
|
||||
TError,
|
||||
{qtSettingId: string;data: ReqUpdateQuotationSetting},
|
||||
TContext
|
||||
> => {
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
/**
|
||||
const mutationOptions = getUpdateSettingMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
/**
|
||||
* @summary 견적 설정 삭제
|
||||
*/
|
||||
export const deleteSetting = (qtSettingId: string) => {
|
||||
return customFetch<ResDeleteQuotationSetting>({
|
||||
url: `/v1/quotation-setting/delete/${qtSettingId}`,
|
||||
method: "DELETE",
|
||||
});
|
||||
};
|
||||
export const deleteSetting = (
|
||||
qtSettingId: string,
|
||||
options?: SecondParameter<typeof customFetch>,) => {
|
||||
|
||||
|
||||
return customFetch<ResDeleteQuotationSetting>(
|
||||
{url: `/v1/quotation-setting/delete/${qtSettingId}`, method: 'DELETE'
|
||||
},
|
||||
options);
|
||||
}
|
||||
|
||||
|
||||
export const getDeleteSettingMutationOptions = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof deleteSetting>>,
|
||||
TError,
|
||||
{ qtSettingId: string },
|
||||
TContext
|
||||
>;
|
||||
}): UseMutationOptions<
|
||||
Awaited<ReturnType<typeof deleteSetting>>,
|
||||
TError,
|
||||
{ qtSettingId: string },
|
||||
TContext
|
||||
> => {
|
||||
const mutationKey = ["deleteSetting"];
|
||||
const { mutation: mutationOptions } = options
|
||||
? options.mutation &&
|
||||
"mutationKey" in options.mutation &&
|
||||
options.mutation.mutationKey
|
||||
? options
|
||||
: { ...options, mutation: { ...options.mutation, mutationKey } }
|
||||
: { mutation: { mutationKey } };
|
||||
|
||||
const mutationFn: MutationFunction<
|
||||
Awaited<ReturnType<typeof deleteSetting>>,
|
||||
{ qtSettingId: string }
|
||||
> = (props) => {
|
||||
const { qtSettingId } = props ?? {};
|
||||
export const getDeleteSettingMutationOptions = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof deleteSetting>>, TError,{qtSettingId: string}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
): UseMutationOptions<Awaited<ReturnType<typeof deleteSetting>>, TError,{qtSettingId: string}, TContext> => {
|
||||
|
||||
return deleteSetting(qtSettingId);
|
||||
};
|
||||
const mutationKey = ['deleteSetting'];
|
||||
const {mutation: mutationOptions, request: requestOptions} = options ?
|
||||
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
|
||||
options
|
||||
: {...options, mutation: {...options.mutation, mutationKey}}
|
||||
: {mutation: { mutationKey, }, request: undefined};
|
||||
|
||||
return { mutationFn, ...mutationOptions };
|
||||
};
|
||||
|
||||
|
||||
export type DeleteSettingMutationResult = NonNullable<
|
||||
Awaited<ReturnType<typeof deleteSetting>>
|
||||
>;
|
||||
|
||||
export type DeleteSettingMutationError = void | HTTPValidationError;
|
||||
const mutationFn: MutationFunction<Awaited<ReturnType<typeof deleteSetting>>, {qtSettingId: string}> = (props) => {
|
||||
const {qtSettingId} = props ?? {};
|
||||
|
||||
/**
|
||||
return deleteSetting(qtSettingId,requestOptions)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return { mutationFn, ...mutationOptions }}
|
||||
|
||||
export type DeleteSettingMutationResult = NonNullable<Awaited<ReturnType<typeof deleteSetting>>>
|
||||
|
||||
export type DeleteSettingMutationError = void | HTTPValidationError
|
||||
|
||||
/**
|
||||
* @summary 견적 설정 삭제
|
||||
*/
|
||||
export const useDeleteSetting = <
|
||||
TError = void | HTTPValidationError,
|
||||
TContext = unknown,
|
||||
>(
|
||||
options?: {
|
||||
mutation?: UseMutationOptions<
|
||||
Awaited<ReturnType<typeof deleteSetting>>,
|
||||
TError,
|
||||
{ qtSettingId: string },
|
||||
TContext
|
||||
>;
|
||||
},
|
||||
queryClient?: QueryClient,
|
||||
): UseMutationResult<
|
||||
Awaited<ReturnType<typeof deleteSetting>>,
|
||||
TError,
|
||||
{ qtSettingId: string },
|
||||
TContext
|
||||
> => {
|
||||
const mutationOptions = getDeleteSettingMutationOptions(options);
|
||||
export const useDeleteSetting = <TError = void | HTTPValidationError,
|
||||
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof deleteSetting>>, TError,{qtSettingId: string}, TContext>, request?: SecondParameter<typeof customFetch>}
|
||||
, queryClient?: QueryClient): UseMutationResult<
|
||||
Awaited<ReturnType<typeof deleteSetting>>,
|
||||
TError,
|
||||
{qtSettingId: string},
|
||||
TContext
|
||||
> => {
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
};
|
||||
const mutationOptions = getDeleteSettingMutationOptions(options);
|
||||
|
||||
return useMutation(mutationOptions, queryClient);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user