Overview
Summary
Contact
Donate
Imprint
Prompt for the
ChatApp
Please create a React-JS application for the ChatModule. The application has to offer the following views for the user interface: 1. AiInteractionView 2. BroadcastChannelView 3. ChatView 4. ChatParticipantView The views have to be reachable for the user via a menu list at the left side of each view. The requirements for the 4 views are defined below. 1. The AiInteractionView must contain the following fields: - name: Chat type: Chat - name: ChatMessage type: ChatMessage - name: CreatedAt type: DATE - name: InteractionType type: STRING - name: PromptText type: STRING - name: ResponseSummary type: STRING - name: UserAccount type: UserAccount The data source for the [ChatMessage] select control should be loaded from the relative URL: "/ChatMessageService/chatmessage" (HTTP-GET) The data source for the [Chat] select control should be loaded from the relative URL: "/ChatService/chat" (HTTP-GET) The data source for the [UserAccount] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) An existing AiInteraction entity should be loaded from the relative URL: "/ChatService/aiinteraction/{id}" (HTTP-GET) If a new AiInteraction entity has been created, the new entity should be posted to the relative URL: "/ChatService/aiinteraction" (HTTP-POST) If an existing AiInteraction entity has been updated, the modified entity should be sent to the relative URL: "/ChatService/aiinteraction/{id}" (HTTP-PUT) If an existing AiInteraction entity has to be deleted, the following relative URL should be called: "/ChatService/aiinteraction/{id}" (HTTP-DELETE) 2. The BroadcastChannelView must contain the following fields: - name: Chat type: Chat - name: CreatedAt type: DATE - name: Description type: STRING - name: IsEndToEndEncrypted type: BOOL - name: IsOfficial type: BOOL - name: Name type: STRING - name: OwnerUserAccount type: UserAccount The data source for the [OwnerUserAccount] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) The data source for the [Chat] select control should be loaded from the relative URL: "/ChatService/chat" (HTTP-GET) An existing BroadcastChannel entity should be loaded from the relative URL: "/ChatService/broadcastchannel/{id}" (HTTP-GET) If a new BroadcastChannel entity has been created, the new entity should be posted to the relative URL: "/ChatService/broadcastchannel" (HTTP-POST) If an existing BroadcastChannel entity has been updated, the modified entity should be sent to the relative URL: "/ChatService/broadcastchannel/{id}" (HTTP-PUT) If an existing BroadcastChannel entity has to be deleted, the following relative URL should be called: "/ChatService/broadcastchannel/{id}" (HTTP-DELETE) Add a HTML table to the view with the following ChannelFollower columns: - column: FollowedAt - column: IsMuted - column: BroadcastChannel - column: UserAccount The table should have the title "ChannelFollowers" und the data must be loaded from the server with the following relative URL: "/UserAccountService/channelfollower/broadcastchannel/{id}" 3. The ChatView must contain the following fields: - name: CreatedAt type: DATE - name: CreatedByUserAccount type: UserAccount - name: IsChannel type: BOOL - name: IsCommunity type: BOOL - name: IsGroup type: BOOL - name: Title type: STRING The data source for the [CreatedByUserAccount] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) An existing Chat entity should be loaded from the relative URL: "/ChatService/chat/{id}" (HTTP-GET) If a new Chat entity has been created, the new entity should be posted to the relative URL: "/ChatService/chat" (HTTP-POST) If an existing Chat entity has been updated, the modified entity should be sent to the relative URL: "/ChatService/chat/{id}" (HTTP-PUT) If an existing Chat entity has to be deleted, the following relative URL should be called: "/ChatService/chat/{id}" (HTTP-DELETE) Add a HTML table to the view with the following AbuseReport columns: - column: Chat - column: ReportedUserAccount - column: Reason - column: Status - column: CreatedAt - column: ReporterUserAccount - column: Details - column: ChatMessage The table should have the title "AbuseReports" und the data must be loaded from the server with the following relative URL: "/ChatMessageService/abusereport/chat/{id}" Add a HTML table to the view with the following ChatParticipant columns: - column: IsPinned - column: CustomNotificationLevel - column: Chat - column: UserAccount - column: Role - column: JoinedAt - column: IsMuted The table should have the title "ChatParticipants" und the data must be loaded from the server with the following relative URL: "/ChatService/chatparticipant/chat/{id}" Add a HTML table to the view with the following AiInteraction columns: - column: PromptText - column: InteractionType - column: CreatedAt - column: ResponseSummary - column: UserAccount - column: Chat - column: ChatMessage The table should have the title "AiInteractions" und the data must be loaded from the server with the following relative URL: "/ChatService/aiinteraction/chat/{id}" Add a HTML table to the view with the following BroadcastChannel columns: - column: OwnerUserAccount - column: IsEndToEndEncrypted - column: CreatedAt - column: Description - column: IsOfficial - column: Name - column: Chat The table should have the title "BroadcastChannels" und the data must be loaded from the server with the following relative URL: "/ChatService/broadcastchannel/chat/{id}" Add a HTML table to the view with the following VoiceCall columns: - column: StartedAt - column: CallType - column: InitiatorUserAccount - column: MaxParticipants - column: IsGroupCall - column: Chat - column: IsRecorded - column: EndedAt - column: Codec The table should have the title "VoiceCalls" und the data must be loaded from the server with the following relative URL: "/VoiceCallService/voicecall/chat/{id}" Add a HTML table to the view with the following ChatMessage columns: - column: SentAt - column: ReplyToChatMessage - column: IsViewOnce - column: TextContent - column: MessageType - column: IsDeletedForEveryone - column: Chat - column: IsDeletedForSender - column: IsEdited - column: DeliveredAt - column: SenderUserAccount - column: ReadAt - column: EditedAt The table should have the title "ChatMessages" und the data must be loaded from the server with the following relative URL: "/ChatMessageService/chatmessage/chat/{id}" Add a HTML table to the view with the following CommunityChat columns: - column: CommunitySpace - column: IsAnnouncement - column: Chat The table should have the title "CommunityChats" und the data must be loaded from the server with the following relative URL: "/CommunitySpaceService/communitychat/chat/{id}" 4. The ChatParticipantView must contain the following fields: - name: Chat type: Chat - name: CustomNotificationLevel type: STRING - name: IsMuted type: BOOL - name: IsPinned type: BOOL - name: JoinedAt type: DATE - name: Role type: STRING - name: UserAccount type: UserAccount The data source for the [Chat] select control should be loaded from the relative URL: "/ChatService/chat" (HTTP-GET) The data source for the [UserAccount] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) An existing ChatParticipant entity should be loaded from the relative URL: "/ChatService/chatparticipant/{id}" (HTTP-GET) If a new ChatParticipant entity has been created, the new entity should be posted to the relative URL: "/ChatService/chatparticipant" (HTTP-POST) If an existing ChatParticipant entity has been updated, the modified entity should be sent to the relative URL: "/ChatService/chatparticipant/{id}" (HTTP-PUT) If an existing ChatParticipant entity has to be deleted, the following relative URL should be called: "/ChatService/chatparticipant/{id}" (HTTP-DELETE)
Copy prompt
Overview
Summary
Contact
Donate
Imprint