Overview
Summary
Contact
Donate
Imprint
Prompt for the
ConversationApp
Please create a React-JS application for the ConversationModule. The application has to offer the following views for the user interface: 1. AbuseReportView 2. ConversationView 3. GroupChatView 4. NotificationSettingView 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 AbuseReportView must contain the following fields: - name: Category type: STRING - name: CreatedAt type: DATE - name: Description type: STRING - name: GroupChat type: GroupChat - name: HandledAt type: DATE - name: HandlerNote type: STRING - name: Message type: Message - name: ReportedUserAccount type: LONG - name: ReporterUserAccount type: LONG The data source for the [GroupChat] select control should be loaded from the relative URL: "/ConversationService/groupchat" (HTTP-GET) The data source for the [Message] select control should be loaded from the relative URL: "/MessageService/message" (HTTP-GET) An existing AbuseReport entity should be loaded from the relative URL: "/ConversationService/abusereport/{id}" (HTTP-GET) If a new AbuseReport entity has been created, the new entity should be posted to the relative URL: "/ConversationService/abusereport" (HTTP-POST) If an existing AbuseReport entity has been updated, the modified entity should be sent to the relative URL: "/ConversationService/abusereport/{id}" (HTTP-PUT) If an existing AbuseReport entity has to be deleted, the following relative URL should be called: "/ConversationService/abusereport/{id}" (HTTP-DELETE) 2. The ConversationView must contain the following fields: - name: CreatedAt type: DATE - name: GroupChat type: GroupChat - name: Type type: STRING - name: UpdatedAt type: DATE - name: UserAccountA type: UserAccount - name: UserAccountB type: UserAccount The data source for the [GroupChat] select control should be loaded from the relative URL: "/ConversationService/groupchat" (HTTP-GET) The data source for the [UserAccountB] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) The data source for the [UserAccountA] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) An existing Conversation entity should be loaded from the relative URL: "/ConversationService/conversation/{id}" (HTTP-GET) If a new Conversation entity has been created, the new entity should be posted to the relative URL: "/ConversationService/conversation" (HTTP-POST) If an existing Conversation entity has been updated, the modified entity should be sent to the relative URL: "/ConversationService/conversation/{id}" (HTTP-PUT) If an existing Conversation entity has to be deleted, the following relative URL should be called: "/ConversationService/conversation/{id}" (HTTP-DELETE) Add a HTML table to the view with the following Message columns: - column: MessageType - column: SentAt - column: Conversation - column: ReplyToMessage - column: IsDeletedForSender - column: ServerReceivedAt - column: IsSystemMessage - column: Body - column: ClientMessageUuid - column: SenderUserAccount The table should have the title "Messages" und the data must be loaded from the server with the following relative URL: "/MessageService/message/conversation/{id}" Add a HTML table to the view with the following ServerLogEntry columns: - column: EventType - column: UserAccount - column: Conversation - column: LogLevel - column: Device - column: Message - column: ServerNode - column: CreatedAt The table should have the title "ServerLogEntrys" und the data must be loaded from the server with the following relative URL: "/ServerNodeService/serverlogentry/conversation/{id}" Add a HTML table to the view with the following NotificationSetting columns: - column: MutedUntil - column: UserAccount - column: UpdatedAt - column: ShowPreview - column: IsMuted - column: CreatedAt - column: CustomSound - column: Conversation The table should have the title "NotificationSettings" und the data must be loaded from the server with the following relative URL: "/ConversationService/notificationsetting/conversation/{id}" Add a HTML table to the view with the following CallDuration columns: - column: InitiatorUserAccount - column: EndedAt - column: Conversation - column: TerminationReason - column: ProtocolVersion - column: CallType - column: StartedAt The table should have the title "CallDurations" und the data must be loaded from the server with the following relative URL: "/CallDurationService/callduration/conversation/{id}" Add a HTML table to the view with the following PaymentTransaction columns: - column: CreatedAt - column: PaymentAccountFrom - column: TransactionHash - column: PaymentAccountTo - column: Conversation - column: AmountMinorUnits - column: CompletedAt - column: CurrencyCode - column: Status The table should have the title "PaymentTransactions" und the data must be loaded from the server with the following relative URL: "/PaymentAccountService/paymenttransaction/conversation/{id}" 3. The GroupChatView must contain the following fields: - name: AvatarUrl type: STRING - name: CreatedAt type: DATE - name: CreatedByUserAccount type: LONG - name: Description type: STRING - name: InviteLinkToken type: STRING - name: IsAnnouncementOnly type: BOOL - name: IsArchived type: BOOL - name: Title type: STRING - name: UpdatedAt type: DATE An existing GroupChat entity should be loaded from the relative URL: "/ConversationService/groupchat/{id}" (HTTP-GET) If a new GroupChat entity has been created, the new entity should be posted to the relative URL: "/ConversationService/groupchat" (HTTP-POST) If an existing GroupChat entity has been updated, the modified entity should be sent to the relative URL: "/ConversationService/groupchat/{id}" (HTTP-PUT) If an existing GroupChat entity has to be deleted, the following relative URL should be called: "/ConversationService/groupchat/{id}" (HTTP-DELETE) Add a HTML table to the view with the following AbuseReport columns: - column: HandlerNote - column: Category - column: GroupChat - column: Description - column: CreatedAt - column: ReporterUserAccount - column: Message - column: ReportedUserAccount - column: HandledAt The table should have the title "AbuseReports" und the data must be loaded from the server with the following relative URL: "/ConversationService/abusereport/groupchat/{id}" Add a HTML table to the view with the following GroupMember columns: - column: Role - column: GroupChat - column: UserAccount - column: JoinedAt - column: IsBanned - column: LeftAt The table should have the title "GroupMembers" und the data must be loaded from the server with the following relative URL: "/StickerPackService/groupmember/groupchat/{id}" Add a HTML table to the view with the following Conversation columns: - column: UpdatedAt - column: GroupChat - column: UserAccountB - column: UserAccountA - column: CreatedAt - column: Type The table should have the title "Conversations" und the data must be loaded from the server with the following relative URL: "/ConversationService/conversation/groupchat/{id}" 4. The NotificationSettingView must contain the following fields: - name: Conversation type: Conversation - name: CreatedAt type: DATE - name: CustomSound type: STRING - name: IsMuted type: BOOL - name: MutedUntil type: DATE - name: ShowPreview type: BOOL - name: UpdatedAt type: DATE - name: UserAccount type: UserAccount The data source for the [Conversation] select control should be loaded from the relative URL: "/ConversationService/conversation" (HTTP-GET) The data source for the [UserAccount] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) An existing NotificationSetting entity should be loaded from the relative URL: "/ConversationService/notificationsetting/{id}" (HTTP-GET) If a new NotificationSetting entity has been created, the new entity should be posted to the relative URL: "/ConversationService/notificationsetting" (HTTP-POST) If an existing NotificationSetting entity has been updated, the modified entity should be sent to the relative URL: "/ConversationService/notificationsetting/{id}" (HTTP-PUT) If an existing NotificationSetting entity has to be deleted, the following relative URL should be called: "/ConversationService/notificationsetting/{id}" (HTTP-DELETE)
Copy prompt
Overview
Summary
Contact
Donate
Imprint