Files
qt5-legatus-legacy/Lts/Services/Messaging/msg_service.xml
T
2026-08-13 18:33:10 +02:00

109 lines
5.5 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<service namespace="Messaging" abbreviation="MSG" procNames="Messaging" exerciseDependency="Global" groups="Core" prio="3">
<rcs>
<Id Id="$Id$"/>
<HeadURL HeadURL="$HeadURL$"/>
<Author Author="$Author$"/>
</rcs>
<operatorRights offset="21">
<guiPlugin name="Messaging" offset="1">
<operatorRightGroup name="Messages" description="Edit and Send Operator and OC Messages">
<operatorRight right="MessagesShow" value="1" description="Show (own) Messages"/>
<operatorRight right="MessagesSend" value="2" description="Edit and Send Operator Messages"/>
<operatorRight right="MessagesSendOc" value="3" description="Send Messages to O/C"/>
</operatorRightGroup>
</guiPlugin>
</operatorRights>
<tables>
<table name="address_type">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="msg_message_operator_data">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="time_stamp" datatype="bigint"/>
<column name="sender_id" datatype="integer" default="1"/>
<column name="recipient_id" datatype="integer"/>
<column name="exercise_id" datatype="integer"/>
<column name="is_read" datatype="boolean"/>
<column name="is_send" datatype="boolean"/>
<column name="is_deleted" datatype="boolean"/>
<column name="subject" datatype="text"/>
<column name="message" datatype="text"/>
<column name="sender_text" datatype="text"/>
<column name="recipient_text" datatype="text"/>
<column name="recipient_type" datatype="integer" isForeignKey="1"/>
<column name="sender_type" datatype="integer" isForeignKey="1"/>
<column name="corresponding_outbox_message_id" datatype="integer" default="0"/>
<constraint name="UQ_msg_message_data_id" type="unique">
<column name="id"/>
</constraint>
<constraint name="IDX_msg_message_operator_is_deleted" type="index">
<column name="is_deleted"/>
</constraint>
<foreignKey name="FK_msg_message_operator_data_address_type_recv">
<source table="msg_message_operator_data" column="recipient_type"/>
<destination table="address_type" column="id"/>
</foreignKey>
<foreignKey name="FK_msg_message_operator_data_address_type_send">
<source table="msg_message_operator_data" column="sender_type"/>
<destination table="address_type" column="id"/>
</foreignKey>
</table>
</tables>
<views/>
<dbServiceStructs>
<serviceStruct name="MsgMessageData" table="msg_message_operator_data"/>
<table name="msg_message_operator_data"/>
</dbServiceStructs>
<topicTypes>
<topicType name="CreateOperatorMessageRequest">
<column name="recipientIds" idlType="sequence&lt;long&gt;" comment="Dependent on recipientType: - OperatorId, - ParticipantId"/>
<column name="exerciseId" idlType="long"/>
<column name="senderId" idlType="long" comment="Dependent on senderType: - OperatorId, - ParticipantId (or EqId?)"/>
<column name="subject" idlType="string"/>
<column name="message" idlType="string" comment="Shall be empty if Receiver is Non-O/C Participant. Not optional though."/>
<column name="senderType" idlType="AddressType"/>
<column name="recipientType" idlType="AddressType"/>
</topicType>
<topicType name="ModifyOperatorMessageRequest">
<column name="id" idlType="long" isKey="1"/>
<column name="isRead" idlType="boolean"/>
<column name="isSend" idlType="boolean"/>
<column name="isDeleted" idlType="boolean"/>
</topicType>
<topicType name="OperatorMessage" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="id" idlType="long" isKey="1"/>
<column name="senderId" idlType="long"/>
<column name="recipientId" idlType="long"/>
<column name="exerciseId" idlType="long"/>
<column name="subject" idlType="string"/>
<column name="message" idlType="string"/>
<column name="isRead" idlType="boolean"/>
<column name="isSend" idlType="boolean"/>
<column name="isDeleted" idlType="boolean"/>
<column name="senderText" idlType="string"/>
<column name="recipientText" idlType="string"/>
<column name="senderType" idlType="AddressType"/>
<column name="recipientType" idlType="AddressType"/>
<column name="correspondingOutboxMessageId" idlType="long"/>
<column name="timeStamp" idlType="long long"/>
</topicType>
</topicTypes>
<functionTopics>
<functionTopic name="ModifyOperatorMessage" requestTopicType="ModifyOperatorMessageRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyOperatorMessageRequest" replyTopicName="ModifyOperatorMessageReply" routeInReplay="0"/>
<functionTopic name="CreateOperatorMessage" requestTopicType="CreateOperatorMessageRequest" replyTopicType="Core::FunctionReply" requestTopicName="CreateOperatorMessageRequest" replyTopicName="CreateOperatorMessageReply" routeInReplay="0"/>
</functionTopics>
<enumerations>
<enumeration name="AddressType" table="address_type">
<attribute key="Operator" value="1"/>
<attribute key="ObserverController" value="2"/>
<attribute key="Participant" value="3"/>
</enumeration>
</enumerations>
</service>