""" Options: Date: 2024-11-28 09:25:52 Version: 6.40 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://digiofficeapigateway.deltares.nl/api #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetProjectMembers.* #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 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DocumentAttachment: id: Optional[str] = None title: Optional[str] = None download_name: Optional[str] = None link_type_description: Optional[str] = None is_preffered_document: bool = False is_main_document: bool = False link: Optional[str] = None detail_url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Node: entity_name: Optional[str] = None id: Optional[str] = None parent_i_d: Optional[str] = None title: Optional[str] = None count: Optional[int] = None image_key: Optional[str] = None expanded: bool = False selected: bool = False display_path: Optional[str] = None child_nodes: Optional[List[Node]] = None registration_path_element: Optional[str] = None query_path_element: Optional[str] = None path: Optional[str] = None is_hierarchy: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Explorer: id: Optional[str] = None title: Optional[str] = None order: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OutlookContactItem: global_i_d: Optional[str] = None inactief: bool = False title: Optional[str] = None first_name: Optional[str] = None middle_name: Optional[str] = None last_name: Optional[str] = None full_name: Optional[str] = None suffix: Optional[str] = None birthday: Optional[datetime.datetime] = None gender: Optional[str] = None categories: Optional[str] = None company_name: Optional[str] = None business_address_street: Optional[str] = None business_address_postal_code: Optional[str] = None business_address_city: Optional[str] = None business_address_country: Optional[str] = None other_address_street: Optional[str] = None other_address_postal_code: Optional[str] = None other_address_city: Optional[str] = None other_address_country: Optional[str] = None home2_telephone_number: Optional[str] = None home_address_street: Optional[str] = None home_address_postal_code: Optional[str] = None home_address_city: Optional[str] = None home_address_country: Optional[str] = None business_telephone_number: Optional[str] = None business2_telephone_number: Optional[str] = None mobile_telephone_number: Optional[str] = None home_telephone_number: Optional[str] = None department: Optional[str] = None job_title: Optional[str] = None profession: Optional[str] = None email1_address: Optional[str] = None email1_display_name: Optional[str] = None email2_address: Optional[str] = None email2_display_name: Optional[str] = None email3_address: Optional[str] = None email3_display_name: Optional[str] = None business_home_page: Optional[str] = None file_as: Optional[str] = None spouse: Optional[str] = None user1: Optional[str] = None user2: Optional[str] = None user3: Optional[str] = None user4: Optional[str] = None image_i_d: Optional[str] = None image_last_update: Optional[datetime.datetime] = None business_fax_number: Optional[str] = None other_fax_number: Optional[str] = None home_fax_number: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Printer: id: int = 0 description: Optional[str] = None internal_company_i_d: Optional[int] = None bin_logo: Optional[int] = None bin_blank: Optional[int] = None bin_follow: Optional[int] = None bin_extra: Optional[int] = None bin_label: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class UserOrGroup: id: int = 0 title: Optional[str] = None is_checked: bool = False image: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class User(UserOrGroup): image: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class LinkedDocument: id: Optional[str] = None entity_title: Optional[str] = None document_i_d: Optional[str] = None document_number: Optional[str] = None document_version: Optional[str] = None document_most_recent_version: bool = False shipping_form_i_d: Optional[int] = None document_title: Optional[str] = None document_date: Optional[datetime.datetime] = None document_user_title: Optional[str] = None file_url: Optional[str] = None file_type: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Bookmark: remove_last_break: Optional[bool] = None replace_on_change: bool = False is_dynamic: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SignatureSubstitute: doc_field_i_d: Optional[str] = None name: Optional[str] = None is_current_user: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Bookmark: name: Optional[str] = None order: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Project: id: int = 0 global_i_d: Optional[str] = None number: Optional[str] = None name: Optional[str] = None description1: Optional[str] = None description2: Optional[str] = None city: Optional[str] = None active: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ProjectMember: id: int = 0 global_i_d: Optional[str] = None person_i_d: int = 0 person_global_i_d: Optional[str] = None person_name_informal: Optional[str] = None person_name_full: Optional[str] = None person_process_request: bool = False person_is_internal: bool = False person_is_external: bool = False person_is_inactive: bool = False function_i_d: int = 0 function_global_i_d: Optional[str] = None function_description: Optional[str] = None e_mail: Optional[str] = None phone: Optional[str] = None mobile: Optional[str] = None is_inactive: bool = False name: Optional[str] = None evaluation_department_name: Optional[str] = None user_i_d: Optional[int] = None user_global_i_d: Optional[str] = None user_name: Optional[str] = None user_is_intranet: bool = False user_is_extranet: bool = False project_roles_text: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Transition: id: Optional[str] = None reason: Optional[str] = None delay_date: Optional[datetime.datetime] = None delay_reason: Optional[str] = None user_i_ds: Optional[List[int]] = None group_i_ds: Optional[List[int]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Process: id: int = 0 title: Optional[str] = None description: Optional[str] = None note: Optional[str] = None coordinator: Optional[str] = None urgent: bool = False transitions: Optional[List[Transition]] = None # @Route("/projects/{ID}/members", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetProjectMembers(IReturn[List[ProjectMember]]): id: int = 0