use python dates for request revisions, plus some cleanup
This commit is contained in:
parent
cc7ddd9468
commit
326d330a40
@ -2,9 +2,8 @@ from enum import Enum
|
||||
from sqlalchemy import exists, and_, exc
|
||||
from sqlalchemy.sql import text
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
from sqlalchemy.orm.attributes import flag_modified
|
||||
from werkzeug.datastructures import FileStorage
|
||||
import pendulum
|
||||
import dateutil
|
||||
|
||||
from atst.database import db
|
||||
from atst.domain.authz import Authorization
|
||||
@ -20,11 +19,11 @@ from .exceptions import NotFoundError, UnauthorizedError
|
||||
|
||||
def create_revision_from_request_body(body):
|
||||
body = {k: v for p in body.values() for k, v in p.items()}
|
||||
TIMESTAMPS = ["start_date", "date_latest_training"]
|
||||
DATES = ["start_date", "date_latest_training"]
|
||||
coerced_timestamps = {
|
||||
k: pendulum.parse(v)
|
||||
k: dateutil.parser.parse(v)
|
||||
for k, v in body.items()
|
||||
if k in TIMESTAMPS and isinstance(v, str)
|
||||
if k in DATES and isinstance(v, str)
|
||||
}
|
||||
body = {**body, **coerced_timestamps}
|
||||
return RequestRevision(**body)
|
||||
|
@ -8,6 +8,7 @@ from atst.models import Base
|
||||
from atst.models.types import Id
|
||||
from atst.models.request_status_event import RequestStatus
|
||||
from atst.utils import deep_merge, first_or_none
|
||||
from atst.models.request_revision import RequestRevision
|
||||
|
||||
|
||||
def map_properties_to_dict(properties, instance):
|
||||
|
@ -1,7 +1,5 @@
|
||||
import pendulum
|
||||
from sqlalchemy import (
|
||||
Column,
|
||||
func,
|
||||
ForeignKey,
|
||||
String,
|
||||
Boolean,
|
||||
@ -10,8 +8,6 @@ from sqlalchemy import (
|
||||
BigInteger,
|
||||
Sequence,
|
||||
)
|
||||
from sqlalchemy.types import DateTime
|
||||
from sqlalchemy.dialects.postgresql import JSONB
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from atst.models import Base
|
||||
|
@ -77,7 +77,7 @@ class RequestFactory(factory.alchemy.SQLAlchemyModelFactory):
|
||||
fname_poc=user.first_name,
|
||||
lname_poc=user.last_name,
|
||||
jedi_usage="adf",
|
||||
start_date=datetime.datetime(2018, 8, 8, tzinfo=datetime.timezone.utc),
|
||||
start_date=datetime.date(2018, 8, 8),
|
||||
cloud_native="yes",
|
||||
dollar_value=dollar_value,
|
||||
dod_component=SERVICE_BRANCHES[2][1],
|
||||
@ -100,9 +100,7 @@ class RequestFactory(factory.alchemy.SQLAlchemyModelFactory):
|
||||
fname_request=user.first_name,
|
||||
lname_request=user.last_name,
|
||||
service_branch=SERVICE_BRANCHES[1][1],
|
||||
date_latest_training=datetime.datetime(
|
||||
2018, 8, 6, tzinfo=datetime.timezone.utc
|
||||
),
|
||||
date_latest_training=datetime.date(2018, 8, 6),
|
||||
)
|
||||
|
||||
data = (
|
||||
|
Loading…
x
Reference in New Issue
Block a user