Cast's Topics
=============

This part of documentation cover all methods related with Cast's topics.

+-----------+-------------------------------------------------------------------------------------------+--------+
| OPERATION | URL                                                                                       | METHOD |
+===========+===========================================================================================+========+
| ADD       | |  http://URL/cast_container                                                              |  POST  |
|           | |  See: :ref:`Create-casts-topic`                                                         |        |
+-----------+-------------------------------------------------------------------------------------------+--------+
| VIEW      | |  http://URL/cast_container                                                              |   GET  |
|           | |  See: :ref:`List-of-casts-topics`                                                       |        |
+-----------+-------------------------------------------------------------------------------------------+--------+

.. _Create-casts-topic:

Create new Cast's Topic
-----------------------

+-----------+-----------------------------------------------+--------+
| OPERATION | URL                                           | METHOD |
+===========+===============================================+========+
| ADD       | http://URL/cast_container                     |  POST  |
+-----------+-----------------------------------------------+--------+

How to call:
* Send in header: Accept: application/json
* POST request to: http://127.0.0.1:8080/Plone/cast_container
* BODY (content):

.. code-block:: json

    {
        "@type": "Cast",
        "title": "{NAME OF YOUR CAST'S TOPIC}"
    }

Result:

    HTTP/1.1 201 Created
    Content-Type: application/json
    Location: http://localhost:8080/Plone/younewcastcontainer

.. _List-of-casts-topics:

List of available Cast's Topics
-------------------------------

You need to use this method, to get list of all avialiable topics in specific
cast container.

+-----------+---------------------------------------------------+--------+
| OPERATION | URL                                               | METHOD |
+===========+===================================================+========+
| VIEW      | |  http://URL/cast_container                      |   GET  |
+-----------+---------------------------------------------------+--------+

How to call:
* Send in header: Accept: application/json
* URL: http://127.0.0.1:8080/Plone/cast_container

.. warning::

    You can ease etect general topic - "id" of general topic is beginnng by
    `--general`.

Result:

.. code-block:: json

    [
        {
            "getURL": "http://192.168.1.153:8091/VNC/casts/--general.2015-08-17.8625828834",
            "positive_ratings": 0,
            "total_comments": 0,
            "Title": "General",
            "total_down_ratings": 0,
            "author_name": null,
            "modified": "2016-08-19T18:12:57+02:00",
            "topic": null,
            "getId": "--general.2015-08-17.8625828834",
            "embed_media": null,
            "commentators": [],
            "exclude_from_nav": null,
            "Type": "Cast Topic",
            "id": "--general.2015-08-17.8625828834",
            "listCreators": [
                "admin"
            ],
            "last_updated_ts": null,
            "parent": null,
            "event_subscribers": null,
            "cmf_uid": 568,
            "end": null,
            "Description": "General",
            "title": "General",
            "is_folderish": true,
            "getPath": "/VNC/casts/--general.2015-08-17.8625828834",
            "start": null,
            "ExpirationDate": "None",
            "ModificationDate": "2016-08-19T18:12:57+02:00",
            "review_state": "private",
            "getRemoteUrl": null,
            "location": "",
            "description": "General",
            "EffectiveDate": "None",
            "portal_type": "Cast",
            "expires": "2499-12-31T00:00:00+02:00",
            "Date": "2016-08-19T18:12:57+02:00",
            "avg_ratings": 0,
            "last_comment_date": null,
            "getObjSize": "1 KB",
            "@id": "http://192.168.1.153:8091/VNC/casts/--general.2015-08-17.8625828834",
            "UID": "813f93419d7f4636823648f736948f96",
            "effective": "1000-01-01T00:00:00+02:00",
            "created": "2015-08-17T18:44:22+02:00",
            "getIcon": "add_content_area/metabox_icon_message.png",
            "Creator": "admin",
            "cast_style": null,
            "@type": "Cast",
            "cast_type": null,
            "meta_type": "Cast",
            "SFAllDay": false,
            "CreationDate": "2015-08-17T18:44:22+02:00",
            "in_response_to": null,
            "Subject": []
        },
        ...
    ]

