"use strict";
export class QueryBase {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?number} */
skip;
/** @type {?number} */
take;
/** @type {string} */
orderBy;
/** @type {string} */
orderByDesc;
/** @type {string} */
include;
/** @type {string} */
fields;
/** @type {{ [index:string]: string; }} */
meta;
}
/** @typedef T {any} */
export class QueryDb extends QueryBase {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
/** @typedef {'Public'|'Team'|'Private'} */
export var FileAccessType;
(function (FileAccessType) {
FileAccessType["Public"] = "Public"
FileAccessType["Team"] = "Team"
FileAccessType["Private"] = "Private"
})(FileAccessType || (FileAccessType = {}));
export class FileSystemFile {
/** @param {{id?:number,fileName?:string,filePath?:string,contentType?:string,contentLength?:number,fileSystemItemId?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
fileName;
/** @type {string} */
filePath;
/** @type {string} */
contentType;
/** @type {number} */
contentLength;
/** @type {number} */
fileSystemItemId;
}
export class FileSystemItem {
/** @param {{id?:number,fileAccessType?:FileAccessType,file?:FileSystemFile,appUserId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {?FileAccessType} */
fileAccessType;
/** @type {FileSystemFile} */
file;
/** @type {string} */
appUserId;
}
export class QueryFileSystemItems extends QueryDb {
/** @param {{appUserId?:number,fileAccessType?:FileAccessType,skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {?number} */
appUserId;
/** @type {?FileAccessType} */
fileAccessType;
}
export class Todo {
/** @param {{id?:number,text?:string,isFinished?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
text;
/** @type {boolean} */
isFinished;
}
/** @typedef T {any} */
export class QueryResponse {
/** @param {{offset?:number,total?:number,results?:T[],meta?:{ [index:string]: string; },responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
offset;
/** @type {number} */
total;
/** @type {T[]} */
results;
/** @type {{ [index:string]: string; }} */
meta;
/** @type {ResponseStatus} */
responseStatus;
}
JavaScript QueryFileSystemItems DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/QueryFileSystemItems HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<QueryFileSystemItems xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
<Skip xmlns="http://schemas.servicestack.net/types">0</Skip>
<Take xmlns="http://schemas.servicestack.net/types">0</Take>
<OrderBy xmlns="http://schemas.servicestack.net/types">String</OrderBy>
<OrderByDesc xmlns="http://schemas.servicestack.net/types">String</OrderByDesc>
<Include xmlns="http://schemas.servicestack.net/types">String</Include>
<Fields xmlns="http://schemas.servicestack.net/types">String</Fields>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
<AppUserId>0</AppUserId>
<FileAccessType>Public</FileAccessType>
</QueryFileSystemItems>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <QueryResponseOfFileSystemItemtlJ4_P31p xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <Offset>0</Offset> <Total>0</Total> <Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel"> <d2p1:FileSystemItem> <d2p1:AppUserId>String</d2p1:AppUserId> <d2p1:File> <d2p1:ContentLength>0</d2p1:ContentLength> <d2p1:ContentType>String</d2p1:ContentType> <d2p1:FileName>String</d2p1:FileName> <d2p1:FilePath>String</d2p1:FilePath> <d2p1:FileSystemItemId>0</d2p1:FileSystemItemId> <d2p1:Id>0</d2p1:Id> </d2p1:File> <d2p1:FileAccessType>Public</d2p1:FileAccessType> <d2p1:Id>0</d2p1:Id> </d2p1:FileSystemItem> </Results> <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringstring> <d2p1:Key>String</d2p1:Key> <d2p1:Value>String</d2p1:Value> </d2p1:KeyValueOfstringstring> </Meta> <ResponseStatus> <ErrorCode>String</ErrorCode> <Message>String</Message> <StackTrace>String</StackTrace> <Errors> <ResponseError> <ErrorCode>String</ErrorCode> <FieldName>String</FieldName> <Message>String</Message> <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </Meta> </ResponseError> </Errors> <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </Meta> </ResponseStatus> </QueryResponseOfFileSystemItemtlJ4_P31p>