""" Options: Date: 2026-06-01 14:55:09 Version: 8.52 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://www.imglobal.com/RestApi #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetProjects.* #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 ProjectStatus(str, Enum): NOT_STARTED = 'NotStarted' STARTED = 'Started' COMPLETED = 'Completed' class IProjectsFilter: search_text: Optional[str] = None service: Optional[List[str]] = None project_status: Optional[ProjectStatus] = None actual_source_language: Optional[str] = None without_source_language: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class XliffProxy: is_xliff: bool = False is_ftp: bool = False is_machine_translation: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class LanguageProxy: code: Optional[str] = None name: Optional[str] = None count: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class LanguagePairProxy: actual_source: Optional[LanguageProxy] = None target: Optional[LanguageProxy] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ConnectorProxy: name: Optional[str] = None title: Optional[str] = None count: int = 0 xliff: Optional[XliffProxy] = None supported_languages: Optional[List[LanguagePairProxy]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ProjectProxy: id: Optional[str] = None title: Optional[str] = None description: Optional[str] = None start_date: datetime.datetime = datetime.datetime(1, 1, 1) due_date: datetime.datetime = datetime.datetime(1, 1, 1) date_sent: Optional[datetime.datetime] = None date_completed: Optional[datetime.datetime] = None sent_by: Optional[str] = None connector: Optional[ConnectorProxy] = None status: Optional[str] = None po_reference: Optional[str] = None actual_source_language: Optional[LanguageProxy] = None target_languages: Optional[List[LanguageProxy]] = None translations_count: int = 0 can_be_completed: bool = False external_id: Optional[str] = None # @Route("/translations/projects", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetProjects(IReturn[IList[ProjectProxy]], IProjectsFilter): skip: Optional[int] = None take: Optional[int] = None order_expression: Optional[str] = None search_text: Optional[str] = None service: Optional[List[str]] = None project_status: Optional[ProjectStatus] = None actual_source_language: Optional[str] = None without_source_language: bool = False