| POST | /document/advance-create |
|---|
import 'package:servicestack/servicestack.dart';
class BasicDocument implements IConvertible
{
// @required()
String? title;
// @StringLength(4000)
String? description;
// @StringLength(500)
String? owner;
int? documentPolicyId;
int? updateDocumentId;
DateTime? effectBeginDate;
DateTime? effectEndDate;
int? issuingAgencyId;
int? documentTypeId;
int? documentGroupId;
int? subjectId;
// @StringLength(500)
String? signBy;
DateTime? signDate;
int? statusId;
bool? isInternal;
String? documentNumber;
String? documentCode;
bool? isUrgent;
int? scopeType;
bool? isActive;
BasicDocument({this.title,this.description,this.owner,this.documentPolicyId,this.updateDocumentId,this.effectBeginDate,this.effectEndDate,this.issuingAgencyId,this.documentTypeId,this.documentGroupId,this.subjectId,this.signBy,this.signDate,this.statusId,this.isInternal,this.documentNumber,this.documentCode,this.isUrgent,this.scopeType,this.isActive});
BasicDocument.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
title = json['title'];
description = json['description'];
owner = json['owner'];
documentPolicyId = json['documentPolicyId'];
updateDocumentId = json['updateDocumentId'];
effectBeginDate = JsonConverters.fromJson(json['effectBeginDate'],'DateTime',context!);
effectEndDate = JsonConverters.fromJson(json['effectEndDate'],'DateTime',context!);
issuingAgencyId = json['issuingAgencyId'];
documentTypeId = json['documentTypeId'];
documentGroupId = json['documentGroupId'];
subjectId = json['subjectId'];
signBy = json['signBy'];
signDate = JsonConverters.fromJson(json['signDate'],'DateTime',context!);
statusId = json['statusId'];
isInternal = json['isInternal'];
documentNumber = json['documentNumber'];
documentCode = json['documentCode'];
isUrgent = json['isUrgent'];
scopeType = json['scopeType'];
isActive = json['isActive'];
return this;
}
Map<String, dynamic> toJson() => {
'title': title,
'description': description,
'owner': owner,
'documentPolicyId': documentPolicyId,
'updateDocumentId': updateDocumentId,
'effectBeginDate': JsonConverters.toJson(effectBeginDate,'DateTime',context!),
'effectEndDate': JsonConverters.toJson(effectEndDate,'DateTime',context!),
'issuingAgencyId': issuingAgencyId,
'documentTypeId': documentTypeId,
'documentGroupId': documentGroupId,
'subjectId': subjectId,
'signBy': signBy,
'signDate': JsonConverters.toJson(signDate,'DateTime',context!),
'statusId': statusId,
'isInternal': isInternal,
'documentNumber': documentNumber,
'documentCode': documentCode,
'isUrgent': isUrgent,
'scopeType': scopeType,
'isActive': isActive
};
getTypeName() => "BasicDocument";
TypeContext? context = _ctx;
}
class DocumentSearchResultItem implements IConvertible
{
String? title;
String? description;
String? owner;
int? documentPolicyId;
int? updateDocumentId;
DateTime? effectBeginDate;
DateTime? effectEndDate;
int? issuingAgencyId;
int? subjectId;
String? signBy;
DateTime? signDate;
DateTime? updatedAt;
int? statusId;
bool? isInternal;
String? documentNumber;
String? documentCode;
bool? isUrgent;
int? id;
String? reasonReturn;
int? accountId;
int? approverId;
// @StringLength(500)
String? updatedBy;
// @StringLength(500)
String? createdBy;
bool? isParty;
bool? isRevisionRequested;
bool? isPrivate;
int? departmentId;
DateTime? publicationDate;
int? processStatusId;
int? documentTypeId;
int? documentGroupId;
String? accountName;
String? acceptAccountName;
String? documentGroupText;
String? processStatusText;
String? documentTypeText;
String? departmentText;
String? statusText;
String? issuingAgencyText;
String? subjectText;
String? comment;
String? submitComment;
String? fullFile;
String? parthFile;
bool? isActive;
int? stepOrder;
int? stepCount;
DocumentSearchResultItem({this.title,this.description,this.owner,this.documentPolicyId,this.updateDocumentId,this.effectBeginDate,this.effectEndDate,this.issuingAgencyId,this.subjectId,this.signBy,this.signDate,this.updatedAt,this.statusId,this.isInternal,this.documentNumber,this.documentCode,this.isUrgent,this.id,this.reasonReturn,this.accountId,this.approverId,this.updatedBy,this.createdBy,this.isParty,this.isRevisionRequested,this.isPrivate,this.departmentId,this.publicationDate,this.processStatusId,this.documentTypeId,this.documentGroupId,this.accountName,this.acceptAccountName,this.documentGroupText,this.processStatusText,this.documentTypeText,this.departmentText,this.statusText,this.issuingAgencyText,this.subjectText,this.comment,this.submitComment,this.fullFile,this.parthFile,this.isActive,this.stepOrder,this.stepCount});
DocumentSearchResultItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
title = json['title'];
description = json['description'];
owner = json['owner'];
documentPolicyId = json['documentPolicyId'];
updateDocumentId = json['updateDocumentId'];
effectBeginDate = JsonConverters.fromJson(json['effectBeginDate'],'DateTime',context!);
effectEndDate = JsonConverters.fromJson(json['effectEndDate'],'DateTime',context!);
issuingAgencyId = json['issuingAgencyId'];
subjectId = json['subjectId'];
signBy = json['signBy'];
signDate = JsonConverters.fromJson(json['signDate'],'DateTime',context!);
updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
statusId = json['statusId'];
isInternal = json['isInternal'];
documentNumber = json['documentNumber'];
documentCode = json['documentCode'];
isUrgent = json['isUrgent'];
id = json['id'];
reasonReturn = json['reasonReturn'];
accountId = json['accountId'];
approverId = json['approverId'];
updatedBy = json['updatedBy'];
createdBy = json['createdBy'];
isParty = json['isParty'];
isRevisionRequested = json['isRevisionRequested'];
isPrivate = json['isPrivate'];
departmentId = json['departmentId'];
publicationDate = JsonConverters.fromJson(json['publicationDate'],'DateTime',context!);
processStatusId = json['processStatusId'];
documentTypeId = json['documentTypeId'];
documentGroupId = json['documentGroupId'];
accountName = json['accountName'];
acceptAccountName = json['acceptAccountName'];
documentGroupText = json['documentGroupText'];
processStatusText = json['processStatusText'];
documentTypeText = json['documentTypeText'];
departmentText = json['departmentText'];
statusText = json['statusText'];
issuingAgencyText = json['issuingAgencyText'];
subjectText = json['subjectText'];
comment = json['comment'];
submitComment = json['submitComment'];
fullFile = json['fullFile'];
parthFile = json['parthFile'];
isActive = json['isActive'];
stepOrder = json['stepOrder'];
stepCount = json['stepCount'];
return this;
}
Map<String, dynamic> toJson() => {
'title': title,
'description': description,
'owner': owner,
'documentPolicyId': documentPolicyId,
'updateDocumentId': updateDocumentId,
'effectBeginDate': JsonConverters.toJson(effectBeginDate,'DateTime',context!),
'effectEndDate': JsonConverters.toJson(effectEndDate,'DateTime',context!),
'issuingAgencyId': issuingAgencyId,
'subjectId': subjectId,
'signBy': signBy,
'signDate': JsonConverters.toJson(signDate,'DateTime',context!),
'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!),
'statusId': statusId,
'isInternal': isInternal,
'documentNumber': documentNumber,
'documentCode': documentCode,
'isUrgent': isUrgent,
'id': id,
'reasonReturn': reasonReturn,
'accountId': accountId,
'approverId': approverId,
'updatedBy': updatedBy,
'createdBy': createdBy,
'isParty': isParty,
'isRevisionRequested': isRevisionRequested,
'isPrivate': isPrivate,
'departmentId': departmentId,
'publicationDate': JsonConverters.toJson(publicationDate,'DateTime',context!),
'processStatusId': processStatusId,
'documentTypeId': documentTypeId,
'documentGroupId': documentGroupId,
'accountName': accountName,
'acceptAccountName': acceptAccountName,
'documentGroupText': documentGroupText,
'processStatusText': processStatusText,
'documentTypeText': documentTypeText,
'departmentText': departmentText,
'statusText': statusText,
'issuingAgencyText': issuingAgencyText,
'subjectText': subjectText,
'comment': comment,
'submitComment': submitComment,
'fullFile': fullFile,
'parthFile': parthFile,
'isActive': isActive,
'stepOrder': stepOrder,
'stepCount': stepCount
};
getTypeName() => "DocumentSearchResultItem";
TypeContext? context = _ctx;
}
class BasicUploadedFile implements IConvertible
{
String? fileName;
String? filekey;
String? fileUrl;
String? checksum;
String? eTag;
int? fileSize;
BasicUploadedFile({this.fileName,this.filekey,this.fileUrl,this.checksum,this.eTag,this.fileSize});
BasicUploadedFile.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
fileName = json['fileName'];
filekey = json['filekey'];
fileUrl = json['fileUrl'];
checksum = json['checksum'];
eTag = json['eTag'];
fileSize = json['fileSize'];
return this;
}
Map<String, dynamic> toJson() => {
'fileName': fileName,
'filekey': filekey,
'fileUrl': fileUrl,
'checksum': checksum,
'eTag': eTag,
'fileSize': fileSize
};
getTypeName() => "BasicUploadedFile";
TypeContext? context = _ctx;
}
enum AccessType
{
Public,
Restricted,
}
class UploadedFileModel extends BasicUploadedFile implements IConvertible
{
int? id;
AccessType? accessType;
int? createdBy;
DateTime? createdDate;
UploadedFileModel({this.id,this.accessType,this.createdBy,this.createdDate});
UploadedFileModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
id = json['id'];
accessType = JsonConverters.fromJson(json['accessType'],'AccessType',context!);
createdBy = json['createdBy'];
createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'id': id,
'accessType': JsonConverters.toJson(accessType,'AccessType',context!),
'createdBy': createdBy,
'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!)
});
getTypeName() => "UploadedFileModel";
TypeContext? context = _ctx;
}
class UploadedFileAttach extends UploadedFileModel implements IConvertible
{
String? fileType;
int? subDocumentId;
int? stepId;
UploadedFileAttach({this.fileType,this.subDocumentId,this.stepId});
UploadedFileAttach.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
fileType = json['fileType'];
subDocumentId = json['subDocumentId'];
stepId = json['stepId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'fileType': fileType,
'subDocumentId': subDocumentId,
'stepId': stepId
});
getTypeName() => "UploadedFileAttach";
TypeContext? context = _ctx;
}
class UserLogin implements IConvertible
{
// @required()
String? name;
UserLogin({this.name});
UserLogin.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
name = json['name'];
return this;
}
Map<String, dynamic> toJson() => {
'name': name
};
getTypeName() => "UserLogin";
TypeContext? context = _ctx;
}
class UserProfile extends UserLogin implements IConvertible
{
int? id;
String? fullName;
String? email;
int? departmentId;
int? partyGroupId;
String? avatar;
String? telephone;
DateTime? birthday;
DateTime? createdAt;
DateTime? updatedAt;
int? failedLoginCount;
// @ignore()
List<int>? roles;
DateTime? lastLoginDate;
UserProfile({this.id,this.fullName,this.email,this.departmentId,this.partyGroupId,this.avatar,this.telephone,this.birthday,this.createdAt,this.updatedAt,this.failedLoginCount,this.roles,this.lastLoginDate});
UserProfile.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
id = json['id'];
fullName = json['fullName'];
email = json['email'];
departmentId = json['departmentId'];
partyGroupId = json['partyGroupId'];
avatar = json['avatar'];
telephone = json['telephone'];
birthday = JsonConverters.fromJson(json['birthday'],'DateTime',context!);
createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
failedLoginCount = json['failedLoginCount'];
roles = JsonConverters.fromJson(json['roles'],'List<int>',context!);
lastLoginDate = JsonConverters.fromJson(json['lastLoginDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'id': id,
'fullName': fullName,
'email': email,
'departmentId': departmentId,
'partyGroupId': partyGroupId,
'avatar': avatar,
'telephone': telephone,
'birthday': JsonConverters.toJson(birthday,'DateTime',context!),
'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!),
'failedLoginCount': failedLoginCount,
'roles': JsonConverters.toJson(roles,'List<int>',context!),
'lastLoginDate': JsonConverters.toJson(lastLoginDate,'DateTime',context!)
});
getTypeName() => "UserProfile";
TypeContext? context = _ctx;
}
class ApproversProfile implements IConvertible
{
List<UserProfile>? userProfiles;
int? processStatusId;
String? processTitle;
String? actionButtonLabel;
String? processDescription;
bool? isApprovalRequired;
bool? isFinalStep;
int? stepOrder;
ApproversProfile({this.userProfiles,this.processStatusId,this.processTitle,this.actionButtonLabel,this.processDescription,this.isApprovalRequired,this.isFinalStep,this.stepOrder});
ApproversProfile.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
userProfiles = JsonConverters.fromJson(json['userProfiles'],'List<UserProfile>',context!);
processStatusId = json['processStatusId'];
processTitle = json['processTitle'];
actionButtonLabel = json['actionButtonLabel'];
processDescription = json['processDescription'];
isApprovalRequired = json['isApprovalRequired'];
isFinalStep = json['isFinalStep'];
stepOrder = json['stepOrder'];
return this;
}
Map<String, dynamic> toJson() => {
'userProfiles': JsonConverters.toJson(userProfiles,'List<UserProfile>',context!),
'processStatusId': processStatusId,
'processTitle': processTitle,
'actionButtonLabel': actionButtonLabel,
'processDescription': processDescription,
'isApprovalRequired': isApprovalRequired,
'isFinalStep': isFinalStep,
'stepOrder': stepOrder
};
getTypeName() => "ApproversProfile";
TypeContext? context = _ctx;
}
class CurrentApprover implements IConvertible
{
int? approverId;
String? status;
int? processStatusId;
String? processTitle;
String? actionButtonLabel;
String? processDescription;
bool? isApprovalRequired;
bool? isFinalStep;
int? stepOrder;
CurrentApprover({this.approverId,this.status,this.processStatusId,this.processTitle,this.actionButtonLabel,this.processDescription,this.isApprovalRequired,this.isFinalStep,this.stepOrder});
CurrentApprover.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
approverId = json['approverId'];
status = json['status'];
processStatusId = json['processStatusId'];
processTitle = json['processTitle'];
actionButtonLabel = json['actionButtonLabel'];
processDescription = json['processDescription'];
isApprovalRequired = json['isApprovalRequired'];
isFinalStep = json['isFinalStep'];
stepOrder = json['stepOrder'];
return this;
}
Map<String, dynamic> toJson() => {
'approverId': approverId,
'status': status,
'processStatusId': processStatusId,
'processTitle': processTitle,
'actionButtonLabel': actionButtonLabel,
'processDescription': processDescription,
'isApprovalRequired': isApprovalRequired,
'isFinalStep': isFinalStep,
'stepOrder': stepOrder
};
getTypeName() => "CurrentApprover";
TypeContext? context = _ctx;
}
class SimpleDocumentRelation implements IConvertible
{
int? id;
String? title;
String? documentCode;
DateTime? publicationDate;
SimpleDocumentRelation({this.id,this.title,this.documentCode,this.publicationDate});
SimpleDocumentRelation.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
title = json['title'];
documentCode = json['documentCode'];
publicationDate = JsonConverters.fromJson(json['publicationDate'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'title': title,
'documentCode': documentCode,
'publicationDate': JsonConverters.toJson(publicationDate,'DateTime',context!)
};
getTypeName() => "SimpleDocumentRelation";
TypeContext? context = _ctx;
}
class DocumentDetail extends DocumentSearchResultItem implements IConvertible
{
UploadedFileAttach? partUploadedFile;
UploadedFileAttach? compactUploadedFile;
UploadedFileAttach? analysisUploadedFile;
UploadedFileAttach? fullUploadedFile;
DateTime? createdAt;
ApproversProfile? nextApprover;
CurrentApprover? currentApprover;
List<UploadedFileAttach>? attachFiles;
bool? hasReadPermission;
bool? canGrantReadPermission;
List<SimpleDocumentRelation>? basisDocument;
List<SimpleDocumentRelation>? basisForDocument;
SimpleDocumentRelation? mainDocument;
List<SimpleDocumentRelation>? referenceDocument;
List<SimpleDocumentRelation>? referencedByDocument;
List<SimpleDocumentRelation>? replacedDocument;
List<SimpleDocumentRelation>? replacedByDocument;
List<SimpleDocumentRelation>? expiredDocument;
List<SimpleDocumentRelation>? expiredByDocument;
SimpleDocumentRelation? updateForDocument;
int? scopeType;
int? stepOrder;
DocumentDetail({this.partUploadedFile,this.compactUploadedFile,this.analysisUploadedFile,this.fullUploadedFile,this.createdAt,this.nextApprover,this.currentApprover,this.attachFiles,this.hasReadPermission,this.canGrantReadPermission,this.basisDocument,this.basisForDocument,this.mainDocument,this.referenceDocument,this.referencedByDocument,this.replacedDocument,this.replacedByDocument,this.expiredDocument,this.expiredByDocument,this.updateForDocument,this.scopeType,this.stepOrder});
DocumentDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
partUploadedFile = JsonConverters.fromJson(json['partUploadedFile'],'UploadedFileAttach',context!);
compactUploadedFile = JsonConverters.fromJson(json['compactUploadedFile'],'UploadedFileAttach',context!);
analysisUploadedFile = JsonConverters.fromJson(json['analysisUploadedFile'],'UploadedFileAttach',context!);
fullUploadedFile = JsonConverters.fromJson(json['fullUploadedFile'],'UploadedFileAttach',context!);
createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
nextApprover = JsonConverters.fromJson(json['nextApprover'],'ApproversProfile',context!);
currentApprover = JsonConverters.fromJson(json['currentApprover'],'CurrentApprover',context!);
attachFiles = JsonConverters.fromJson(json['attachFiles'],'List<UploadedFileAttach>',context!);
hasReadPermission = json['hasReadPermission'];
canGrantReadPermission = json['canGrantReadPermission'];
basisDocument = JsonConverters.fromJson(json['basisDocument'],'List<SimpleDocumentRelation>',context!);
basisForDocument = JsonConverters.fromJson(json['basisForDocument'],'List<SimpleDocumentRelation>',context!);
mainDocument = JsonConverters.fromJson(json['mainDocument'],'SimpleDocumentRelation',context!);
referenceDocument = JsonConverters.fromJson(json['referenceDocument'],'List<SimpleDocumentRelation>',context!);
referencedByDocument = JsonConverters.fromJson(json['referencedByDocument'],'List<SimpleDocumentRelation>',context!);
replacedDocument = JsonConverters.fromJson(json['replacedDocument'],'List<SimpleDocumentRelation>',context!);
replacedByDocument = JsonConverters.fromJson(json['replacedByDocument'],'List<SimpleDocumentRelation>',context!);
expiredDocument = JsonConverters.fromJson(json['expiredDocument'],'List<SimpleDocumentRelation>',context!);
expiredByDocument = JsonConverters.fromJson(json['expiredByDocument'],'List<SimpleDocumentRelation>',context!);
updateForDocument = JsonConverters.fromJson(json['updateForDocument'],'SimpleDocumentRelation',context!);
scopeType = json['scopeType'];
stepOrder = json['stepOrder'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'partUploadedFile': JsonConverters.toJson(partUploadedFile,'UploadedFileAttach',context!),
'compactUploadedFile': JsonConverters.toJson(compactUploadedFile,'UploadedFileAttach',context!),
'analysisUploadedFile': JsonConverters.toJson(analysisUploadedFile,'UploadedFileAttach',context!),
'fullUploadedFile': JsonConverters.toJson(fullUploadedFile,'UploadedFileAttach',context!),
'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
'nextApprover': JsonConverters.toJson(nextApprover,'ApproversProfile',context!),
'currentApprover': JsonConverters.toJson(currentApprover,'CurrentApprover',context!),
'attachFiles': JsonConverters.toJson(attachFiles,'List<UploadedFileAttach>',context!),
'hasReadPermission': hasReadPermission,
'canGrantReadPermission': canGrantReadPermission,
'basisDocument': JsonConverters.toJson(basisDocument,'List<SimpleDocumentRelation>',context!),
'basisForDocument': JsonConverters.toJson(basisForDocument,'List<SimpleDocumentRelation>',context!),
'mainDocument': JsonConverters.toJson(mainDocument,'SimpleDocumentRelation',context!),
'referenceDocument': JsonConverters.toJson(referenceDocument,'List<SimpleDocumentRelation>',context!),
'referencedByDocument': JsonConverters.toJson(referencedByDocument,'List<SimpleDocumentRelation>',context!),
'replacedDocument': JsonConverters.toJson(replacedDocument,'List<SimpleDocumentRelation>',context!),
'replacedByDocument': JsonConverters.toJson(replacedByDocument,'List<SimpleDocumentRelation>',context!),
'expiredDocument': JsonConverters.toJson(expiredDocument,'List<SimpleDocumentRelation>',context!),
'expiredByDocument': JsonConverters.toJson(expiredByDocument,'List<SimpleDocumentRelation>',context!),
'updateForDocument': JsonConverters.toJson(updateForDocument,'SimpleDocumentRelation',context!),
'scopeType': scopeType,
'stepOrder': stepOrder
});
getTypeName() => "DocumentDetail";
TypeContext? context = _ctx;
}
class DocumentDetailResponse implements IResponseRequest, IConvertible
{
DocumentDetail? data;
int? code;
String? message;
DocumentDetailResponse({this.data,this.code,this.message});
DocumentDetailResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
data = JsonConverters.fromJson(json['data'],'DocumentDetail',context!);
code = json['code'];
message = json['message'];
return this;
}
Map<String, dynamic> toJson() => {
'data': JsonConverters.toJson(data,'DocumentDetail',context!),
'code': code,
'message': message
};
getTypeName() => "DocumentDetailResponse";
TypeContext? context = _ctx;
}
class UploadedFiles extends BasicUploadedFile implements IConvertible
{
int? id;
String? uploadedFile;
int? subDocumentId;
int? stepId;
int? code;
UploadedFiles({this.id,this.uploadedFile,this.subDocumentId,this.stepId,this.code});
UploadedFiles.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
id = json['id'];
uploadedFile = json['uploadedFile'];
subDocumentId = json['subDocumentId'];
stepId = json['stepId'];
code = json['code'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'id': id,
'uploadedFile': uploadedFile,
'subDocumentId': subDocumentId,
'stepId': stepId,
'code': code
});
getTypeName() => "UploadedFiles";
TypeContext? context = _ctx;
}
class AdvanceCreateDocument extends BasicDocument implements IConvertible
{
UploadedFiles? partUploadedFile;
UploadedFiles? compactUploadedFile;
UploadedFiles? analysisUploadedFile;
UploadedFiles? fullUploadedFile;
List<UploadedFiles>? attachFiles;
List<int>? basisDocumentId;
List<int>? referenceDocumentId;
List<int>? replacedDocumentId;
List<int>? expiredDocumentId;
AdvanceCreateDocument({this.partUploadedFile,this.compactUploadedFile,this.analysisUploadedFile,this.fullUploadedFile,this.attachFiles,this.basisDocumentId,this.referenceDocumentId,this.replacedDocumentId,this.expiredDocumentId});
AdvanceCreateDocument.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
partUploadedFile = JsonConverters.fromJson(json['partUploadedFile'],'UploadedFiles',context!);
compactUploadedFile = JsonConverters.fromJson(json['compactUploadedFile'],'UploadedFiles',context!);
analysisUploadedFile = JsonConverters.fromJson(json['analysisUploadedFile'],'UploadedFiles',context!);
fullUploadedFile = JsonConverters.fromJson(json['fullUploadedFile'],'UploadedFiles',context!);
attachFiles = JsonConverters.fromJson(json['attachFiles'],'List<UploadedFiles>',context!);
basisDocumentId = JsonConverters.fromJson(json['basisDocumentId'],'List<int>',context!);
referenceDocumentId = JsonConverters.fromJson(json['referenceDocumentId'],'List<int>',context!);
replacedDocumentId = JsonConverters.fromJson(json['replacedDocumentId'],'List<int>',context!);
expiredDocumentId = JsonConverters.fromJson(json['expiredDocumentId'],'List<int>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'partUploadedFile': JsonConverters.toJson(partUploadedFile,'UploadedFiles',context!),
'compactUploadedFile': JsonConverters.toJson(compactUploadedFile,'UploadedFiles',context!),
'analysisUploadedFile': JsonConverters.toJson(analysisUploadedFile,'UploadedFiles',context!),
'fullUploadedFile': JsonConverters.toJson(fullUploadedFile,'UploadedFiles',context!),
'attachFiles': JsonConverters.toJson(attachFiles,'List<UploadedFiles>',context!),
'basisDocumentId': JsonConverters.toJson(basisDocumentId,'List<int>',context!),
'referenceDocumentId': JsonConverters.toJson(referenceDocumentId,'List<int>',context!),
'replacedDocumentId': JsonConverters.toJson(replacedDocumentId,'List<int>',context!),
'expiredDocumentId': JsonConverters.toJson(expiredDocumentId,'List<int>',context!)
});
getTypeName() => "AdvanceCreateDocument";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'etc_api.vsmlab.vn', types: <String, TypeInfo> {
'BasicDocument': TypeInfo(TypeOf.Class, create:() => BasicDocument()),
'DocumentSearchResultItem': TypeInfo(TypeOf.Class, create:() => DocumentSearchResultItem()),
'BasicUploadedFile': TypeInfo(TypeOf.Class, create:() => BasicUploadedFile()),
'AccessType': TypeInfo(TypeOf.Enum, enumValues:AccessType.values),
'UploadedFileModel': TypeInfo(TypeOf.Class, create:() => UploadedFileModel()),
'UploadedFileAttach': TypeInfo(TypeOf.Class, create:() => UploadedFileAttach()),
'UserLogin': TypeInfo(TypeOf.Class, create:() => UserLogin()),
'UserProfile': TypeInfo(TypeOf.Class, create:() => UserProfile()),
'ApproversProfile': TypeInfo(TypeOf.Class, create:() => ApproversProfile()),
'List<UserProfile>': TypeInfo(TypeOf.Class, create:() => <UserProfile>[]),
'CurrentApprover': TypeInfo(TypeOf.Class, create:() => CurrentApprover()),
'SimpleDocumentRelation': TypeInfo(TypeOf.Class, create:() => SimpleDocumentRelation()),
'DocumentDetail': TypeInfo(TypeOf.Class, create:() => DocumentDetail()),
'List<UploadedFileAttach>': TypeInfo(TypeOf.Class, create:() => <UploadedFileAttach>[]),
'List<SimpleDocumentRelation>': TypeInfo(TypeOf.Class, create:() => <SimpleDocumentRelation>[]),
'DocumentDetailResponse': TypeInfo(TypeOf.Class, create:() => DocumentDetailResponse()),
'UploadedFiles': TypeInfo(TypeOf.Class, create:() => UploadedFiles()),
'AdvanceCreateDocument': TypeInfo(TypeOf.Class, create:() => AdvanceCreateDocument()),
'List<UploadedFiles>': TypeInfo(TypeOf.Class, create:() => <UploadedFiles>[]),
});
Dart AdvanceCreateDocument DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /document/advance-create HTTP/1.1
Host: etc-api.vsmlab.vn
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
partUploadedFile:
{
id: 0,
uploadedFile: String,
subDocumentId: 0,
stepId: 0,
code: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
},
compactUploadedFile:
{
id: 0,
uploadedFile: String,
subDocumentId: 0,
stepId: 0,
code: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
},
analysisUploadedFile:
{
id: 0,
uploadedFile: String,
subDocumentId: 0,
stepId: 0,
code: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
},
fullUploadedFile:
{
id: 0,
uploadedFile: String,
subDocumentId: 0,
stepId: 0,
code: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
},
attachFiles:
[
{
id: 0,
uploadedFile: String,
subDocumentId: 0,
stepId: 0,
code: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
}
],
basisDocumentId:
[
0
],
referenceDocumentId:
[
0
],
replacedDocumentId:
[
0
],
expiredDocumentId:
[
0
],
title: String,
description: String,
owner: String,
documentPolicyId: 0,
updateDocumentId: 0,
effectBeginDate: "0001-01-01T00:00:00.0000000+07:06",
effectEndDate: "0001-01-01T00:00:00.0000000+07:06",
issuingAgencyId: 0,
documentTypeId: 0,
documentGroupId: 0,
subjectId: 0,
signBy: String,
signDate: "0001-01-01T00:00:00.0000000+07:06",
statusId: 0,
isInternal: False,
documentNumber: String,
documentCode: String,
isUrgent: False,
scopeType: 0,
isActive: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
data:
{
partUploadedFile:
{
fileType: String,
subDocumentId: 0,
stepId: 0,
id: 0,
accessType: Public,
createdBy: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
},
compactUploadedFile:
{
fileType: String,
subDocumentId: 0,
stepId: 0,
id: 0,
accessType: Public,
createdBy: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
},
analysisUploadedFile:
{
fileType: String,
subDocumentId: 0,
stepId: 0,
id: 0,
accessType: Public,
createdBy: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
},
fullUploadedFile:
{
fileType: String,
subDocumentId: 0,
stepId: 0,
id: 0,
accessType: Public,
createdBy: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
},
nextApprover:
{
userProfiles:
[
{
id: 0,
fullName: String,
email: String,
departmentId: 0,
partyGroupId: 0,
avatar: String,
telephone: String,
birthday: "0001-01-01T00:00:00.0000000+07:06",
createdAt: "0001-01-01T00:00:00.0000000+07:06",
updatedAt: "0001-01-01T00:00:00.0000000+07:06",
failedLoginCount: 0,
roles:
[
0
],
lastLoginDate: "0001-01-01T00:00:00.0000000+07:06",
name: String
}
],
processStatusId: 0,
processTitle: String,
actionButtonLabel: String,
processDescription: String,
isApprovalRequired: False,
isFinalStep: False,
stepOrder: 0
},
currentApprover:
{
approverId: 0,
status: String,
processStatusId: 0,
processTitle: String,
actionButtonLabel: String,
processDescription: String,
isApprovalRequired: False,
isFinalStep: False,
stepOrder: 0
},
attachFiles:
[
{
fileType: String,
subDocumentId: 0,
stepId: 0,
id: 0,
accessType: Public,
createdBy: 0,
fileName: String,
filekey: String,
fileUrl: String,
checksum: String,
eTag: String,
fileSize: 0
}
],
hasReadPermission: False,
canGrantReadPermission: False,
basisDocument:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
basisForDocument:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
mainDocument:
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
},
referenceDocument:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
referencedByDocument:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
replacedDocument:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
replacedByDocument:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
expiredDocument:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
expiredByDocument:
[
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
}
],
updateForDocument:
{
id: 0,
title: String,
documentCode: String,
publicationDate: "0001-01-01T00:00:00.0000000+07:06"
},
scopeType: 0,
stepOrder: 0,
title: String,
description: String,
owner: String,
documentPolicyId: 0,
updateDocumentId: 0,
effectBeginDate: "0001-01-01T00:00:00.0000000+07:06",
effectEndDate: "0001-01-01T00:00:00.0000000+07:06",
issuingAgencyId: 0,
subjectId: 0,
signBy: String,
signDate: "0001-01-01T00:00:00.0000000+07:06",
updatedAt: "0001-01-01T00:00:00.0000000+07:06",
statusId: 0,
isInternal: False,
documentNumber: String,
documentCode: String,
isUrgent: False,
id: 0,
reasonReturn: String,
accountId: 0,
approverId: 0,
updatedBy: String,
createdBy: String,
isParty: False,
isRevisionRequested: False,
isPrivate: False,
departmentId: 0,
publicationDate: "0001-01-01T00:00:00.0000000+07:06",
processStatusId: 0,
documentTypeId: 0,
documentGroupId: 0,
accountName: String,
acceptAccountName: String,
documentGroupText: String,
processStatusText: String,
documentTypeText: String,
departmentText: String,
statusText: String,
issuingAgencyText: String,
subjectText: String,
comment: String,
submitComment: String,
fullFile: String,
parthFile: String,
isActive: False,
stepOrder: 0,
stepCount: 0
},
code: 0,
message: String
}