ScannerVision Web Server

<back to all web services

GetJsonTemplateRequest

Requires Authentication
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class JsonDto implements IConvertible
{
    JsonDto();
    JsonDto.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "JsonDto";
    TypeContext? context = _ctx;
}

class GetJsonTemplateRequest extends JsonDto implements IConvertible
{
    String? Guid;

    GetJsonTemplateRequest({this.Guid});
    GetJsonTemplateRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Guid = json['Guid'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Guid': Guid
    });

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

class JsonScanSettings implements IConvertible
{
    String? ScanType;
    bool? ScanTypeLocked;
    String? ScanColour;
    bool? ScanColourLocked;
    String? ScanResolution;
    bool? ScanResolutionLocked;
    String? ScanSide;
    bool? ScanSideLocked;
    String? ScanSize;
    bool? ScanSizeLocked;
    String? ScanOrientation;
    bool? ScanOrientationLocked;
    String? ScanSource;
    bool? ScanSourceLocked;
    bool? ScanContinuously;
    bool? ScanContinuouslyLocked;
    bool? IsMixedSizes;
    bool? IsMixedSizesLocked;
    int? MinimumPageCount;
    int? MaximumPageCount;

    JsonScanSettings({this.ScanType,this.ScanTypeLocked,this.ScanColour,this.ScanColourLocked,this.ScanResolution,this.ScanResolutionLocked,this.ScanSide,this.ScanSideLocked,this.ScanSize,this.ScanSizeLocked,this.ScanOrientation,this.ScanOrientationLocked,this.ScanSource,this.ScanSourceLocked,this.ScanContinuously,this.ScanContinuouslyLocked,this.IsMixedSizes,this.IsMixedSizesLocked,this.MinimumPageCount,this.MaximumPageCount});
    JsonScanSettings.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ScanType = json['ScanType'];
        ScanTypeLocked = json['ScanTypeLocked'];
        ScanColour = json['ScanColour'];
        ScanColourLocked = json['ScanColourLocked'];
        ScanResolution = json['ScanResolution'];
        ScanResolutionLocked = json['ScanResolutionLocked'];
        ScanSide = json['ScanSide'];
        ScanSideLocked = json['ScanSideLocked'];
        ScanSize = json['ScanSize'];
        ScanSizeLocked = json['ScanSizeLocked'];
        ScanOrientation = json['ScanOrientation'];
        ScanOrientationLocked = json['ScanOrientationLocked'];
        ScanSource = json['ScanSource'];
        ScanSourceLocked = json['ScanSourceLocked'];
        ScanContinuously = json['ScanContinuously'];
        ScanContinuouslyLocked = json['ScanContinuouslyLocked'];
        IsMixedSizes = json['IsMixedSizes'];
        IsMixedSizesLocked = json['IsMixedSizesLocked'];
        MinimumPageCount = json['MinimumPageCount'];
        MaximumPageCount = json['MaximumPageCount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ScanType': ScanType,
        'ScanTypeLocked': ScanTypeLocked,
        'ScanColour': ScanColour,
        'ScanColourLocked': ScanColourLocked,
        'ScanResolution': ScanResolution,
        'ScanResolutionLocked': ScanResolutionLocked,
        'ScanSide': ScanSide,
        'ScanSideLocked': ScanSideLocked,
        'ScanSize': ScanSize,
        'ScanSizeLocked': ScanSizeLocked,
        'ScanOrientation': ScanOrientation,
        'ScanOrientationLocked': ScanOrientationLocked,
        'ScanSource': ScanSource,
        'ScanSourceLocked': ScanSourceLocked,
        'ScanContinuously': ScanContinuously,
        'ScanContinuouslyLocked': ScanContinuouslyLocked,
        'IsMixedSizes': IsMixedSizes,
        'IsMixedSizesLocked': IsMixedSizesLocked,
        'MinimumPageCount': MinimumPageCount,
        'MaximumPageCount': MaximumPageCount
    };

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

class JsonTemplate implements IConvertible
{
    String? Name;
    String? Description;
    String? Guid;
    DateTime? TemplateModificationDate;
    DateTime? IconModificationDate;
    Uint8List? Icon;
    List<JsonQuestion>? TemplateQuestions;
    List<JsonQuestion>? GlobalQuestions;
    JsonScanSettings? ScanSettings;

    JsonTemplate({this.Name,this.Description,this.Guid,this.TemplateModificationDate,this.IconModificationDate,this.Icon,this.TemplateQuestions,this.GlobalQuestions,this.ScanSettings});
    JsonTemplate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Name = json['Name'];
        Description = json['Description'];
        Guid = json['Guid'];
        TemplateModificationDate = JsonConverters.fromJson(json['TemplateModificationDate'],'DateTime',context!);
        IconModificationDate = JsonConverters.fromJson(json['IconModificationDate'],'DateTime',context!);
        Icon = JsonConverters.fromJson(json['Icon'],'Uint8List',context!);
        TemplateQuestions = JsonConverters.fromJson(json['TemplateQuestions'],'List<JsonQuestion>',context!);
        GlobalQuestions = JsonConverters.fromJson(json['GlobalQuestions'],'List<JsonQuestion>',context!);
        ScanSettings = JsonConverters.fromJson(json['ScanSettings'],'JsonScanSettings',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Name': Name,
        'Description': Description,
        'Guid': Guid,
        'TemplateModificationDate': JsonConverters.toJson(TemplateModificationDate,'DateTime',context!),
        'IconModificationDate': JsonConverters.toJson(IconModificationDate,'DateTime',context!),
        'Icon': JsonConverters.toJson(Icon,'Uint8List',context!),
        'TemplateQuestions': JsonConverters.toJson(TemplateQuestions,'List<JsonQuestion>',context!),
        'GlobalQuestions': JsonConverters.toJson(GlobalQuestions,'List<JsonQuestion>',context!),
        'ScanSettings': JsonConverters.toJson(ScanSettings,'JsonScanSettings',context!)
    };

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

class GetJsonTemplateResponse extends JsonDto implements IConvertible
{
    JsonTemplate? Template;

    GetJsonTemplateResponse({this.Template});
    GetJsonTemplateResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Template = JsonConverters.fromJson(json['Template'],'JsonTemplate',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Template': JsonConverters.toJson(Template,'JsonTemplate',context!)
    });

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

enum QuestionType
{
    Edit,
    List,
    EditList,
    Browse,
    Password,
    Date,
    Time,
    Boolean,
    Integer,
    Double,
    BrowseList,
}

class JsonQuestion implements IConvertible
{
    QuestionType? PlQuestionType;
    String? Question;
    String? TagName;
    String? Default;
    String? ToolTip;
    String? SampleValue;
    String? Regex;
    int? Minimum;
    int? Maximum;
    bool? Required;
    bool? Dynamic;
    String? PicklistGuid;
    String? TemplateGuid;
    bool? HideDefaultValue;

    JsonQuestion({this.PlQuestionType,this.Question,this.TagName,this.Default,this.ToolTip,this.SampleValue,this.Regex,this.Minimum,this.Maximum,this.Required,this.Dynamic,this.PicklistGuid,this.TemplateGuid,this.HideDefaultValue});
    JsonQuestion.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PlQuestionType = JsonConverters.fromJson(json['PlQuestionType'],'QuestionType',context!);
        Question = json['Question'];
        TagName = json['TagName'];
        Default = json['Default'];
        ToolTip = json['ToolTip'];
        SampleValue = json['SampleValue'];
        Regex = json['Regex'];
        Minimum = json['Minimum'];
        Maximum = json['Maximum'];
        Required = json['Required'];
        Dynamic = json['Dynamic'];
        PicklistGuid = json['PicklistGuid'];
        TemplateGuid = json['TemplateGuid'];
        HideDefaultValue = json['HideDefaultValue'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PlQuestionType': JsonConverters.toJson(PlQuestionType,'QuestionType',context!),
        'Question': Question,
        'TagName': TagName,
        'Default': Default,
        'ToolTip': ToolTip,
        'SampleValue': SampleValue,
        'Regex': Regex,
        'Minimum': Minimum,
        'Maximum': Maximum,
        'Required': Required,
        'Dynamic': Dynamic,
        'PicklistGuid': PicklistGuid,
        'TemplateGuid': TemplateGuid,
        'HideDefaultValue': HideDefaultValue
    };

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

TypeContext _ctx = TypeContext(library: 'buildmax.org', types: <String, TypeInfo> {
    'JsonDto': TypeInfo(TypeOf.Class, create:() => JsonDto()),
    'GetJsonTemplateRequest': TypeInfo(TypeOf.Class, create:() => GetJsonTemplateRequest()),
    'JsonScanSettings': TypeInfo(TypeOf.Class, create:() => JsonScanSettings()),
    'JsonTemplate': TypeInfo(TypeOf.Class, create:() => JsonTemplate()),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
    'List<JsonQuestion>': TypeInfo(TypeOf.Class, create:() => <JsonQuestion>[]),
    'JsonQuestion': TypeInfo(TypeOf.Class, create:() => JsonQuestion()),
    'GetJsonTemplateResponse': TypeInfo(TypeOf.Class, create:() => GetJsonTemplateResponse()),
    'QuestionType': TypeInfo(TypeOf.Enum, enumValues:QuestionType.values),
});

Dart GetJsonTemplateRequest 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 /csv/reply/GetJsonTemplateRequest HTTP/1.1 
Host: buildmax.org 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Guid":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{Unable to show example output for type 'GetJsonTemplateResponse' using the custom 'csv' filter}No parameterless constructor defined for this object.