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 Brand(str, Enum):
DESKTOP = 'Desktop'
HP = 'Hp'
KYOCERA = 'Kyocera'
NEA_SCAN = 'NeaScan'
SAMSUNG = 'Samsung'
FUJI_XEROX = 'FujiXerox'
TA = 'Ta'
UTAX = 'Utax'
EPSON = 'Epson'
SCAN_FRONT400 = 'ScanFront400'
SHARP = 'Sharp'
RICOH = 'Ricoh'
FUJI_FILM = 'FujiFilm'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DtoBase:
brand: Optional[Brand] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RequestBase(DtoBase):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FujiFilmUploadRequest(RequestBase):
file_name_guid: Optional[str] = None
template_guid: Optional[str] = None
Python FujiFilmUploadRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/oneway/FujiFilmUploadRequest HTTP/1.1
Host: buildmax.org
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
FileNameGuid: String,
TemplateGuid: String
}