| POST | /{Workspace}/CatalogImport |
|---|
import 'package:servicestack/servicestack.dart';
/**
* Bulk import a catalog from a csv file.
*/
class CatalogImport implements IConvertible
{
String? Workspace;
String? Id;
String? Type;
Map<String,String?>? Mappings;
List<String>? CategoryPath;
String? Delimiter;
CatalogImport({this.Workspace,this.Id,this.Type,this.Mappings,this.CategoryPath,this.Delimiter});
CatalogImport.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Workspace = json['Workspace'];
Id = json['Id'];
Type = json['Type'];
Mappings = JsonConverters.toStringMap(json['Mappings']);
CategoryPath = JsonConverters.fromJson(json['CategoryPath'],'List<String>',context!);
Delimiter = json['Delimiter'];
return this;
}
Map<String, dynamic> toJson() => {
'Workspace': Workspace,
'Id': Id,
'Type': Type,
'Mappings': Mappings,
'CategoryPath': JsonConverters.toJson(CategoryPath,'List<String>',context!),
'Delimiter': Delimiter
};
getTypeName() => "CatalogImport";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'dev.fieldsquared.com', types: <String, TypeInfo> {
'CatalogImport': TypeInfo(TypeOf.Class, create:() => CatalogImport()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /{Workspace}/CatalogImport HTTP/1.1
Host: dev.fieldsquared.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Workspace":"String","Id":"String","Type":"String","Mappings":{"String":"String"},"CategoryPath":["String"],"Delimiter":"String"}