Cochrane+ App API

<back to all web services

DebriefReviewListRequest

Requires Authentication
The following routes are available for this service:
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

HTTP + 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.