Tags

class TagsService(client: TagsClient)

Service class for tags

Developers has option to use this service directly or use the Fider client.

create_tag(request: CreateTagRequest) FiderAPIResponse[CreateTagResponse]

Create a new tag

Example:

>>> from fiderpy.v1.resources.tags import request
>>> from fiderpy.v1.resources.tags.service import TagsService

>>> service = TagsService(client=TagsClient(http=http))
>>> request = CreateTagRequest(name="bug", color="#FF0000", is_public=True)
>>> response = service.create_tag(request=request)
>>> response
FiderAPIResponse(
    message="Successfully created tag!",
    data=CreateTagResponse(
        id=1,
        name="bug",
        slug="bug",
        color="#FF0000",
        isPublic=True
    ),
    errors=None
)
Parameters:

requestfiderpy.v1.resources.tags.request.CreateTagRequest

Returns:

fiderpy.v1.utils.domain.FiderAPIResponse

delete_tag(request: DeleteTagRequest) FiderAPIResponse[dict]

Delete a tag

Example:

>>> from fiderpy.v1.resources.tags.service import TagsService

>>> service = TagsService(client=TagsClient(http=http))
>>> request = DeleteTagRequest(slug="bug")
>>> response = service.delete_tag(request=request)
>>> response
FiderAPIResponse(
    message="Successfully deleted tag!",
    data={},
    errors=None
)
Parameters:

requestfiderpy.v1.resources.tags.request.DeleteTagRequest

Returns:

fiderpy.v1.utils.domain.FiderAPIResponse

edit_tag(request: EditTagRequest) FiderAPIResponse[CreateTagResponse]

Edit an existing tag

Example:

>>> from fiderpy.v1.resources.tags import request
>>> from fiderpy.v1.resources.tags.service import TagsService

>>> service = TagsService(client=TagsClient(http=http))
>>> request = EditTagRequest(slug="bug", name="bug-fixed", color="#00FF00", is_public=True)
>>> response = service.edit_tag(request=request)
>>> response
FiderAPIResponse(
    message="Successfully updated tag!",
    data=CreateTagResponse(
        id=1,
        name="bug-fixed",
        slug="bug-fixed",
        color="#00FF00",
        isPublic=True
    ),
    errors=None
)
Parameters:

requestfiderpy.v1.resources.tags.request.EditTagRequest

Returns:

fiderpy.v1.utils.domain.FiderAPIResponse

get_tags() FiderAPIResponse[list[Tag]]

Get all tags

Example:

>>> from fiderpy.v1.resources.tags.service import TagsService

>>> service = TagsService(client=TagsClient(http=http))
>>> response = service.get_tags()
>>> response
FiderAPIResponse(
    message="Successfully fetched data.",
    data=[
        Tag(
            id=1,
            name="bug",
            slug="bug",
            color="#FF0000",
            isPublic=True
        ),
    ],
    errors=None
)
Returns:

fiderpy.v1.utils.domain.FiderAPIResponse

tag_post(request: TagPostRequest) FiderAPIResponse[dict]

Add a tag to a post

Example:

>>> from fiderpy.v1.resources.tags import request
>>> from fiderpy.v1.resources.tags.service import TagsService

>>> service = TagsService(client=TagsClient(http=http))
>>> request = TagPostRequest(number=1, slug="bug")
>>> response = service.tag_post(request=request)
>>> response
FiderAPIResponse(
    message="Successfully tagged post!",
    data={},
    errors=None
)
Parameters:

requestfiderpy.v1.resources.tags.request.TagPostRequest

Returns:

fiderpy.v1.utils.domain.FiderAPIResponse

untag_post(request: TagPostRequest) FiderAPIResponse[dict]

Remove a tag from a post

Example:

>>> from fiderpy.v1.resources.tags import request
>>> from fiderpy.v1.resources.tags.service import TagsService

>>> service = TagsService(client=TagsClient(http=http))
>>> request = TagPostRequest(number=1, slug="bug")
>>> response = service.untag_post(request=request)
>>> response
FiderAPIResponse(
    message="Successfully untagged post!",
    data={},
    errors=None
)
Parameters:

requestfiderpy.v1.resources.tags.request.TagPostRequest

Returns:

fiderpy.v1.utils.domain.FiderAPIResponse