Field Squared API Services

<back to all web services

UserLocation

Service representing a UserLocation in a workspace.

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

class Location implements IConvertible
{
    double? y;
    double? x;

    Location({this.y,this.x});
    Location.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        y = JsonConverters.toDouble(json['y']);
        x = JsonConverters.toDouble(json['x']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'y': y,
        'x': x
    };

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

enum UserStatus
{
    NotStarted,
    Driving,
    InProgress,
    Complete,
    Blocked,
}

/**
* Service representing a UserLocation in a workspace.
*/
class UserLocation extends Location implements IConvertible
{
    String? Workspace;
    String? ObjectId;
    String? VersionId;
    String? BasedOn;
    UserStatus? UserStatus;

    UserLocation({this.Workspace,this.ObjectId,this.VersionId,this.BasedOn,this.UserStatus});
    UserLocation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Workspace = json['Workspace'];
        ObjectId = json['ObjectId'];
        VersionId = json['VersionId'];
        BasedOn = json['BasedOn'];
        UserStatus = JsonConverters.fromJson(json['UserStatus'],'UserStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Workspace': Workspace,
        'ObjectId': ObjectId,
        'VersionId': VersionId,
        'BasedOn': BasedOn,
        'UserStatus': JsonConverters.toJson(UserStatus,'UserStatus',context!)
    });

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

TypeContext _ctx = TypeContext(library: 'dev.fieldsquared.com', types: <String, TypeInfo> {
    'Location': TypeInfo(TypeOf.Class, create:() => Location()),
    'UserStatus': TypeInfo(TypeOf.Enum, enumValues:UserStatus.values),
    'UserLocation': TypeInfo(TypeOf.Class, create:() => UserLocation()),
});

Dart UserLocation DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /{Workspace}/UserLocation/{ObjectId} HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"Workspace":"String","ObjectId":"String","VersionId":"String","BasedOn":"String","UserStatus":"NotStarted","y":0,"x":0}