Cochrane+ App API

<back to all web services

DebriefReviewListRequest

Requires Authentication
The following routes are available for this service:
POST/debriefreview/list
import 'package:servicestack/servicestack.dart';

class ApiSkipTakePagedServiceRequest implements ISkipTakePagedServiceRequest, IConvertible
{
    int? skip;
    int? take;

    ApiSkipTakePagedServiceRequest({this.skip,this.take});
    ApiSkipTakePagedServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        skip = json['skip'];
        take = json['take'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'skip': skip,
        'take': take
    };

    getTypeName() => "ApiSkipTakePagedServiceRequest";
    TypeContext? context = _ctx;
}

class ApiSkipTakePagedTableRequest extends ApiSkipTakePagedServiceRequest implements IOrderKey, IConvertible
{
    int? requestNumber;
    String? searchQuery;
    String? orderKey;
    bool? orderAscending;

    ApiSkipTakePagedTableRequest({this.requestNumber,this.searchQuery,this.orderKey,this.orderAscending});
    ApiSkipTakePagedTableRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        requestNumber = json['requestNumber'];
        searchQuery = json['searchQuery'];
        orderKey = json['orderKey'];
        orderAscending = json['orderAscending'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'requestNumber': requestNumber,
        'searchQuery': searchQuery,
        'orderKey': orderKey,
        'orderAscending': orderAscending
    });

    getTypeName() => "ApiSkipTakePagedTableRequest";
    TypeContext? context = _ctx;
}

class DebriefReviewListItem implements IConvertible
{
    int? id;
    String? submittedBy;
    String? companyName;
    String? meetingSubject;
    String? dateSubmitted;
    String? overallScore;
    int? generalManagerId;
    bool? generalManagerReviewed;
    int? generalManagerRating;
    int? seniorManagerId;
    bool? seniorManagerReviewed;
    int? seniorManagerRating;
    int? divisionalManagerId;
    bool? divisionalManagerReviewed;
    int? divisionalManagerRating;
    int? departmentManagerId;
    bool? departmentManagerReviewed;
    int? departmentManagerRating;
    int? managerId;
    bool? managerReviewed;
    int? managerRating;
    int? campaignManagerId;
    bool? campaignManagerReviewed;
    int? campaignManagerRating;
    int? portfolioManagerId;
    bool? portfolioManagerReviewed;
    int? portfolioManagerRating;
    double? age;
    String? ageColour;
    bool? markedAsRead;

    DebriefReviewListItem({this.id,this.submittedBy,this.companyName,this.meetingSubject,this.dateSubmitted,this.overallScore,this.generalManagerId,this.generalManagerReviewed,this.generalManagerRating,this.seniorManagerId,this.seniorManagerReviewed,this.seniorManagerRating,this.divisionalManagerId,this.divisionalManagerReviewed,this.divisionalManagerRating,this.departmentManagerId,this.departmentManagerReviewed,this.departmentManagerRating,this.managerId,this.managerReviewed,this.managerRating,this.campaignManagerId,this.campaignManagerReviewed,this.campaignManagerRating,this.portfolioManagerId,this.portfolioManagerReviewed,this.portfolioManagerRating,this.age,this.ageColour,this.markedAsRead});
    DebriefReviewListItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        submittedBy = json['submittedBy'];
        companyName = json['companyName'];
        meetingSubject = json['meetingSubject'];
        dateSubmitted = json['dateSubmitted'];
        overallScore = json['overallScore'];
        generalManagerId = json['generalManagerId'];
        generalManagerReviewed = json['generalManagerReviewed'];
        generalManagerRating = json['generalManagerRating'];
        seniorManagerId = json['seniorManagerId'];
        seniorManagerReviewed = json['seniorManagerReviewed'];
        seniorManagerRating = json['seniorManagerRating'];
        divisionalManagerId = json['divisionalManagerId'];
        divisionalManagerReviewed = json['divisionalManagerReviewed'];
        divisionalManagerRating = json['divisionalManagerRating'];
        departmentManagerId = json['departmentManagerId'];
        departmentManagerReviewed = json['departmentManagerReviewed'];
        departmentManagerRating = json['departmentManagerRating'];
        managerId = json['managerId'];
        managerReviewed = json['managerReviewed'];
        managerRating = json['managerRating'];
        campaignManagerId = json['campaignManagerId'];
        campaignManagerReviewed = json['campaignManagerReviewed'];
        campaignManagerRating = json['campaignManagerRating'];
        portfolioManagerId = json['portfolioManagerId'];
        portfolioManagerReviewed = json['portfolioManagerReviewed'];
        portfolioManagerRating = json['portfolioManagerRating'];
        age = JsonConverters.toDouble(json['age']);
        ageColour = json['ageColour'];
        markedAsRead = json['markedAsRead'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'submittedBy': submittedBy,
        'companyName': companyName,
        'meetingSubject': meetingSubject,
        'dateSubmitted': dateSubmitted,
        'overallScore': overallScore,
        'generalManagerId': generalManagerId,
        'generalManagerReviewed': generalManagerReviewed,
        'generalManagerRating': generalManagerRating,
        'seniorManagerId': seniorManagerId,
        'seniorManagerReviewed': seniorManagerReviewed,
        'seniorManagerRating': seniorManagerRating,
        'divisionalManagerId': divisionalManagerId,
        'divisionalManagerReviewed': divisionalManagerReviewed,
        'divisionalManagerRating': divisionalManagerRating,
        'departmentManagerId': departmentManagerId,
        'departmentManagerReviewed': departmentManagerReviewed,
        'departmentManagerRating': departmentManagerRating,
        'managerId': managerId,
        'managerReviewed': managerReviewed,
        'managerRating': managerRating,
        'campaignManagerId': campaignManagerId,
        'campaignManagerReviewed': campaignManagerReviewed,
        'campaignManagerRating': campaignManagerRating,
        'portfolioManagerId': portfolioManagerId,
        'portfolioManagerReviewed': portfolioManagerReviewed,
        'portfolioManagerRating': portfolioManagerRating,
        'age': age,
        'ageColour': ageColour,
        'markedAsRead': markedAsRead
    };

    getTypeName() => "DebriefReviewListItem";
    TypeContext? context = _ctx;
}

class EnumOption implements IConvertible
{
    int? value;
    String? label;

    EnumOption({this.value,this.label});
    EnumOption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        value = json['value'];
        label = json['label'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'value': value,
        'label': label
    };

    getTypeName() => "EnumOption";
    TypeContext? context = _ctx;
}

class DebriefReviewListResponse extends SkipTakePagedTableListResponse<DebriefReviewListItem> implements IConvertible
{
    List<EnumOption>? readStatuses;

    DebriefReviewListResponse({this.readStatuses});
    DebriefReviewListResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        readStatuses = JsonConverters.fromJson(json['readStatuses'],'List<EnumOption>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'readStatuses': JsonConverters.toJson(readStatuses,'List<EnumOption>',context!)
    });

    getTypeName() => "DebriefReviewListResponse";
    TypeContext? context = _ctx;
}

class DateFilterType
{
    static const DateFilterType All = const DateFilterType._(0);
    static const DateFilterType Before = const DateFilterType._(1);
    static const DateFilterType After = const DateFilterType._(2);
    static const DateFilterType Range = const DateFilterType._(3);

    final int _value;
    const DateFilterType._(this._value);
    int get value => _value;
    static List<DateFilterType> get values => const [All,Before,After,Range];
}

class DateFilter implements IConvertible
{
    DateFilterType? filterType;
    List<DateTime>? dates;

    DateFilter({this.filterType,this.dates});
    DateFilter.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        filterType = JsonConverters.fromJson(json['filterType'],'DateFilterType',context!);
        dates = JsonConverters.fromJson(json['dates'],'List<DateTime>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'filterType': JsonConverters.toJson(filterType,'DateFilterType',context!),
        'dates': JsonConverters.toJson(dates,'List<DateTime>',context!)
    };

    getTypeName() => "DateFilter";
    TypeContext? context = _ctx;
}

class DebriefReadStatusType
{
    static const DebriefReadStatusType All = const DebriefReadStatusType._(0);
    static const DebriefReadStatusType Unread = const DebriefReadStatusType._(1);
    static const DebriefReadStatusType Read = const DebriefReadStatusType._(2);

    final int _value;
    const DebriefReadStatusType._(this._value);
    int get value => _value;
    static List<DebriefReadStatusType> get values => const [All,Unread,Read];
}

class DebriefReviewListRequest extends ApiSkipTakePagedTableRequest implements IConvertible
{
    bool? all;
    DateFilter? dateCaptured;
    DebriefReadStatusType? readStatus;

    DebriefReviewListRequest({this.all,this.dateCaptured,this.readStatus});
    DebriefReviewListRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        all = json['all'];
        dateCaptured = JsonConverters.fromJson(json['dateCaptured'],'DateFilter',context!);
        readStatus = JsonConverters.fromJson(json['readStatus'],'DebriefReadStatusType',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'all': all,
        'dateCaptured': JsonConverters.toJson(dateCaptured,'DateFilter',context!),
        'readStatus': JsonConverters.toJson(readStatus,'DebriefReadStatusType',context!)
    });

    getTypeName() => "DebriefReviewListRequest";
    TypeContext? context = _ctx;
}

class ApiServiceResponse implements IServiceResponse, IConvertible
{
    String? description;
    String? heading;
    bool? wasSuccessful;
    dynamic? modelState;

    ApiServiceResponse({this.description,this.heading,this.wasSuccessful,this.modelState});
    ApiServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        description = json['description'];
        heading = json['heading'];
        wasSuccessful = json['wasSuccessful'];
        modelState = JsonConverters.fromJson(json['modelState'],'dynamic',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'description': description,
        'heading': heading,
        'wasSuccessful': wasSuccessful,
        'modelState': JsonConverters.toJson(modelState,'dynamic',context!)
    };

    getTypeName() => "ApiServiceResponse";
    TypeContext? context = _ctx;
}

abstract class SkipTakePagedServiceResponse extends ApiServiceResponse implements ISkipTakePagedServiceResponse, ISkipTakePagedServiceRequest
{
    int? total;
    int? skip;
    int? take;

    SkipTakePagedServiceResponse({this.total,this.skip,this.take});
    SkipTakePagedServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        total = json['total'];
        skip = json['skip'];
        take = json['take'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'total': total,
        'skip': skip,
        'take': take
    });

    getTypeName() => "SkipTakePagedServiceResponse";
    TypeContext? context = _ctx;
}

class ApiSkipTakePagedTableResponse extends SkipTakePagedServiceResponse implements IConvertible
{
    int? requestNumber;

    ApiSkipTakePagedTableResponse({this.requestNumber});
    ApiSkipTakePagedTableResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        requestNumber = json['requestNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'requestNumber': requestNumber
    });

    getTypeName() => "ApiSkipTakePagedTableResponse";
    TypeContext? context = _ctx;
}

class SkipTakePagedTableListResponse<T> extends ApiSkipTakePagedTableResponse implements IConvertible
{
    List<T>? listItems;

    SkipTakePagedTableListResponse({this.listItems});
    SkipTakePagedTableListResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        listItems = JsonConverters.fromJson(json['listItems'],'IEnumerable<${runtimeGenericTypeDefs(this,[0]).join(",")}>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'listItems': JsonConverters.toJson(listItems,'List<T>',context!)
    });

    getTypeName() => "SkipTakePagedTableListResponse<$T>";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'cochraneplus_api_dev.happen.zone', types: <String, TypeInfo> {
    'ApiSkipTakePagedServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiSkipTakePagedServiceRequest()),
    'ApiSkipTakePagedTableRequest': TypeInfo(TypeOf.Class, create:() => ApiSkipTakePagedTableRequest()),
    'DebriefReviewListItem': TypeInfo(TypeOf.Class, create:() => DebriefReviewListItem()),
    'EnumOption': TypeInfo(TypeOf.Class, create:() => EnumOption()),
    'DebriefReviewListResponse': TypeInfo(TypeOf.Class, create:() => DebriefReviewListResponse()),
    'List<EnumOption>': TypeInfo(TypeOf.Class, create:() => <EnumOption>[]),
    'DateFilterType': TypeInfo(TypeOf.Enum, enumValues:DateFilterType.values),
    'DateFilter': TypeInfo(TypeOf.Class, create:() => DateFilter()),
    'List<DateTime>': TypeInfo(TypeOf.Class, create:() => <DateTime>[]),
    'DebriefReadStatusType': TypeInfo(TypeOf.Enum, enumValues:DebriefReadStatusType.values),
    'DebriefReviewListRequest': TypeInfo(TypeOf.Class, create:() => DebriefReviewListRequest()),
    'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
    'SkipTakePagedServiceResponse': TypeInfo(TypeOf.AbstractClass),
    'ApiSkipTakePagedTableResponse': TypeInfo(TypeOf.Class, create:() => ApiSkipTakePagedTableResponse()),
    'SkipTakePagedTableListResponse<T>': TypeInfo(TypeOf.Class, create:() => SkipTakePagedTableListResponse<T>()),
});

Dart 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.