You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.7 KiB
72 lines
1.7 KiB
from datetime import datetime, timedelta
|
|
from typing import Optional, Union
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class HeaderBase(BaseModel):
|
|
database: str
|
|
spreadsheet: str
|
|
|
|
|
|
class HeaderCreate(HeaderBase):
|
|
pass
|
|
|
|
|
|
class Header(HeaderBase):
|
|
"""Заголовок описания набора геологических данных
|
|
по результатам экспедиционных исследований"""
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
|
|
class ItemBase(BaseModel):
|
|
"""Описание набора геологических данных
|
|
по результатам экспедиционных исследований
|
|
"""
|
|
|
|
fadr: Optional[str] = None
|
|
internal_id: Optional[str] = None
|
|
x_coord: Optional[str] = None
|
|
y_coord: Optional[str] = None
|
|
gis_category: Optional[str] = None
|
|
category: Optional[str] = None
|
|
basin: Optional[str] = None
|
|
deposit: Optional[str] = None
|
|
well: Optional[str] = None
|
|
depth: Optional[str] = None
|
|
stratum: Optional[str] = None
|
|
owner: Optional[str] = None
|
|
org: Optional[str] = None
|
|
ownercontacts: Optional[str] = None
|
|
samplelist: Optional[str] = None
|
|
description: Optional[str] = None
|
|
form_dimentions: Optional[str] = None
|
|
datalist: Optional[str] = None
|
|
resolution: Optional[str] = None
|
|
date: Optional[Union[datetime, str]] = None
|
|
additional_info: Optional[str] = None
|
|
scanner: Optional[str] = None
|
|
comment: Optional[str] = None
|
|
|
|
|
|
class ItemCreate(ItemBase):
|
|
pass
|
|
|
|
|
|
class Item(ItemBase):
|
|
id: int
|
|
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
|
|
class InsertStatus(BaseModel):
|
|
"""basic insertation status metrics"""
|
|
|
|
status: str
|
|
accepted: int
|
|
processed: int
|
|
process_time: timedelta
|