"use strict";
/** @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 CreateFileSystemItem {
/** @param {{fileAccessType?:FileAccessType,file?:FileSystemFile}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?FileAccessType} */
fileAccessType;
/** @type {FileSystemFile} */
file;
}
JavaScript CreateFileSystemItem 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 /jsv/reply/CreateFileSystemItem HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
fileAccessType: Public,
file:
{
id: 0,
fileName: String,
filePath: String,
contentType: String,
contentLength: 0,
fileSystemItemId: 0
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { id: 0, fileAccessType: Public, file: { id: 0, fileName: String, filePath: String, contentType: String, contentLength: 0, fileSystemItemId: 0 }, appUserId: String }