Centurio Järjestelmätoduulit
🏛️ Alustan arkkitehtuuri 🔑 Login
🏠 Kaikki moduulit / crm_office / Tiimi- ja puhelu
📘

Tiimi- ja puhelu

chat crm_office 🛡️ RLS Protected

Tiimi-chatti & puhelu <unk> koodi- ja API-asiakirja.

Fachliche Bestimmung: Team-Chat & Calls <unk> koodi- ja API-asiakirja. Se sisältää kaikki rekisteröityneet prosessit, valmiudet, tilannekoneet, API:t ja simulointi- ja arviointitaulukot.

⚡ Työvirrat ja elinkaari

Dieses Modul folgt dem standardisierten transaktionalen CRUD- und Event-Lifecycle.

🗄️ Tiedonmallit & kentät

ChatChannels chat_channels RLS Aktiv
18 Taulukot

Tabelle chat_channels

Feldname Tyyppi Tilanne Schlüssel Työalainen merkitys
kind VARCHAR(8) Ja * - Feld kind
name VARCHAR(120) Nein - Feld name
topic VARCHAR(255) Nein - Feld topic
is_private BOOLEAN Ja * - Feld is_private
entity_type VARCHAR(32) Nein - Feld entity_type
entity_id UUID Nein - Feld entity_id
dm_key VARCHAR(80) Nein - Feld dm_key
archived_at DATETIME Nein - Feld archived_at
last_message_at DATETIME Nein - Feld last_message_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ChatMembers chat_members RLS Aktiv
15 Taulukot

Tabelle chat_members

Feldname Tyyppi Tilanne Schlüssel Työalainen merkitys
channel_id UUID Ja * FK ➔ chat_channels.id Feld channel_id
user_id UUID Nein FK ➔ users.id Feld user_id
portal_user_id UUID Nein FK ➔ portal_users.id Feld portal_user_id
role VARCHAR(8) Ja * - Feld role
last_read_seq BIGINT Ja * - Feld last_read_seq
muted BOOLEAN Ja * - Feld muted
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ChatMessages chat_messages RLS Aktiv
19 Taulukot

Tabelle chat_messages

Feldname Tyyppi Tilanne Schlüssel Työalainen merkitys
seq BIGINT Ja * - Feld seq
channel_id UUID Ja * FK ➔ chat_channels.id Feld channel_id
author_id UUID Nein FK ➔ users.id Feld author_id
portal_author_id UUID Nein FK ➔ portal_users.id Feld portal_author_id
parent_id UUID Nein FK ➔ chat_messages.id Feld parent_id
kind VARCHAR(8) Ja * - Feld kind
body TEXT Ja * - Feld body
mention_ids JSONB Ja * - Feld mention_ids
edited_at DATETIME Nein - Feld edited_at
deleted_at DATETIME Nein - Feld deleted_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ChatReactions chat_reactions RLS Aktiv
12 Taulukot

Tabelle chat_reactions

Feldname Tyyppi Tilanne Schlüssel Työalainen merkitys
message_id UUID Ja * FK ➔ chat_messages.id Feld message_id
user_id UUID Ja * FK ➔ users.id Feld user_id
emoji VARCHAR(16) Ja * - Feld emoji
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata

🔌 Alkuperäiset kohdat (UI & API)

Art Tekijä Loppu- / kulku Titel & Zweck Ehdotus
⚡ REST API DELETE /api/v1/chat/messages/{message_id}
delete_message
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API GET /api/v1/chat/channels
list_channels
Semantic binding: not_evaluated; mutation=False
chat
⚡ REST API GET /api/v1/chat/channels/{channel_id}/members
channel_members
Semantic binding: not_evaluated; mutation=False
chat
⚡ REST API GET /api/v1/chat/channels/{channel_id}/messages
channel_messages
Semantic binding: not_evaluated; mutation=False
chat
⚡ REST API GET /api/v1/chat/messages/{message_id}/thread
message_thread
Semantic binding: not_evaluated; mutation=False
chat
⚡ REST API GET /api/v1/chat/search
Kokeilu
Semantic binding: not_evaluated; mutation=False
chat
⚡ REST API GET /api/v1/chat/unread
lukematon
Semantic binding: not_evaluated; mutation=False
chat
⚡ REST API GET /chat
chat_page
Semantic binding: not_evaluated; mutation=False
chat
⚡ REST API PATCH /api/v1/chat/messages/{message_id}
edit_message
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/channels
create_channel
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/channels/{channel_id}/archive
archive_channel
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/channels/{channel_id}/call
start_call
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/channels/{channel_id}/join
join_channel
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/channels/{channel_id}/leave
leave_channel
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/channels/{channel_id}/members
add_members
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/channels/{channel_id}/messages
post_message
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/channels/{channel_id}/read
mark_read
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/dm
open_dm
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/entity
open_entity_chat
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API POST /api/v1/chat/messages/{message_id}/react
Reagointi
Semantic binding: not_evaluated; mutation=True
chat
⚡ REST API PUT /api/v1/chat/channels/{channel_id}/mute
mute_channel
Semantic binding: not_evaluated; mutation=True
chat

🛡️ Sääntely & noudattaminen

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Tilanne
  • Kuntointikerro (PostgreSQL RLS)