MyApp

<back to all web services

CreateFileSystemItem

Files

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

HTTP + 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
}