1
1
from datetime import datetime
2
2
from enum import Enum
3
- from typing import Any , Dict , List , Optional
3
+ from typing import Any , Dict , List , Optional , Union
4
4
from uuid import UUID
5
5
6
6
from pydantic import BaseModel , ConfigDict , ValidationInfo , field_validator
@@ -74,8 +74,8 @@ class ContextForm(BaseModel):
74
74
unknownDoi : Optional [bool ] = None
75
75
76
76
77
- class MetadataSubmissionRecord (BaseModel ):
78
- packageName : List [str ]
77
+ class MetadataSubmissionRecordCreate (BaseModel ):
78
+ packageName : Union [ str , List [str ] ]
79
79
contextForm : ContextForm
80
80
addressForm : AddressForm
81
81
templates : List [str ]
@@ -84,6 +84,10 @@ class MetadataSubmissionRecord(BaseModel):
84
84
sampleData : Dict [str , List [Any ]]
85
85
86
86
87
+ class MetadataSubmissionRecord (MetadataSubmissionRecordCreate ):
88
+ packageName : List [str ]
89
+
90
+
87
91
class PartialMetadataSubmissionRecord (BaseModel ):
88
92
packageName : Optional [List [str ]] = None
89
93
contextForm : Optional [ContextForm ] = None
@@ -95,7 +99,7 @@ class PartialMetadataSubmissionRecord(BaseModel):
95
99
96
100
97
101
class SubmissionMetadataSchemaCreate (BaseModel ):
98
- metadata_submission : MetadataSubmissionRecord
102
+ metadata_submission : MetadataSubmissionRecordCreate
99
103
status : Optional [str ] = None
100
104
source_client : Optional [str ] = None
101
105
0 commit comments