Platform API

<back to all web services

LinkTagForObject

Link existing tag to an object. Returns the list of tags assigned to the object.

Requires Authentication
The following routes are available for this service:
POST/api/tags/link/{ObjectId}
import 'package:servicestack/servicestack.dart';

class TagModel implements IConvertible
{
    /**
    * Id of the tag
    */
    // @ApiMember(Description="Id of the tag", ParameterType="query")
    String? Id;

    /**
    * Tag name
    */
    // @ApiMember(Description="Tag name", ParameterType="query")
    String? Name;

    /**
    * RmsTableCtx Id that represents the type of object the tag an be linked to
    */
    // @ApiMember(Description="RmsTableCtx Id that represents the type of object the tag an be linked to", ParameterType="query")
    String? RmsTableCtxId;

    /**
    * Owner Id to use to retrieve tags for a particular licensee
    */
    // @ApiMember(Description="Owner Id to use to retrieve tags for a particular licensee", ParameterType="query")
    String? ContactOwnerId;

    /**
    * Associated tag colour
    */
    // @ApiMember(Description="Associated tag colour", ParameterType="query")
    String? Colour;

    /**
    * Object Connection Id linking an object to the tag
    */
    // @ApiMember(Description="Object Connection Id linking an object to the tag", ParameterType="query")
    String? ObjectConnectionId;

    TagModel({this.Id,this.Name,this.RmsTableCtxId,this.ContactOwnerId,this.Colour,this.ObjectConnectionId});
    TagModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        RmsTableCtxId = json['RmsTableCtxId'];
        ContactOwnerId = json['ContactOwnerId'];
        Colour = json['Colour'];
        ObjectConnectionId = json['ObjectConnectionId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'RmsTableCtxId': RmsTableCtxId,
        'ContactOwnerId': ContactOwnerId,
        'Colour': Colour,
        'ObjectConnectionId': ObjectConnectionId
    };

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

// @ApiResponse(Description="A list of tags")
class GetTagsListResponse implements IConvertible
{
    /**
    * List of tags.
    */
    // @ApiMember(Description="List of tags.", ParameterType="query")
    List<TagModel>? Tags;

    ResponseStatus? ResponseStatus;

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

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

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

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

/**
* Link existing tag to an object. Returns the list of tags assigned to the object.
*/
// @Api(Description="Link existing tag to an object. Returns the list of tags assigned to the object.")
class LinkTagForObject implements IConvertible
{
    /**
    * Object Id to link the tag to.
    */
    // @ApiMember(Description="Object Id to link the tag to.", ParameterType="query")
    String? ObjectId;

    /**
    * Licensee Id owner of the object.
    */
    // @ApiMember(Description="Licensee Id owner of the object.", ParameterType="query")
    String? LicenseeId;

    /**
    * Id of the tag
    */
    // @ApiMember(Description="Id of the tag", ParameterType="query")
    String? Id;

    /**
    * Associated tag colour, if this is passed we will update the existing tags colour.
    */
    // @ApiMember(Description="Associated tag colour, if this is passed we will update the existing tags colour.", ParameterType="query")
    String? Colour;

    LinkTagForObject({this.ObjectId,this.LicenseeId,this.Id,this.Colour});
    LinkTagForObject.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ObjectId = json['ObjectId'];
        LicenseeId = json['LicenseeId'];
        Id = json['Id'];
        Colour = json['Colour'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ObjectId': ObjectId,
        'LicenseeId': LicenseeId,
        'Id': Id,
        'Colour': Colour
    };

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

TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
    'TagModel': TypeInfo(TypeOf.Class, create:() => TagModel()),
    'GetTagsListResponse': TypeInfo(TypeOf.Class, create:() => GetTagsListResponse()),
    'List<TagModel>': TypeInfo(TypeOf.Class, create:() => <TagModel>[]),
    'LinkTagForObject': TypeInfo(TypeOf.Class, create:() => LinkTagForObject()),
});

Dart LinkTagForObject DTOs

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

HTTP + OTHER

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

POST /api/tags/link/{ObjectId} HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"ObjectId":"00000000-0000-0000-0000-000000000000","LicenseeId":"00000000-0000-0000-0000-000000000000","Id":"00000000-0000-0000-0000-000000000000","Colour":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Tags":[{"Id":"00000000-0000-0000-0000-000000000000","Name":"String","RmsTableCtxId":"00000000-0000-0000-0000-000000000000","ContactOwnerId":"00000000-0000-0000-0000-000000000000","Colour":"String","ObjectConnectionId":"00000000-0000-0000-0000-000000000000"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}