TicketUserServices

<back to all web services

FanSyncFollowsRequest

Requires Authentication
Required role:Admin
The following routes are available for this service:
POST/FanSync/Follows
import 'package:servicestack/servicestack.dart';

class FanSyncFollowsResult implements IConvertible
{
    String? runId;
    int? received;
    int? kept;
    int? droppedNoOwner;
    int? droppedNotFanPhone;
    int? deduped;
    bool? swapped;
    int? liveRows;
    int? statusCode;
    String? message;

    FanSyncFollowsResult({this.runId,this.received,this.kept,this.droppedNoOwner,this.droppedNotFanPhone,this.deduped,this.swapped,this.liveRows,this.statusCode,this.message});
    FanSyncFollowsResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        runId = json['runId'];
        received = json['received'];
        kept = json['kept'];
        droppedNoOwner = json['droppedNoOwner'];
        droppedNotFanPhone = json['droppedNotFanPhone'];
        deduped = json['deduped'];
        swapped = json['swapped'];
        liveRows = json['liveRows'];
        statusCode = json['statusCode'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'runId': runId,
        'received': received,
        'kept': kept,
        'droppedNoOwner': droppedNoOwner,
        'droppedNotFanPhone': droppedNotFanPhone,
        'deduped': deduped,
        'swapped': swapped,
        'liveRows': liveRows,
        'statusCode': statusCode,
        'message': message
    };

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

class FanSyncFollowRow implements IConvertible
{
    String? phone;
    String? teamNumber;
    String? followedAt;

    FanSyncFollowRow({this.phone,this.teamNumber,this.followedAt});
    FanSyncFollowRow.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        phone = json['phone'];
        teamNumber = json['teamNumber'];
        followedAt = json['followedAt'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'phone': phone,
        'teamNumber': teamNumber,
        'followedAt': followedAt
    };

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

class FanSyncFollowsRequest implements IConvertible
{
    String? runId;
    int? chunk;
    bool? Final;
    List<FanSyncFollowRow>? rows;

    FanSyncFollowsRequest({this.runId,this.chunk,this.Final,this.rows});
    FanSyncFollowsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        runId = json['runId'];
        chunk = json['chunk'];
        Final = json['final'];
        rows = JsonConverters.fromJson(json['rows'],'List<FanSyncFollowRow>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'runId': runId,
        'chunk': chunk,
        'final': Final,
        'rows': JsonConverters.toJson(rows,'List<FanSyncFollowRow>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'FanSyncFollowsResult': TypeInfo(TypeOf.Class, create:() => FanSyncFollowsResult()),
    'FanSyncFollowRow': TypeInfo(TypeOf.Class, create:() => FanSyncFollowRow()),
    'FanSyncFollowsRequest': TypeInfo(TypeOf.Class, create:() => FanSyncFollowsRequest()),
    'List<FanSyncFollowRow>': TypeInfo(TypeOf.Class, create:() => <FanSyncFollowRow>[]),
});

Dart FanSyncFollowsRequest 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 /FanSync/Follows HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	runId: String,
	chunk: 0,
	final: False,
	rows: 
	[
		{
			phone: String,
			teamNumber: String,
			followedAt: String
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	runId: String,
	received: 0,
	kept: 0,
	droppedNoOwner: 0,
	droppedNotFanPhone: 0,
	deduped: 0,
	swapped: False,
	liveRows: 0,
	statusCode: 0,
	message: String
}