Trendsic Platform Service

<back to all web services

StationsRequest

Requires Authentication
Required roles:Administrator, Administrator, AdministratorRequires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/Stations/{Id}
GET,OPTIONS/v1/StationsByLocation/{LocationId}
GET,POST,PUT,DELETE,OPTIONS/v1/Stations
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class Station implements IConvertible
{
    String? Id;
    String? LocationId;
    String? LocationName;
    String? StationName;
    bool? Active;

    Station({this.Id,this.LocationId,this.LocationName,this.StationName,this.Active});
    Station.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        LocationId = json['LocationId'];
        LocationName = json['LocationName'];
        StationName = json['StationName'];
        Active = json['Active'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'LocationId': LocationId,
        'LocationName': LocationName,
        'StationName': StationName,
        'Active': Active
    };

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

class StationsResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<Station>? Stations = [];

    StationsResponse({this.ResponseStatus,this.Stations});
    StationsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        Stations = JsonConverters.fromJson(json['Stations'],'List<Station>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Stations': JsonConverters.toJson(Stations,'List<Station>',context!)
    };

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

class StationsRequest implements IConvertible
{
    String? Id;
    String? LocationId;
    List<Station>? Stations = [];

    StationsRequest({this.Id,this.LocationId,this.Stations});
    StationsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        LocationId = json['LocationId'];
        Stations = JsonConverters.fromJson(json['Stations'],'List<Station>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'LocationId': LocationId,
        'Stations': JsonConverters.toJson(Stations,'List<Station>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'Station': TypeInfo(TypeOf.Class, create:() => Station()),
    'StationsResponse': TypeInfo(TypeOf.Class, create:() => StationsResponse()),
    'List<Station>': TypeInfo(TypeOf.Class, create:() => <Station>[]),
    'StationsRequest': TypeInfo(TypeOf.Class, create:() => StationsRequest()),
});

Dart StationsRequest 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 /v1/Stations/{Id} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Id: 00000000000000000000000000000000,
	LocationId: 00000000000000000000000000000000,
	Stations: 
	[
		{
			Id: 00000000000000000000000000000000,
			LocationId: 00000000000000000000000000000000,
			LocationName: String,
			StationName: String,
			Active: False
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	Stations: 
	[
		{
			Id: 00000000000000000000000000000000,
			LocationId: 00000000000000000000000000000000,
			LocationName: String,
			StationName: String,
			Active: False
		}
	]
}