Field Squared API Services

<back to all web services

InventoryCategory

The following routes are available for this service:
GET,PUT,POST/{Workspace}/InventoryCategory
GET,PUT,POST/{Workspace}/InventoryCategory/{ObjectId}
import 'package:servicestack/servicestack.dart';

abstract class InventoryTreeNode
{
    String? Type;
    int? DescendantCount;

    InventoryTreeNode({this.Type,this.DescendantCount});
    InventoryTreeNode.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Type = json['Type'];
        DescendantCount = json['DescendantCount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Type': Type,
        'DescendantCount': DescendantCount
    };

    getTypeName() => "InventoryTreeNode";
    TypeContext? context = _ctx;
}

class InventoryCategory extends InventoryTreeNode implements IConvertible
{
    String? Type;
    String? ObjectId;
    String? Workspace;
    String? ItemCategory;
    List<String>? HideFor;
    List<String>? ShowFor;
    String? ParentCategoryId;
    bool? Enabled;
    List<InventoryTreeNode>? ChildNodes;
    bool? IncludeInactive;

    InventoryCategory({this.Type,this.ObjectId,this.Workspace,this.ItemCategory,this.HideFor,this.ShowFor,this.ParentCategoryId,this.Enabled,this.ChildNodes,this.IncludeInactive});
    InventoryCategory.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Type = json['Type'];
        ObjectId = json['ObjectId'];
        Workspace = json['Workspace'];
        ItemCategory = json['ItemCategory'];
        HideFor = JsonConverters.fromJson(json['HideFor'],'List<String>',context!);
        ShowFor = JsonConverters.fromJson(json['ShowFor'],'List<String>',context!);
        ParentCategoryId = json['ParentCategoryId'];
        Enabled = json['Enabled'];
        ChildNodes = JsonConverters.fromJson(json['ChildNodes'],'List<InventoryTreeNode>',context!);
        IncludeInactive = json['IncludeInactive'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Type': Type,
        'ObjectId': ObjectId,
        'Workspace': Workspace,
        'ItemCategory': ItemCategory,
        'HideFor': JsonConverters.toJson(HideFor,'List<String>',context!),
        'ShowFor': JsonConverters.toJson(ShowFor,'List<String>',context!),
        'ParentCategoryId': ParentCategoryId,
        'Enabled': Enabled,
        'ChildNodes': JsonConverters.toJson(ChildNodes,'List<InventoryTreeNode>',context!),
        'IncludeInactive': IncludeInactive
    });

    getTypeName() => "InventoryCategory";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'dev.fieldsquared.com', types: <String, TypeInfo> {
    'InventoryTreeNode': TypeInfo(TypeOf.AbstractClass),
    'InventoryCategory': TypeInfo(TypeOf.Class, create:() => InventoryCategory()),
    'List<InventoryTreeNode>': TypeInfo(TypeOf.Class, create:() => <InventoryTreeNode>[]),
});

Dart InventoryCategory DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /{Workspace}/InventoryCategory HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Type":"Category","ObjectId":"String","Workspace":"String","ItemCategory":"String","HideFor":["String"],"ShowFor":["String"],"ParentCategoryId":"String","Enabled":false,"ChildNodes":[{}],"IncludeInactive":false,"DescendantCount":0}