tvpl.api

<back to all web services

GetWorkflowDeleteRequest

Requires Authentication
The following routes are available for this service:
GET/workflow/{WorkflowId}/delete-request
import 'package:servicestack/servicestack.dart';

enum WorkflowDeleteRequestStatus
{
    Pending,
    Approved,
    Rejected,
    Cancelled,
}

class WorkflowDeleteRequestDetail implements IConvertible
{
    int? id;
    int? workflowId;
    int? requestedBy;
    String? requestedByName;
    int? approverId;
    String? approverName;
    WorkflowDeleteRequestStatus? status;
    String? reason;
    String? comment;
    DateTime? createdAt;
    DateTime? actionAt;

    WorkflowDeleteRequestDetail({this.id,this.workflowId,this.requestedBy,this.requestedByName,this.approverId,this.approverName,this.status,this.reason,this.comment,this.createdAt,this.actionAt});
    WorkflowDeleteRequestDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        workflowId = json['workflowId'];
        requestedBy = json['requestedBy'];
        requestedByName = json['requestedByName'];
        approverId = json['approverId'];
        approverName = json['approverName'];
        status = JsonConverters.fromJson(json['status'],'WorkflowDeleteRequestStatus',context!);
        reason = json['reason'];
        comment = json['comment'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        actionAt = JsonConverters.fromJson(json['actionAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'workflowId': workflowId,
        'requestedBy': requestedBy,
        'requestedByName': requestedByName,
        'approverId': approverId,
        'approverName': approverName,
        'status': JsonConverters.toJson(status,'WorkflowDeleteRequestStatus',context!),
        'reason': reason,
        'comment': comment,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'actionAt': JsonConverters.toJson(actionAt,'DateTime',context!)
    };

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

class GetWorkflowDeleteRequest implements IConvertible
{
    int? workflowId;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'qlcn_api.vsmlab.vn', types: <String, TypeInfo> {
    'WorkflowDeleteRequestStatus': TypeInfo(TypeOf.Enum, enumValues:WorkflowDeleteRequestStatus.values),
    'WorkflowDeleteRequestDetail': TypeInfo(TypeOf.Class, create:() => WorkflowDeleteRequestDetail()),
    'GetWorkflowDeleteRequest': TypeInfo(TypeOf.Class, create:() => GetWorkflowDeleteRequest()),
});

Dart GetWorkflowDeleteRequest DTOs

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

HTTP + XML

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

GET /workflow/{WorkflowId}/delete-request HTTP/1.1 
Host: qlcn-api.vsmlab.vn 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<WorkflowDeleteRequestDetail xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/tvpl.api.ServiceModel">
  <ActionAt>0001-01-01T00:00:00</ActionAt>
  <ApproverId>0</ApproverId>
  <ApproverName>String</ApproverName>
  <Comment>String</Comment>
  <CreatedAt>0001-01-01T00:00:00</CreatedAt>
  <Id>0</Id>
  <Reason>String</Reason>
  <RequestedBy>0</RequestedBy>
  <RequestedByName>String</RequestedByName>
  <Status>Pending</Status>
  <WorkflowId>0</WorkflowId>
</WorkflowDeleteRequestDetail>