Cochrane+ App API

<back to all web services

UpdateDebrief

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

class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible
{
    /**
    * The API Key required for authentication
    */
    // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    String? apiKey;

    /**
    * Latitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Latitude of the user making this request")
    double? latitude;

    /**
    * Longitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Longitude of the user making this request")
    double? longitude;

    ApiServiceRequest({this.apiKey,this.latitude,this.longitude});
    ApiServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        apiKey = json['apiKey'];
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'apiKey': apiKey,
        'latitude': latitude,
        'longitude': longitude
    };

    getTypeName() => "ApiServiceRequest";
    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;
}

class MeetingData implements IConvertible
{
    int? meetingId;
    String? startTime;
    String? arrivalTime;
    String? leftTime;
    String? duration;
    bool? showTimeFields;
    String? arrivalStatus;
    String? email;
    bool? hasEmail;
    String? contactName;
    double? latitude;
    double? longitude;
    String? location;
    String? address;
    String? subject;
    String? description;
    String? endTime;
    String? company;
    String? contactNumber;
    bool? hasContactNumber;
    bool? hasLocation;
    String? setBy;
    String? virtualOrInPerson;

    MeetingData({this.meetingId,this.startTime,this.arrivalTime,this.leftTime,this.duration,this.showTimeFields,this.arrivalStatus,this.email,this.hasEmail,this.contactName,this.latitude,this.longitude,this.location,this.address,this.subject,this.description,this.endTime,this.company,this.contactNumber,this.hasContactNumber,this.hasLocation,this.setBy,this.virtualOrInPerson});
    MeetingData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        meetingId = json['meetingId'];
        startTime = json['startTime'];
        arrivalTime = json['arrivalTime'];
        leftTime = json['leftTime'];
        duration = json['duration'];
        showTimeFields = json['showTimeFields'];
        arrivalStatus = json['arrivalStatus'];
        email = json['email'];
        hasEmail = json['hasEmail'];
        contactName = json['contactName'];
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        location = json['location'];
        address = json['address'];
        subject = json['subject'];
        description = json['description'];
        endTime = json['endTime'];
        company = json['company'];
        contactNumber = json['contactNumber'];
        hasContactNumber = json['hasContactNumber'];
        hasLocation = json['hasLocation'];
        setBy = json['setBy'];
        virtualOrInPerson = json['virtualOrInPerson'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'meetingId': meetingId,
        'startTime': startTime,
        'arrivalTime': arrivalTime,
        'leftTime': leftTime,
        'duration': duration,
        'showTimeFields': showTimeFields,
        'arrivalStatus': arrivalStatus,
        'email': email,
        'hasEmail': hasEmail,
        'contactName': contactName,
        'latitude': latitude,
        'longitude': longitude,
        'location': location,
        'address': address,
        'subject': subject,
        'description': description,
        'endTime': endTime,
        'company': company,
        'contactNumber': contactNumber,
        'hasContactNumber': hasContactNumber,
        'hasLocation': hasLocation,
        'setBy': setBy,
        'virtualOrInPerson': virtualOrInPerson
    };

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

class NewContactData implements IConvertible
{
    String? name;
    String? jobTitle;
    String? companyName;
    String? emailAddress;
    String? contactNumber;

    NewContactData({this.name,this.jobTitle,this.companyName,this.emailAddress,this.contactNumber});
    NewContactData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        jobTitle = json['jobTitle'];
        companyName = json['companyName'];
        emailAddress = json['emailAddress'];
        contactNumber = json['contactNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'jobTitle': jobTitle,
        'companyName': companyName,
        'emailAddress': emailAddress,
        'contactNumber': contactNumber
    };

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

class DebriefRatingCommentDetail implements IConvertible
{
    int? managerId;
    String? name;
    String? title;
    String? reviewedDate;
    int? rating;
    String? comments;

    DebriefRatingCommentDetail({this.managerId,this.name,this.title,this.reviewedDate,this.rating,this.comments});
    DebriefRatingCommentDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        managerId = json['managerId'];
        name = json['name'];
        title = json['title'];
        reviewedDate = json['reviewedDate'];
        rating = json['rating'];
        comments = json['comments'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'managerId': managerId,
        'name': name,
        'title': title,
        'reviewedDate': reviewedDate,
        'rating': rating,
        'comments': comments
    };

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

class DebriefData implements IConvertible
{
    bool? hasAiPermissions;
    int? id;
    MeetingData? meeting;
    String? dateCreated;
    String? lastUpdated;
    bool? completed;
    bool? hasAudio;
    String? companyName;
    String? meetingTime;
    String? address;
    String? feedback;
    String? research;
    String? nextSteps;
    String? opportunities;
    String? personnel;
    String? group;
    String? industry;
    List<NewContactData>? newContacts;
    List<DebriefRatingCommentDetail>? ratingCommentDetails;
    bool? hasComments;

    DebriefData({this.hasAiPermissions,this.id,this.meeting,this.dateCreated,this.lastUpdated,this.completed,this.hasAudio,this.companyName,this.meetingTime,this.address,this.feedback,this.research,this.nextSteps,this.opportunities,this.personnel,this.group,this.industry,this.newContacts,this.ratingCommentDetails,this.hasComments});
    DebriefData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        hasAiPermissions = json['hasAiPermissions'];
        id = json['id'];
        meeting = JsonConverters.fromJson(json['meeting'],'MeetingData',context!);
        dateCreated = json['dateCreated'];
        lastUpdated = json['lastUpdated'];
        completed = json['completed'];
        hasAudio = json['hasAudio'];
        companyName = json['companyName'];
        meetingTime = json['meetingTime'];
        address = json['address'];
        feedback = json['feedback'];
        research = json['research'];
        nextSteps = json['nextSteps'];
        opportunities = json['opportunities'];
        personnel = json['personnel'];
        group = json['group'];
        industry = json['industry'];
        newContacts = JsonConverters.fromJson(json['newContacts'],'List<NewContactData>',context!);
        ratingCommentDetails = JsonConverters.fromJson(json['ratingCommentDetails'],'List<DebriefRatingCommentDetail>',context!);
        hasComments = json['hasComments'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'hasAiPermissions': hasAiPermissions,
        'id': id,
        'meeting': JsonConverters.toJson(meeting,'MeetingData',context!),
        'dateCreated': dateCreated,
        'lastUpdated': lastUpdated,
        'completed': completed,
        'hasAudio': hasAudio,
        'companyName': companyName,
        'meetingTime': meetingTime,
        'address': address,
        'feedback': feedback,
        'research': research,
        'nextSteps': nextSteps,
        'opportunities': opportunities,
        'personnel': personnel,
        'group': group,
        'industry': industry,
        'newContacts': JsonConverters.toJson(newContacts,'List<NewContactData>',context!),
        'ratingCommentDetails': JsonConverters.toJson(ratingCommentDetails,'List<DebriefRatingCommentDetail>',context!),
        'hasComments': hasComments
    };

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

class UpdateDebriefResponse extends ApiServiceResponse implements IConvertible
{
    DebriefData? debrief;

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

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

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

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

class UpdateDebrief extends ApiServiceRequest implements IConvertible
{
    int? debriefId;
    bool? submissionComplete;
    int? meetingId;
    String? companyName;
    String? meetingTime;
    String? address;
    String? feedback;
    String? research;
    String? nextSteps;
    String? opportunities;
    String? personnel;
    String? group;
    String? industry;
    List<NewContactData>? newContacts;

    UpdateDebrief({this.debriefId,this.submissionComplete,this.meetingId,this.companyName,this.meetingTime,this.address,this.feedback,this.research,this.nextSteps,this.opportunities,this.personnel,this.group,this.industry,this.newContacts});
    UpdateDebrief.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        debriefId = json['debriefId'];
        submissionComplete = json['submissionComplete'];
        meetingId = json['meetingId'];
        companyName = json['companyName'];
        meetingTime = json['meetingTime'];
        address = json['address'];
        feedback = json['feedback'];
        research = json['research'];
        nextSteps = json['nextSteps'];
        opportunities = json['opportunities'];
        personnel = json['personnel'];
        group = json['group'];
        industry = json['industry'];
        newContacts = JsonConverters.fromJson(json['newContacts'],'List<NewContactData>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'debriefId': debriefId,
        'submissionComplete': submissionComplete,
        'meetingId': meetingId,
        'companyName': companyName,
        'meetingTime': meetingTime,
        'address': address,
        'feedback': feedback,
        'research': research,
        'nextSteps': nextSteps,
        'opportunities': opportunities,
        'personnel': personnel,
        'group': group,
        'industry': industry,
        'newContacts': JsonConverters.toJson(newContacts,'List<NewContactData>',context!)
    });

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

TypeContext _ctx = TypeContext(library: 'cochraneplus_api_dev.happen.zone', types: <String, TypeInfo> {
    'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
    'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
    'MeetingData': TypeInfo(TypeOf.Class, create:() => MeetingData()),
    'NewContactData': TypeInfo(TypeOf.Class, create:() => NewContactData()),
    'DebriefRatingCommentDetail': TypeInfo(TypeOf.Class, create:() => DebriefRatingCommentDetail()),
    'DebriefData': TypeInfo(TypeOf.Class, create:() => DebriefData()),
    'List<NewContactData>': TypeInfo(TypeOf.Class, create:() => <NewContactData>[]),
    'List<DebriefRatingCommentDetail>': TypeInfo(TypeOf.Class, create:() => <DebriefRatingCommentDetail>[]),
    'UpdateDebriefResponse': TypeInfo(TypeOf.Class, create:() => UpdateDebriefResponse()),
    'UpdateDebrief': TypeInfo(TypeOf.Class, create:() => UpdateDebrief()),
});

Dart UpdateDebrief DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /debrief/update HTTP/1.1 
Host: cochraneplus-api-dev.happen.zone 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"debriefId":0,"submissionComplete":false,"meetingId":0,"companyName":"String","meetingTime":"String","address":"String","feedback":"String","research":"String","nextSteps":"String","opportunities":"String","personnel":"String","group":"String","industry":"String","newContacts":[{"name":"String","jobTitle":"String","companyName":"String","emailAddress":"String","contactNumber":"String"}],"apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"description":"String","heading":"String","wasSuccessful":false,"modelState":{}}