Cast's Containers
=================

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

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

.. warning::

    In typical situation we have only one Cast Container in portal. Here is returned
    list of returned containers - only for security for the future

.. _Create-casts-containers:

Create new Cast's Containers
----------------------------

.. warning::

    Probably you not need add functionality for it in frontend. Cast container
    should be created just after creating new portal instance, and it should be
    done from administration panel.

.. warning::

    For now, VNCportal support only ONE cast's container per portal!


+-----------+---------------------------------+--------+
| OPERATION | URL                             | METHOD |
+===========+=================================+========+
| ADD       | http://127.0.0.1:8080/Plone/    |  POST  |
+-----------+---------------------------------+--------+

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

.. code-block:: json

    {
        "@type": "CastsContainer",
        "title": "{NAME OF YOUR CAST'S CONTAINER}"
    }

Result:

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


List of available Cast's Containers
-----------------------------------

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

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

Result:

.. code-block:: json

    [
        {
            "getURL": "http://192.168.1.153:8091/VNC/casts",
            "positive_ratings": 0,
            "total_comments": 0,
            "Title": "casts",
            "total_down_ratings": 0,
            "author_name": null,
            "modified": "2015-08-17T18:44:22+02:00",
            "topic": null,
            "getId": "casts",
            "embed_media": null,
            "commentators": [],
            "exclude_from_nav": false,
            "Type": "Casts Container",
            "id": "casts",
            "listCreators": [
                "admin"
            ],
            "last_updated_ts": null,
            "parent": null,
            "event_subscribers": null,
            "cmf_uid": 2,
            "end": null,
            "Description": "",
            "title": "casts",
            "is_folderish": true,
            "getPath": "/VNC/casts",
            "start": null,
            "ExpirationDate": "None",
            "ModificationDate": "2015-08-17T18:44:22+02:00",
            "review_state": "private",
            "getRemoteUrl": null,
            "location": "",
            "description": "",
            "EffectiveDate": "None",
            "portal_type": "CastsContainer",
            "expires": "2499-12-31T00:00:00+02:00",
            "Date": "2015-08-17T18:44:22+02:00",
            "avg_ratings": 0,
            "last_comment_date": null,
            "getObjSize": "1 KB",
            "@id": "http://192.168.1.153:8091/VNC/casts",
            "UID": "dda2a44dcd2044148b6fd849ac143323",
            "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": "CastsContainer",
            "cast_type": null,
            "meta_type": "CastsContainer",
            "SFAllDay": false,
            "CreationDate": "2015-08-17T18:44:22+02:00",
            "in_response_to": null,
            "Subject": []
        },
        ...
    ]
