-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathrequest.py
More file actions
36 lines (31 loc) · 1.21 KB
/
request.py
File metadata and controls
36 lines (31 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from datetime import date
from src.api.shared.models.request_base import RequestBase
from src.core.enums import RecordType
from src.db.models.impl.url.optional_ds_metadata.enums import AgencyAggregationEnum, UpdateMethodEnum, \
RetentionScheduleEnum, AccessTypeEnum
class DataSourceSubmissionRequest(RequestBase):
# Required
name: str
record_type: RecordType
source_url: str
description: str | None = None
# Optional URL DS Metadata
coverage_start: date | None = None
coverage_end: date | None = None
supplying_entity: str | None = None
agency_supplied: bool | None = None
agency_originated: bool | None = None
agency_aggregation: AgencyAggregationEnum | None = None
data_portal_type: str | None = None
update_method: UpdateMethodEnum | None = None
readme_url: str | None = None
originating_entity: str | None = None
retention_schedule: RetentionScheduleEnum | None = None
scraper_url: str | None = None
submission_notes: str | None = None
access_notes: str | None = None
access_types: list[AccessTypeEnum] = []
record_formats: list[str] = []
# Links to other entities
agency_ids: list[int] = []
location_ids: list[int] = []