| POST | /document/advance-create |
|---|
namespace tvpl.api.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type DocumentSearchResultItem() =
member val Title:String = null with get,set
member val Description:String = null with get,set
member val Owner:String = null with get,set
member val DocumentPolicyId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val UpdateDocumentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val EffectBeginDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val EffectEndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val IssuingAgencyId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SubjectId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SignBy:String = null with get,set
member val SignDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val UpdatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val StatusId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val IsInternal:Boolean = new Boolean() with get,set
member val DocumentNumber:String = null with get,set
member val DocumentCode:String = null with get,set
member val IsUrgent:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val Id:Int32 = new Int32() with get,set
member val ReasonReturn:String = null with get,set
member val AccountId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ApproverId:Nullable<Int32> = new Nullable<Int32>() with get,set
[<StringLength(500)>]
member val UpdatedBy:String = null with get,set
[<StringLength(500)>]
member val CreatedBy:String = null with get,set
member val IsParty:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val IsRevisionRequested:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val IsPrivate:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val DepartmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val PublicationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ProcessStatusId:Int32 = new Int32() with get,set
member val DocumentTypeId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DocumentGroupId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val AccountName:String = null with get,set
member val AcceptAccountName:String = null with get,set
member val DocumentGroupText:String = null with get,set
member val ProcessStatusText:String = null with get,set
member val DocumentTypeText:String = null with get,set
member val DepartmentText:String = null with get,set
member val StatusText:String = null with get,set
member val IssuingAgencyText:String = null with get,set
member val SubjectText:String = null with get,set
member val Comment:String = null with get,set
member val SubmitComment:String = null with get,set
member val FullFile:String = null with get,set
member val ParthFile:String = null with get,set
member val IsActive:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val StepOrder:Nullable<Int32> = new Nullable<Int32>() with get,set
member val StepCount:Nullable<Int32> = new Nullable<Int32>() with get,set
[<AllowNullLiteral>]
type BasicUploadedFile() =
member val FileName:String = null with get,set
member val Filekey:String = null with get,set
member val FileUrl:String = null with get,set
member val Checksum:String = null with get,set
member val ETag:String = null with get,set
member val FileSize:Int64 = new Int64() with get,set
type AccessType =
| Public = 0
| Restricted = 1
[<AllowNullLiteral>]
type UploadedFileModel() =
inherit BasicUploadedFile()
member val Id:Int64 = new Int64() with get,set
member val AccessType:AccessType = new AccessType() with get,set
member val CreatedBy:Int32 = new Int32() with get,set
member val CreatedDate:DateTime = new DateTime() with get,set
[<AllowNullLiteral>]
type UploadedFileAttach() =
inherit UploadedFileModel()
member val FileType:String = null with get,set
member val SubDocumentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val StepId:Nullable<Int32> = new Nullable<Int32>() with get,set
[<AllowNullLiteral>]
type UserLogin() =
[<Required>]
member val Name:String = null with get,set
[<AllowNullLiteral>]
type UserProfile() =
inherit UserLogin()
member val Id:Int32 = new Int32() with get,set
member val FullName:String = null with get,set
member val Email:String = null with get,set
member val DepartmentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val PartyGroupId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Avatar:String = null with get,set
member val Telephone:String = null with get,set
member val Birthday:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CreatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val UpdatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val FailedLoginCount:Int32 = new Int32() with get,set
[<Ignore>]
member val Roles:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val LastLoginDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type ApproversProfile() =
member val UserProfiles:ResizeArray<UserProfile> = new ResizeArray<UserProfile>() with get,set
member val ProcessStatusId:Int32 = new Int32() with get,set
member val ProcessTitle:String = null with get,set
member val ActionButtonLabel:String = null with get,set
member val ProcessDescription:String = null with get,set
member val IsApprovalRequired:Boolean = new Boolean() with get,set
member val IsFinalStep:Boolean = new Boolean() with get,set
member val StepOrder:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type CurrentApprover() =
member val ApproverId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Status:String = null with get,set
member val ProcessStatusId:Int32 = new Int32() with get,set
member val ProcessTitle:String = null with get,set
member val ActionButtonLabel:String = null with get,set
member val ProcessDescription:String = null with get,set
member val IsApprovalRequired:Boolean = new Boolean() with get,set
member val IsFinalStep:Boolean = new Boolean() with get,set
member val StepOrder:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type SimpleDocumentRelation() =
member val Id:Int32 = new Int32() with get,set
member val Title:String = null with get,set
member val DocumentCode:String = null with get,set
member val PublicationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type DocumentDetail() =
inherit DocumentSearchResultItem()
member val PartUploadedFile:UploadedFileAttach = null with get,set
member val CompactUploadedFile:UploadedFileAttach = null with get,set
member val AnalysisUploadedFile:UploadedFileAttach = null with get,set
member val FullUploadedFile:UploadedFileAttach = null with get,set
member val CreatedAt:DateTime = new DateTime() with get,set
member val NextApprover:ApproversProfile = null with get,set
member val CurrentApprover:CurrentApprover = null with get,set
member val AttachFiles:ResizeArray<UploadedFileAttach> = new ResizeArray<UploadedFileAttach>() with get,set
member val HasReadPermission:Boolean = new Boolean() with get,set
member val CanGrantReadPermission:Boolean = new Boolean() with get,set
member val BasisDocument:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val BasisForDocument:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val MainDocument:SimpleDocumentRelation = null with get,set
member val ReferenceDocument:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val ReferencedByDocument:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val ReplacedDocument:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val ReplacedByDocument:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val ExpiredDocument:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val ExpiredByDocument:ResizeArray<SimpleDocumentRelation> = new ResizeArray<SimpleDocumentRelation>() with get,set
member val UpdateForDocument:SimpleDocumentRelation = null with get,set
member val ScopeType:Nullable<Int32> = new Nullable<Int32>() with get,set
member val StepOrder:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type DocumentDetailResponse() =
member val Data:DocumentDetail = null with get,set
member val Code:Int32 = new Int32() with get,set
member val Message:String = null with get,set
[<AllowNullLiteral>]
type BasicDocument() =
[<Required>]
member val Title:String = null with get,set
[<StringLength(4000)>]
member val Description:String = null with get,set
[<StringLength(500)>]
member val Owner:String = null with get,set
member val DocumentPolicyId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val UpdateDocumentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val EffectBeginDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val EffectEndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val IssuingAgencyId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DocumentTypeId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val DocumentGroupId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SubjectId:Nullable<Int32> = new Nullable<Int32>() with get,set
[<StringLength(500)>]
member val SignBy:String = null with get,set
member val SignDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val StatusId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val IsInternal:Boolean = new Boolean() with get,set
member val DocumentNumber:String = null with get,set
member val DocumentCode:String = null with get,set
member val IsUrgent:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val ScopeType:Nullable<Int32> = new Nullable<Int32>() with get,set
member val IsActive:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<AllowNullLiteral>]
type UploadedFiles() =
inherit BasicUploadedFile()
member val Id:Nullable<Int64> = new Nullable<Int64>() with get,set
member val UploadedFile:String = null with get,set
member val SubDocumentId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val StepId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Code:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type AdvanceCreateDocument() =
inherit BasicDocument()
member val PartUploadedFile:UploadedFiles = null with get,set
member val CompactUploadedFile:UploadedFiles = null with get,set
member val AnalysisUploadedFile:UploadedFiles = null with get,set
member val FullUploadedFile:UploadedFiles = null with get,set
member val AttachFiles:ResizeArray<UploadedFiles> = new ResizeArray<UploadedFiles>() with get,set
member val BasisDocumentId:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val ReferenceDocumentId:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val ReplacedDocumentId:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val ExpiredDocumentId:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
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
}