Field Squared API Services

<back to all web services

TaskSeries

Contains the data for a task series object

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

class SeriesSchedule implements IConvertible
{
    int? Day;
    int? Start;
    int? End;
    bool? AllDay;
    int? Duration;

    SeriesSchedule({this.Day,this.Start,this.End,this.AllDay,this.Duration});
    SeriesSchedule.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Day = json['Day'];
        Start = json['Start'];
        End = json['End'];
        AllDay = json['AllDay'];
        Duration = json['Duration'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Day': Day,
        'Start': Start,
        'End': End,
        'AllDay': AllDay,
        'Duration': Duration
    };

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

/**
* Contains the data for a task series object
*/
class TaskSeries implements IConvertible
{
    String? Workspace;
    String? AssignedWorkspace;
    String? ObjectId;
    String? VersionId;
    String? ExternalId;
    String? BasedOn;
    String? Created;
    String? CreatedBy;
    String? LastUpdated;
    String? LastUpdatedLocal;
    String? TaskName;
    String? TaskType;
    List<String>? Users;
    List<String>? Teams;
    String? SeriesStartDate;
    String? SeriesEndDate;
    String? LastTaskEndDate;
    String? ParentAsset;
    String? RepeatFrequency;
    int? RepeatInterval;
    List<SeriesSchedule>? ScheduleDefs;
    String? TemplateId;

    TaskSeries({this.Workspace,this.AssignedWorkspace,this.ObjectId,this.VersionId,this.ExternalId,this.BasedOn,this.Created,this.CreatedBy,this.LastUpdated,this.LastUpdatedLocal,this.TaskName,this.TaskType,this.Users,this.Teams,this.SeriesStartDate,this.SeriesEndDate,this.LastTaskEndDate,this.ParentAsset,this.RepeatFrequency,this.RepeatInterval,this.ScheduleDefs,this.TemplateId});
    TaskSeries.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Workspace = json['Workspace'];
        AssignedWorkspace = json['AssignedWorkspace'];
        ObjectId = json['ObjectId'];
        VersionId = json['VersionId'];
        ExternalId = json['ExternalId'];
        BasedOn = json['BasedOn'];
        Created = json['Created'];
        CreatedBy = json['CreatedBy'];
        LastUpdated = json['LastUpdated'];
        LastUpdatedLocal = json['LastUpdatedLocal'];
        TaskName = json['TaskName'];
        TaskType = json['TaskType'];
        Users = JsonConverters.fromJson(json['Users'],'List<String>',context!);
        Teams = JsonConverters.fromJson(json['Teams'],'List<String>',context!);
        SeriesStartDate = json['SeriesStartDate'];
        SeriesEndDate = json['SeriesEndDate'];
        LastTaskEndDate = json['LastTaskEndDate'];
        ParentAsset = json['ParentAsset'];
        RepeatFrequency = json['RepeatFrequency'];
        RepeatInterval = json['RepeatInterval'];
        ScheduleDefs = JsonConverters.fromJson(json['ScheduleDefs'],'List<SeriesSchedule>',context!);
        TemplateId = json['TemplateId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Workspace': Workspace,
        'AssignedWorkspace': AssignedWorkspace,
        'ObjectId': ObjectId,
        'VersionId': VersionId,
        'ExternalId': ExternalId,
        'BasedOn': BasedOn,
        'Created': Created,
        'CreatedBy': CreatedBy,
        'LastUpdated': LastUpdated,
        'LastUpdatedLocal': LastUpdatedLocal,
        'TaskName': TaskName,
        'TaskType': TaskType,
        'Users': JsonConverters.toJson(Users,'List<String>',context!),
        'Teams': JsonConverters.toJson(Teams,'List<String>',context!),
        'SeriesStartDate': SeriesStartDate,
        'SeriesEndDate': SeriesEndDate,
        'LastTaskEndDate': LastTaskEndDate,
        'ParentAsset': ParentAsset,
        'RepeatFrequency': RepeatFrequency,
        'RepeatInterval': RepeatInterval,
        'ScheduleDefs': JsonConverters.toJson(ScheduleDefs,'List<SeriesSchedule>',context!),
        'TemplateId': TemplateId
    };

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

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

Dart TaskSeries 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}/TaskSeries/{ObjectId} HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"Workspace":"String","AssignedWorkspace":"String","ObjectId":"String","VersionId":"String","ExternalId":"String","BasedOn":"String","Created":"String","CreatedBy":"String","LastUpdated":"String","LastUpdatedLocal":"String","TaskName":"String","TaskType":"String","Users":["String"],"Teams":["String"],"SeriesStartDate":"String","SeriesEndDate":"String","LastTaskEndDate":"String","ParentAsset":"String","RepeatFrequency":"String","RepeatInterval":0,"ScheduleDefs":[{"Day":0,"Start":0,"End":0,"AllDay":false,"Duration":0}],"TemplateId":"String"}