| POST | /api/tags/add/{ObjectId} |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TagModel:
# @ApiMember(Description="Id of the tag", ParameterType="query")
id: Optional[str] = None
"""
Id of the tag
"""
# @ApiMember(Description="Tag name", ParameterType="query")
name: Optional[str] = None
"""
Tag name
"""
# @ApiMember(Description="RmsTableCtx Id that represents the type of object the tag an be linked to", ParameterType="query")
rms_table_ctx_id: Optional[str] = None
"""
RmsTableCtx Id that represents the type of object the tag an be linked to
"""
# @ApiMember(Description="Owner Id to use to retrieve tags for a particular licensee", ParameterType="query")
contact_owner_id: Optional[str] = None
"""
Owner Id to use to retrieve tags for a particular licensee
"""
# @ApiMember(Description="Associated tag colour", ParameterType="query")
colour: Optional[str] = None
"""
Associated tag colour
"""
# @ApiMember(Description="Object Connection Id linking an object to the tag", ParameterType="query")
object_connection_id: Optional[str] = None
"""
Object Connection Id linking an object to the tag
"""
# @ApiResponse(Description="A list of tags")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetTagsListResponse:
# @ApiMember(Description="List of tags.", ParameterType="query")
tags: Optional[List[TagModel]] = None
"""
List of tags.
"""
response_status: Optional[ResponseStatus] = None
# @Api(Description="Add a new tag and link to an object. Returns the list of tags assigned to the object.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SaveNewTagForObject:
"""
Add a new tag and link to an object. Returns the list of tags assigned to the object.
"""
# @ApiMember(Description="Object Id to retrieve tags for.", ParameterType="query")
object_id: Optional[str] = None
"""
Object Id to retrieve tags for.
"""
# @ApiMember(Description="Licensee Id owner of the object.", ParameterType="query")
licensee_id: Optional[str] = None
"""
Licensee Id owner of the object.
"""
# @ApiMember(Description="Tag name", ParameterType="query")
name: Optional[str] = None
"""
Tag name
"""
# @ApiMember(Description="Associated tag colour", ParameterType="query")
colour: Optional[str] = None
"""
Associated tag colour
"""
# @ApiMember(Description="RmsTableCtx Id that represents the type of object the tag an be linked to", ParameterType="query")
rms_table_ctx_id: Optional[str] = None
"""
RmsTableCtx Id that represents the type of object the tag an be linked to
"""
Python SaveNewTagForObject DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/tags/add/{ObjectId} HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"ObjectId":"00000000-0000-0000-0000-000000000000","LicenseeId":"00000000-0000-0000-0000-000000000000","Name":"String","Colour":"String","RmsTableCtxId":"00000000-0000-0000-0000-000000000000"}
HTTP/1.1 200 OK
Content-Type: text/csv
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"}}}