""" Options: Date: 2025-09-10 18:56:24 Version: 8.30 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://dev-optimization.power.dev #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: WorkerRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class DataProvider(IntEnum): UNDEFINED = 0 SPP = 1 ERCOT = 2 MISO = 3 CAISO = 4 PJM = 5 ISONE = 6 NYISO = 7 NW = 8 SW = 9 SE = 10 AESO = 11 IESO = 12 CENACE = 20 NONISO = 99 EIA = 100 PNM = 150 NREL = 200 NOAA = 210 ENTSOE = 1000 EPIAS = 1010 SELF = 10000 class PriceMarketType(IntEnum): UNDEFINED = 0 REALTIME = 1 DAY_AHEAD = 10 DART = 101 class ShadowPriceNodeScoreType(str, Enum): UNDEFINED = 'Undefined' DAILY_AVG_STD = 'DailyAvgStd' HOURLY_AVG = 'HourlyAvg' # @Route("/worker", "POST,GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class WorkerRequest: provider: Optional[DataProvider] = None key: Optional[str] = None start_date: datetime.datetime = datetime.datetime(1, 1, 1) end_date: datetime.datetime = datetime.datetime(1, 1, 1) node_ids: Optional[List[int]] = None market_type: Optional[PriceMarketType] = None score_type: Optional[ShadowPriceNodeScoreType] = None