| POST | /api/DMS/AddUploadFile |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
/**
* Add a uploadfile with metadata.
*/
@Api(Description="Add a uploadfile with metadata.")
open class AddUploadFile
{
/**
* Registration profile ID
*/
@ApiMember(Description="Registration profile ID", IsRequired=true)
open var RegistrationProfileID:UUID? = null
/**
* Registration navigation path
*/
@ApiMember(Description="Registration navigation path")
open var NavigationPath:String? = null
/**
* File name
*/
@ApiMember(Description="File name", IsRequired=true)
open var FileName:String? = null
/**
* File date
*/
@ApiMember(Description="File date", IsRequired=true)
open var FileDate:Date? = null
/**
* File content
*/
@ApiMember(Description="File content", IsRequired=true)
open var FileContent:ByteArray = ByteArray(0)
/**
* File description
*/
@ApiMember(Description="File description", IsRequired=true)
open var Description:String? = null
/**
* Keep document in uploads (false; register immediately)
*/
@ApiMember(Description="Keep document in uploads (false; register immediately)")
open var DocumentUpload:Boolean? = null
/**
* Source of the file
*/
@ApiMember(Description="Source of the file")
open var Source:String? = null
/**
* MetaDataFields
*/
@ApiMember(Description="MetaDataFields")
open var MetaDataFields:ArrayList<MetaDataField>? = null
/**
* Document ID
*/
@ApiMember(Description="Document ID")
open var DocumentID:UUID? = null
/**
* Main Document ID
*/
@ApiMember(Description="Main Document ID")
open var MainDocumentID:UUID? = null
/**
* Sub Document IDs
*/
@ApiMember(Description="Sub Document IDs")
open var SubDocumentIDs:ArrayList<UUID>? = null
}
@DataContract
open class MetaDataField
{
@DataMember
open var ID:UUID? = null
@DataMember
open var DocumentVeldID:UUID? = null
@DataMember
open var Name:String? = null
@DataMember
open var Label:String? = null
@DataMember
open var Datatype:String? = null
@DataMember
open var PrintLabel:String? = null
@DataMember
open var Entity:String? = null
@DataMember
open var PrintValue:String? = null
@DataMember
open var RegistrationValue:String? = null
@DataMember
open var SPSiteColumnName:String? = null
@DataMember
open var ShadowName:String? = null
@DataMember
open var ShadowDatatype:String? = null
@DataMember
open var ShadowSPSiteColumnName:String? = null
@DataMember
open var ShadowSPSiteColumnRegistrationValue:String? = null
@DataMember
open var ShadowRegistrationValue:String? = null
@DataMember
open var IsKeyField:Boolean? = null
@DataMember
open var KopierenBijNieuweVersie:Boolean? = null
}
@DataContract
open class AddUploadFileResponse
{
@DataMember
open var DocumentId:UUID? = null
@DataMember
open var DocumentUploadId:Int? = null
@DataMember
open var DocumentNr:String? = null
@DataMember
open var Messages:InformationMessages? = null
}
open class InformationMessages : ArrayList<InformationMessageBase>(), IInformationMessages
{
}
open class InformationMessageBase : IInformationMessage
{
override var Type:MessageType? = null
override var Summary:String? = null
override var FullMessage:String? = null
override var FieldName:String? = null
override var KeepOpen:Boolean? = null
}
enum class MessageType(val value:Int)
{
Information(1),
Warning(2),
Error(3),
Success(4),
}
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 /api/DMS/AddUploadFile HTTP/1.1
Host: test-dogw.klokgroep.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
NavigationPath: String,
FileName: String,
FileDate: 0001-01-01,
FileContent: AA==,
Description: String,
DocumentUpload: False,
Source: String,
MetaDataFields:
[
{
ID: 00000000-0000-0000-0000-000000000000,
DocumentVeldID: 00000000-0000-0000-0000-000000000000,
Name: String,
Label: String,
Datatype: String,
PrintLabel: String,
Entity: String,
PrintValue: String,
RegistrationValue: String,
SPSiteColumnName: String,
ShadowName: String,
ShadowDatatype: String,
ShadowSPSiteColumnName: String,
ShadowSPSiteColumnRegistrationValue: String,
ShadowRegistrationValue: String,
IsKeyField: False,
KopierenBijNieuweVersie: False
}
],
DocumentID: 00000000-0000-0000-0000-000000000000,
MainDocumentID: 00000000-0000-0000-0000-000000000000,
SubDocumentIDs:
[
00000000-0000-0000-0000-000000000000
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
DocumentId: 00000000-0000-0000-0000-000000000000,
DocumentUploadId: 0,
DocumentNr: String,
Messages:
[
{
}
]
}