%3 ::xo::Package ::xo::Package initialize reply_to_user require_root_folder ::xo::db::Object ::xo::db::Object delete save save_new update ::xo::Package->::xo::db::Object ::xo::db::chat_transcript ::xo::db::chat_transcript save_new ::xo::db::chat_transcript->::xo::db::Object ::xo::db::chat_room ::xo::db::chat_room ban_user count_messages create_transcript delete delete_messages flush grant_creator grant_moderator grant_user post_message revoke_moderator revoke_user save_new transcript_messages unban_user ::xo::db::chat_room->::xo::db::Object ::xo::db::CrItem ::xo::db::CrItem delete is_package_root_folder privilege=creator rename save save_new set_live_revision update_attribute_from_slot update_item_index ::xo::db::CrItem->::xo::db::Object ::xo::db::CrCache::Item ::xo::db::CrCache::Item ::xo::db::CrItem->::xo::db::CrCache::Item ::xo::db::apm_parameter ::xo::db::apm_parameter ::xo::db::apm_parameter->::xo::db::Object ::xo::parameter ::xo::parameter ::xo::db::apm_parameter->::xo::parameter ::xotcl::Object ::xotcl::Object ::xo::db::Object->::xotcl::Object

Class ::xo::db::chat_room

::xo::db::chat_room[i] create ...

Defined in

Class Relations

  • class: ::xo::db::Class[i]
  • superclass: ::xo::db::Object[i]

Methods (to be applied on instances)

  • ban_user (scripted, public)

     <instance of xo::db::chat_room[i]> ban_user -party_id party_id 

    Bans specified user from the chat room

    Switches:
    -party_id (required)

    Testcases:
    No testcase defined.
  • count_messages (scripted, public)

     <instance of xo::db::chat_room[i]> count_messages

    Count messages currently persisted for this chat room.

    Testcases:
    No testcase defined.
  • create_transcript (scripted, public)

     <instance of xo::db::chat_room[i]> create_transcript \
        [ -pretty_name pretty_name ] [ -description description ] \
        [ -creation_user creation_user ] [ -creation_ip creation_ip ]

    Creates a new transcript of all current chat room messages.

    Switches:
    -pretty_name (optional)
    -description (optional)
    -creation_user (optional)
    -creation_ip (optional)
    Returns:
    transcript_id of the new transcript or 0 when no messages were in the chat room.

    Testcases:
    No testcase defined.
  • delete (scripted, public)

     <instance of xo::db::chat_room[i]> delete args [ args... ]

    Delete the chat room and all of its transcripts

    Parameters:
    args (required)

    Testcases:
    No testcase defined.
  • delete_messages (scripted, public)

     <instance of xo::db::chat_room[i]> delete_messages

    Delete all persisted messages from the chat room.

    Testcases:
    No testcase defined.
  • flush (scripted, public)

     <instance of xo::db::chat_room[i]> flush

    Save all currently persisted messages for this chat room as a new transcript and then delete them.

    Testcases:
    No testcase defined.
  • grant_creator (scripted, public)

     <instance of xo::db::chat_room[i]> grant_creator

    Grants operative privileges to the chat creator (when available on the chat room object). In detail the permissions to edit, view and delete the chat room and also to create transcripts of it.

    Testcases:
    No testcase defined.
  • grant_moderator (scripted, public)

     <instance of xo::db::chat_room[i]> grant_moderator \
        -party_id party_id 

    Make specified party the chat room moderator

    Switches:
    -party_id (required)

    Testcases:
    No testcase defined.
  • grant_user (scripted, public)

     <instance of xo::db::chat_room[i]> grant_user -party_id party_id 

    Grants operative privileges to the specified party. In detail, the permission to read and write for the chat room.

    Switches:
    -party_id (required)

    Testcases:
    No testcase defined.
  • post_message (scripted, public)

     <instance of xo::db::chat_room[i]> post_message [ -msg msg ] \
        [ -creation_user creation_user ] [ -creation_ip creation_ip ]

    Post a message in the chat room. This actually means persisting the message in the database, but only if the chat room is configured to be archived.

    Switches:
    -msg (optional)
    the message
    -creation_user (optional)
    the alleged creation user of the persisted message. Won't be set automatically from the connection
    -creation_ip (optional)
    the alleged creation IP of the persisted message. Won't be set automatically from the connection

    Testcases:
    No testcase defined.
  • revoke_moderator (scripted, public)

     <instance of xo::db::chat_room[i]> revoke_moderator \
        -party_id party_id 

    Revoke moderation rights on the chat room for specified party

    Switches:
    -party_id (required)

    Testcases:
    No testcase defined.
  • revoke_user (scripted, public)

     <instance of xo::db::chat_room[i]> revoke_user -party_id party_id 

    Revokes operative privileges to the specified party. In detail, the permission to read and write for the chat room.

    Switches:
    -party_id (required)

    Testcases:
    No testcase defined.
  • save_new (scripted, public)

     <instance of xo::db::chat_room[i]> save_new \
        [ -creation_user creation_user ] args [ args... ]

    Create a new chat room and make sure its creator is granted the necessary privileges

    Switches:
    -creation_user (optional)
    Parameters:
    args (required)
    Returns:
    new chat room id

    Testcases:
    No testcase defined.
  • transcript_messages (scripted, public)

     <instance of xo::db::chat_room[i]> transcript_messages

    Formats the current content of a chat room as a list of messages formatted so they can be displayed or stored in the transcript.

    Returns:
    list of formatted messages

    Testcases:
    No testcase defined.
  • unban_user (scripted, public)

     <instance of xo::db::chat_room[i]> unban_user -party_id party_id 

    Lift ban on specified user from the chat room

    Switches:
    -party_id (required)

    Testcases:
    No testcase defined.

Variables

::xo::db::chat_room set __default_metaclass ::xotcl::Class
::xo::db::chat_room set __default_superclass ::xotcl::Object
::xo::db::chat_room set abstract_p f
::xo::db::chat_room set auto_save false
::xo::db::chat_room array set db_constraints {logout_messages_p \
       {{default true}} pretty_name not_null messages_time_window {{default 600}} auto_transcript_p \
       {{default false}} auto_flush_p {{default true}} archive_p {{default true}} avatar_p \
       {{default true}} login_messages_p {{default true}} active_p {{default true}}}
::xo::db::chat_room array set db_slot \
       {logout_messages_p ::xo::db::chat_room::slot::logout_messages_p description \
       ::xo::db::chat_room::slot::description pretty_name ::xo::db::chat_room::slot::pretty_name \
       messages_time_window ::xo::db::chat_room::slot::messages_time_window auto_transcript_p \
       ::xo::db::chat_room::slot::auto_transcript_p auto_flush_p \
       ::xo::db::chat_room::slot::auto_flush_p archive_p ::xo::db::chat_room::slot::archive_p \
       room_id ::xo::db::chat_room::slot::room_id avatar_p ::xo::db::chat_room::slot::avatar_p \
       login_messages_p ::xo::db::chat_room::slot::login_messages_p active_p \
       ::xo::db::chat_room::slot::active_p}
::xo::db::chat_room set id_column room_id
::xo::db::chat_room set name_method {}
::xo::db::chat_room set object_type chat_room
::xo::db::chat_room set object_type_key 0000000000110101
::xo::db::chat_room set pretty_name {#chat.Room#}
::xo::db::chat_room set pretty_plural {#chat.Rooms#}
::xo::db::chat_room set security_inherit_p t
::xo::db::chat_room set sql_package_name ::xo::db::chat_room
::xo::db::chat_room set supertype acs_object
::xo::db::chat_room set table_name chat_rooms
::xo::db::chat_room set with_table true