| POST | /debriefreview/list |
|---|
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 ApiSkipTakePagedServiceRequest(ISkipTakePagedServiceRequest):
skip: int = 0
take: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApiSkipTakePagedTableRequest(ApiSkipTakePagedServiceRequest, IOrderKey):
request_number: int = 0
search_query: Optional[str] = None
order_key: Optional[str] = None
order_ascending: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DebriefReviewListItem:
id: int = 0
submitted_by: Optional[str] = None
company_name: Optional[str] = None
meeting_subject: Optional[str] = None
date_submitted: Optional[str] = None
overall_score: Optional[str] = None
general_manager_id: int = 0
general_manager_reviewed: bool = False
general_manager_rating: int = 0
senior_manager_id: int = 0
senior_manager_reviewed: bool = False
senior_manager_rating: int = 0
divisional_manager_id: int = 0
divisional_manager_reviewed: bool = False
divisional_manager_rating: int = 0
department_manager_id: int = 0
department_manager_reviewed: bool = False
department_manager_rating: int = 0
manager_id: int = 0
manager_reviewed: bool = False
manager_rating: int = 0
campaign_manager_id: int = 0
campaign_manager_reviewed: bool = False
campaign_manager_rating: int = 0
portfolio_manager_id: int = 0
portfolio_manager_reviewed: bool = False
portfolio_manager_rating: int = 0
age: Decimal = decimal.Decimal(0)
age_colour: Optional[str] = None
marked_as_read: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EnumOption:
value: int = 0
label: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DebriefReviewListResponse(SkipTakePagedTableListResponse[DebriefReviewListItem]):
read_statuses: Optional[List[EnumOption]] = None
class DateFilterType(IntEnum):
ALL = 0
BEFORE = 1
AFTER = 2
RANGE = 3
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DateFilter:
filter_type: Optional[DateFilterType] = None
dates: Optional[List[datetime.datetime]] = None
class DebriefReadStatusType(IntEnum):
ALL = 0
UNREAD = 1
READ = 2
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DebriefReviewListRequest(ApiSkipTakePagedTableRequest):
all: bool = False
date_captured: Optional[DateFilter] = None
read_status: Optional[DebriefReadStatusType] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApiServiceResponse(IServiceResponse):
description: Optional[str] = None
heading: Optional[str] = None
was_successful: bool = False
model_state: Optional[Object] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SkipTakePagedServiceResponse(ApiServiceResponse, ISkipTakePagedServiceResponse, ISkipTakePagedServiceRequest):
total: int = 0
skip: int = 0
take: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApiSkipTakePagedTableResponse(SkipTakePagedServiceResponse):
request_number: int = 0
T = TypeVar('T')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SkipTakePagedTableListResponse(Generic[T], ApiSkipTakePagedTableResponse):
list_items: Optional[List[T]] = None
Python DebriefReviewListRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /debriefreview/list HTTP/1.1
Host: cochraneplus-api-dev.happen.zone
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"all":false,"dateCaptured":{"filterType":0,"dates":["0001-01-01T00:00:00.0000000"]},"readStatus":0,"requestNumber":0,"searchQuery":"String","orderKey":"String","orderAscending":false,"skip":0,"take":0}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{Unable to show example output for type 'DebriefReviewListResponse' using the custom 'other' filter}Cannot dynamically create an instance of type 'WebService.ServiceModel.DebriefReviewListResponse'. Reason: No parameterless constructor defined.