GET | /tender/{tenderid}/user/{userid}/compliance/{complianceid} |
---|
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 ComplianceBase:
tender_id: int = 0
user_id: int = 0
compliance_id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ResponseBase:
response_status: Optional[ResponseStatus] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ModifyRequestBase(IConcurrencyStamp):
concurrency_stamp: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ModifyComplianceBase(ModifyRequestBase):
is_prevent_corruption_risk: Optional[bool] = None
anti_corruption_measures_description: Optional[str] = None
is_partner_corrupt: Optional[bool] = None
is_corruption_inspection: Optional[bool] = None
criminal_judgement: Optional[str] = None
is_partner_convicted_corruption: Optional[bool] = None
partner_convicted_e_document: Optional[str] = None
partner_convicted_details: Optional[str] = None
is_self_exoneration: Optional[bool] = None
self_exoneration_details: Optional[str] = None
is_partner_p_e_p_contact: Optional[bool] = None
partner_p_e_p_contact_details: Optional[str] = None
is_partner_p_e_p: Optional[bool] = None
partner_p_e_p_details: Optional[str] = None
other: Optional[str] = None
is_actual_owner: Optional[bool] = None
actual_owner_comment: Optional[str] = None
is_private_owner: Optional[bool] = None
is_organization_owner: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ModifyPrivateOwnerBase(ModifyRequestBase):
compliance_id: int = 0
name: Optional[str] = None
birth_date: Optional[datetime.datetime] = None
ownership: Decimal = decimal.Decimal(0)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PrivateOwnerDetails(ModifyPrivateOwnerBase):
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ModifyActualOwnerBase(ModifyRequestBase):
compliance_id: int = 0
name: Optional[str] = None
birth_date: Optional[datetime.datetime] = None
ownership: Decimal = decimal.Decimal(0)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ActualOwnerDetails(ModifyActualOwnerBase):
id: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ModifyOrganizationOwnerBase(ModifyRequestBase):
compliance_id: int = 0
country_id: int = 0
vat_number: Optional[str] = None
registration_number: Optional[str] = None
name: Optional[str] = None
short_name: Optional[str] = None
address: Optional[str] = None
main_activity: Optional[str] = None
established_date: datetime.datetime = datetime.datetime(1, 1, 1)
ownership: Decimal = decimal.Decimal(0)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrganizationOwnerDetails(ModifyOrganizationOwnerBase):
id: int = 0
country_name: Optional[str] = None
country_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ComplianceDetails(ModifyComplianceBase):
id: int = 0
submitted_by_id: Optional[int] = None
submission_date_time: Optional[datetime.datetime] = None
is_submitted: bool = False
private_owners: Optional[List[PrivateOwnerDetails]] = None
actual_owners: Optional[List[ActualOwnerDetails]] = None
organization_owners: Optional[List[OrganizationOwnerDetails]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BrowseComplianceResponse(ResponseBase):
compliance: Optional[ComplianceDetails] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BrowseCompliance(ComplianceBase, IGet):
pass
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /tender/{tenderid}/user/{userid}/compliance/{complianceid} HTTP/1.1 Host: szallitoiportal-be.veolia.hu Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <BrowseComplianceResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Portal.ServiceDto"> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> <Compliance> <ConcurrencyStamp>String</ConcurrencyStamp> <ActualOwnerComment>String</ActualOwnerComment> <AntiCorruptionMeasuresDescription>String</AntiCorruptionMeasuresDescription> <CriminalJudgement>String</CriminalJudgement> <IsActualOwner>false</IsActualOwner> <IsCorruptionInspection>false</IsCorruptionInspection> <IsOrganizationOwner>false</IsOrganizationOwner> <IsPartnerConvictedCorruption>false</IsPartnerConvictedCorruption> <IsPartnerCorrupt>false</IsPartnerCorrupt> <IsPartnerPEP>false</IsPartnerPEP> <IsPartnerPEPContact>false</IsPartnerPEPContact> <IsPreventCorruptionRisk>false</IsPreventCorruptionRisk> <IsPrivateOwner>false</IsPrivateOwner> <IsSelfExoneration>false</IsSelfExoneration> <Other>String</Other> <PartnerConvictedDetails>String</PartnerConvictedDetails> <PartnerConvictedEDocument>String</PartnerConvictedEDocument> <PartnerPEPContactDetails>String</PartnerPEPContactDetails> <PartnerPEPDetails>String</PartnerPEPDetails> <SelfExonerationDetails>String</SelfExonerationDetails> <ActualOwners> <ActualOwnerDetails> <ConcurrencyStamp>String</ConcurrencyStamp> <BirthDate>0001-01-01T00:00:00</BirthDate> <ComplianceId>0</ComplianceId> <Name>String</Name> <Ownership>0</Ownership> <Id>0</Id> </ActualOwnerDetails> </ActualOwners> <Id>0</Id> <IsSubmitted>false</IsSubmitted> <OrganizationOwners> <OrganizationOwnerDetails> <ConcurrencyStamp>String</ConcurrencyStamp> <Address>String</Address> <ComplianceId>0</ComplianceId> <CountryId>0</CountryId> <EstablishedDate>0001-01-01T00:00:00</EstablishedDate> <MainActivity>String</MainActivity> <Name>String</Name> <Ownership>0</Ownership> <RegistrationNumber>String</RegistrationNumber> <ShortName>String</ShortName> <VatNumber>String</VatNumber> <CountryCode>String</CountryCode> <CountryName>String</CountryName> <Id>0</Id> </OrganizationOwnerDetails> </OrganizationOwners> <PrivateOwners> <PrivateOwnerDetails> <ConcurrencyStamp>String</ConcurrencyStamp> <BirthDate>0001-01-01T00:00:00</BirthDate> <ComplianceId>0</ComplianceId> <Name>String</Name> <Ownership>0</Ownership> <Id>0</Id> </PrivateOwnerDetails> </PrivateOwners> <SubmissionDateTime>0001-01-01T00:00:00</SubmissionDateTime> <SubmittedById>0</SubmittedById> </Compliance> </BrowseComplianceResponse>