export enum FileAccessType
{
Public = 'Public',
Team = 'Team',
Private = 'Private',
}
export class FileSystemFile implements IFile
{
public id: number;
public fileName: string;
public filePath: string;
public contentType: string;
public contentLength: number;
// @References("typeof(MyApp.ServiceModel.FileSystemItem)")
public fileSystemItemId: number;
public constructor(init?: Partial<FileSystemFile>) { (Object as any).assign(this, init); }
}
export class FileSystemItem implements IFileItem
{
public id: number;
public fileAccessType?: FileAccessType;
public file: FileSystemFile;
public appUserId: string;
public constructor(init?: Partial<FileSystemItem>) { (Object as any).assign(this, init); }
}
export class CreateFileSystemItem implements ICreateDb<FileSystemItem>, IFileItem
{
public fileAccessType?: FileAccessType;
public file: FileSystemFile;
public constructor(init?: Partial<CreateFileSystemItem>) { (Object as any).assign(this, init); }
}
TypeScript 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 }