Overview
Summary
Contact
Donate
Imprint
Prompt for the
CallDurationApp
Please create a React-JS application for the CallDurationModule. The application has to offer the following views for the user interface: 1. CallDurationView 2. CallParticipantView 3. DeviceKeyView 4. IdentityKeyView 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 CallDurationView must contain the following fields: - name: CallType type: STRING - name: Conversation type: Conversation - name: EndedAt type: DATE - name: InitiatorUserAccount type: LONG - name: ProtocolVersion type: STRING - name: StartedAt type: DATE - name: TerminationReason type: STRING The data source for the [Conversation] select control should be loaded from the relative URL: "/ConversationService/conversation" (HTTP-GET) An existing CallDuration entity should be loaded from the relative URL: "/CallDurationService/callduration/{id}" (HTTP-GET) If a new CallDuration entity has been created, the new entity should be posted to the relative URL: "/CallDurationService/callduration" (HTTP-POST) If an existing CallDuration entity has been updated, the modified entity should be sent to the relative URL: "/CallDurationService/callduration/{id}" (HTTP-PUT) If an existing CallDuration entity has to be deleted, the following relative URL should be called: "/CallDurationService/callduration/{id}" (HTTP-DELETE) Add a HTML table to the view with the following CallParticipant columns: - column: UserAccount - column: MediaStatus - column: IsMuted - column: IsVideoEnabled - column: JoinedAt - column: LeftAt - column: CallDuration The table should have the title "CallParticipants" und the data must be loaded from the server with the following relative URL: "/CallDurationService/callparticipant/callduration/{id}" 2. The CallParticipantView must contain the following fields: - name: CallDuration type: CallDuration - name: IsMuted type: BOOL - name: IsVideoEnabled type: BOOL - name: JoinedAt type: DATE - name: LeftAt type: DATE - name: MediaStatus type: STRING - name: UserAccount type: UserAccount The data source for the [CallDuration] select control should be loaded from the relative URL: "/CallDurationService/callduration" (HTTP-GET) The data source for the [UserAccount] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) An existing CallParticipant entity should be loaded from the relative URL: "/CallDurationService/callparticipant/{id}" (HTTP-GET) If a new CallParticipant entity has been created, the new entity should be posted to the relative URL: "/CallDurationService/callparticipant" (HTTP-POST) If an existing CallParticipant entity has been updated, the modified entity should be sent to the relative URL: "/CallDurationService/callparticipant/{id}" (HTTP-PUT) If an existing CallParticipant entity has to be deleted, the following relative URL should be called: "/CallDurationService/callparticipant/{id}" (HTTP-DELETE) 3. The DeviceKeyView must contain the following fields: - name: CreatedAt type: DATE - name: Device type: Device - name: IsCurrent type: BOOL - name: PublicKey type: STRING The data source for the [Device] select control should be loaded from the relative URL: "/MessageService/device" (HTTP-GET) An existing DeviceKey entity should be loaded from the relative URL: "/CallDurationService/devicekey/{id}" (HTTP-GET) If a new DeviceKey entity has been created, the new entity should be posted to the relative URL: "/CallDurationService/devicekey" (HTTP-POST) If an existing DeviceKey entity has been updated, the modified entity should be sent to the relative URL: "/CallDurationService/devicekey/{id}" (HTTP-PUT) If an existing DeviceKey entity has to be deleted, the following relative URL should be called: "/CallDurationService/devicekey/{id}" (HTTP-DELETE) 4. The IdentityKeyView must contain the following fields: - name: CreatedAt type: DATE - name: IsCurrent type: BOOL - name: PublicKey type: STRING - name: UserAccount type: UserAccount The data source for the [UserAccount] select control should be loaded from the relative URL: "/UserAccountService/useraccount" (HTTP-GET) An existing IdentityKey entity should be loaded from the relative URL: "/CallDurationService/identitykey/{id}" (HTTP-GET) If a new IdentityKey entity has been created, the new entity should be posted to the relative URL: "/CallDurationService/identitykey" (HTTP-POST) If an existing IdentityKey entity has been updated, the modified entity should be sent to the relative URL: "/CallDurationService/identitykey/{id}" (HTTP-PUT) If an existing IdentityKey entity has to be deleted, the following relative URL should be called: "/CallDurationService/identitykey/{id}" (HTTP-DELETE) Add a HTML table to the view with the following EncryptionKeyBundle columns: - column: IdentityKey - column: CreatedAt - column: Device - column: UserAccount - column: BundleVersion The table should have the title "EncryptionKeyBundles" und the data must be loaded from the server with the following relative URL: "/UserAccountService/encryptionkeybundle/identitykey/{id}"
Copy prompt
Overview
Summary
Contact
Donate
Imprint