-
Notifications
You must be signed in to change notification settings - Fork 49
Fix the build error in video call controller #229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6eb7e19
0a4b0ae
7238a37
8471f97
e12a949
382c740
6a9b599
9ba1e10
e89b831
38c338a
f685234
7bbad5c
960f7d4
5b36af4
18e1d2a
9f596e5
5c92dbd
5e8e761
bae01d9
e8e4ab8
b681ad4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,97 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| package com.iemr.common.controller.videocall; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import java.util.HashMap; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import java.util.Map; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.json.JSONObject; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.slf4j.Logger; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.slf4j.LoggerFactory; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.springframework.http.HttpStatus; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.springframework.http.MediaType; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.springframework.http.ResponseEntity; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.springframework.web.bind.annotation.PostMapping; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.springframework.web.bind.annotation.RestController; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import com.iemr.common.model.videocall.UpdateCallRequest; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import com.iemr.common.model.videocall.VideoCallRequest; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import com.iemr.common.service.videocall.VideoCallService; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import com.iemr.common.utils.response.OutputResponse; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import com.fasterxml.jackson.databind.DeserializationFeature; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import jakarta.servlet.http.HttpServletRequest; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import org.springframework.web.bind.annotation.RequestBody; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| @RestController | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| @RequestMapping(value = "/video-consultation") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| public class VideoCallController { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| @Autowired | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| private VideoCallService videoCallService; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| @PostMapping(value = "/generate-link", produces = MediaType.APPLICATION_JSON_VALUE, headers = "Authorization") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| public ResponseEntity<Map<String, String>> generateJitsiLink() { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Map<String, String> response = new HashMap<>(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| try { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| String link = videoCallService.generateMeetingLink(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| response.put("meetingLink", link); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return ResponseEntity.ok(response); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } catch (Exception e) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| response.put("error", e.getMessage()); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(response); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| @PostMapping(value = "/send-link", produces = MediaType.APPLICATION_JSON_VALUE, headers = "Authorization") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| public String sendVideoLink(@RequestBody String requestModel, HttpServletRequest request) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OutputResponse response = new OutputResponse(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| try { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ObjectMapper objectMapper = new ObjectMapper(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| VideoCallRequest requestData = objectMapper.readValue(requestModel, VideoCallRequest.class); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| String serviceResponse = videoCallService.sendMeetingLink(requestData); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return serviceResponse; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } catch (Exception e) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| logger.error("send MeetingLink failed with error: " + e.getMessage(), e); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| response.setError(e); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return response.toString(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+49
to
+66
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. π οΈ Refactor suggestion Standardize response format and improve error handling. This endpoint returns a raw String while other endpoints use ResponseEntity, creating inconsistency. Also, the exception handling could be more specific. @PostMapping(value = "/send-link", produces = MediaType.APPLICATION_JSON_VALUE, headers = "Authorization")
-public String sendVideoLink(@RequestBody String requestModel, HttpServletRequest request) {
- OutputResponse response = new OutputResponse();
-
+public ResponseEntity<String> sendVideoLink(@RequestBody String requestModel, HttpServletRequest request) {
try {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
VideoCallRequest requestData = objectMapper.readValue(requestModel, VideoCallRequest.class);
String serviceResponse = videoCallService.sendMeetingLink(requestData);
- return serviceResponse;
+ return ResponseEntity.ok(serviceResponse);
- } catch (Exception e) {
+ } catch (JsonProcessingException e) {
+ logger.error("JSON parsing failed: " + e.getMessage(), e);
+ return ResponseEntity.badRequest().body("{\"status\":\"error\",\"message\":\"Invalid JSON format\"}");
+ } catch (Exception e) {
logger.error("send MeetingLink failed with error: " + e.getMessage(), e);
- response.setError(e);
- return response.toString();
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
+ .body("{\"status\":\"error\",\"message\":\"" + e.getMessage() + "\"}");
}
}π Committable suggestion
Suggested change
π€ Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| @PostMapping(value = "/update-call-status", produces = MediaType.APPLICATION_JSON_VALUE, headers = "Authorization") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| public ResponseEntity<String> updateCallStatus(@RequestBody UpdateCallRequest requestModel, HttpServletRequest request) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OutputResponse response = new OutputResponse(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| try { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if (requestModel.getMeetingLink() == null || requestModel.getCallStatus() == null) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| throw new IllegalArgumentException("Meeting Link and Status are required"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| String result = videoCallService.updateCallStatus(requestModel); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| JSONObject responseObj = new JSONObject(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| responseObj.put("status", "success"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| responseObj.put("message", result); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| response.setResponse(responseObj.toString()); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } catch (IllegalArgumentException e) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| logger.error("Validation error: " + e.getMessage(), e); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return ResponseEntity.badRequest().body("{\"status\":\"error\",\"message\":\"" + e.getMessage() + "\"}"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } catch (Exception e) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| logger.error("updateCallStatus failed with error: " + e.getMessage(), e); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| response.setError(e); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return ResponseEntity.ok(response.toString()); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| package com.iemr.common.data.videocall; | ||
|
|
||
| import java.sql.Timestamp; | ||
|
|
||
| import com.iemr.common.utils.mapper.OutputMapper; | ||
|
|
||
| import jakarta.persistence.Column; | ||
| import jakarta.persistence.Entity; | ||
| import jakarta.persistence.GeneratedValue; | ||
| import jakarta.persistence.GenerationType; | ||
| import jakarta.persistence.Id; | ||
| import jakarta.persistence.Table; | ||
| import lombok.Data; | ||
|
|
||
| @Entity | ||
| @Table(name = "t_videocallparameter") | ||
| @Data | ||
| public class VideoCallParameters { | ||
| @Id | ||
| @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
| @Column(name = "MeetingID") | ||
| private Integer meetingID; | ||
|
|
||
| @Column(name = "DateOfCall") | ||
| private Timestamp dateOfCall; | ||
|
|
||
| @Column(name = "CallerPhoneNumber") | ||
| private String callerPhoneNumber; | ||
|
|
||
| @Column(name = "AgentID") | ||
| private String agentID; | ||
|
|
||
| @Column(name = "AgentName") | ||
| private String agentName; | ||
|
|
||
| @Column(name = "MeetingLink") | ||
| private String meetingLink; | ||
|
|
||
| @Column(name = "CallStatus") | ||
| private String callStatus; | ||
|
|
||
| @Column(name = "CallDuration") | ||
| private String callDuration; | ||
|
|
||
| @Column(name = "ProviderServiceMapID") | ||
| private Integer providerServiceMapID; | ||
|
|
||
| @Column(name = "BeneficiaryRegID") | ||
| private Long beneficiaryRegID; | ||
|
|
||
| @Column(name = "ClosureRemark") | ||
| private String closureRemark; | ||
|
|
||
| @Column(name = "LinkGeneratedAt") | ||
| private Timestamp linkGeneratedAt; | ||
|
|
||
| @Column(name = "IsLinkUsed") | ||
| private boolean linkUsed; | ||
|
|
||
| @Column(name = "Deleted", insertable = false, updatable = true) | ||
| private Boolean deleted; | ||
|
|
||
| @Column(name = "CreatedBy", insertable = true, updatable = false) | ||
| private String createdBy; | ||
|
|
||
| @Column(name = "CreatedDate", insertable = false, updatable = false) | ||
| private Timestamp createdDate; | ||
|
|
||
| @Column(name = "ModifiedBy", insertable = false, updatable = true) | ||
| private String modifiedBy; | ||
|
|
||
| @Column(name = "LastModDate", insertable = false, updatable = false) | ||
| private Timestamp lastModDate; | ||
|
|
||
| @Override | ||
| public String toString() | ||
| { | ||
| return OutputMapper.gsonWithoutExposeRestriction().toJson(this); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| package com.iemr.common.mapper.videocall; | ||
|
|
||
| import java.util.List; | ||
| import org.mapstruct.Mapper; | ||
| import org.mapstruct.factory.Mappers; | ||
| import org.mapstruct.IterableMapping; | ||
| import org.mapstruct.factory.Mappers; | ||
|
|
||
| import com.iemr.common.data.videocall.VideoCallParameters; | ||
| import com.iemr.common.model.videocall.UpdateCallRequest; | ||
| import com.iemr.common.model.videocall.UpdateCallResponse; | ||
| import com.iemr.common.model.videocall.VideoCallRequest; | ||
|
|
||
| @Mapper(componentModel = "spring") | ||
| public interface VideoCallMapper { | ||
| VideoCallMapper INSTANCE = Mappers.getMapper(VideoCallMapper.class); | ||
|
|
||
| VideoCallRequest videoCallToRequest(VideoCallParameters videoCall); | ||
|
|
||
| VideoCallParameters videoCallToEntity(VideoCallRequest videoCallRequest); | ||
|
|
||
| @IterableMapping(elementTargetType = VideoCallRequest.class) | ||
| List<VideoCallRequest> videoCallToRequestList(List<VideoCallParameters> videoCallList); | ||
|
|
||
| @IterableMapping(elementTargetType = VideoCallParameters.class) | ||
| List<VideoCallParameters> videoCallToEntityList(List<VideoCallRequest> videoCallRequestList); | ||
|
|
||
| VideoCallParameters updateRequestToVideoCall(UpdateCallRequest updateCallStatusRequest); | ||
|
|
||
| UpdateCallResponse videoCallToResponse(VideoCallParameters videoCall); | ||
|
|
||
| @IterableMapping(elementTargetType = VideoCallParameters.class) | ||
| List<VideoCallParameters> updateRequestToVideoCall(List<UpdateCallRequest> updateCallStatusRequests); | ||
|
|
||
| @IterableMapping(elementTargetType = UpdateCallResponse.class) | ||
| List<UpdateCallResponse> videoCallToResponse(List<VideoCallParameters> videoCalls); | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,12 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| package com.iemr.common.model.videocall; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import lombok.Data; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| @Data | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| public class UpdateCallRequest { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| private String meetingLink; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| private String callStatus; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| private String callDuration; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| private String modifiedBy; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+1
to
+12
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. π οΈ Refactor suggestion Add validation and improve type safety for the DTO. The UpdateCallRequest class would benefit from the following enhancements:
package com.iemr.common.model.videocall;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Pattern;
import lombok.Data;
+/**
+ * Request model for updating video call status and details
+ */
@Data
public class UpdateCallRequest {
+ @NotBlank(message = "Meeting link is required")
private String meetingLink;
+
+ @NotBlank(message = "Call status is required")
+ @Pattern(regexp = "^(INITIATED|IN_PROGRESS|COMPLETED|CANCELLED)$",
+ message = "Invalid call status")
private String callStatus;
+
private String callDuration;
+
+ @NotBlank(message = "Modified by is required")
private String modifiedBy;
}π Committable suggestion
Suggested change
π€ Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| package com.iemr.common.model.videocall; | ||
|
|
||
| import java.sql.Timestamp; | ||
|
|
||
| import com.fasterxml.jackson.annotation.JsonFormat; | ||
|
|
||
| import lombok.Data; | ||
|
|
||
| @Data | ||
| public class UpdateCallResponse { | ||
| private String meetingLink; | ||
| private String callStatus; | ||
| private String callDuration; | ||
| private String modifiedBy; | ||
| private boolean isLinkUsed; | ||
| @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") | ||
| private Timestamp lastModified; | ||
|
|
||
| public UpdateCallResponse() { | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix environment variable placeholder syntax.
jibri.output.pathandvideo.recording.pathare missing the$prefix. They should be${JIBRI_OUTPUT_PATH}and${VIDEO_RECORDING_PATH}.Apply this diff:
π Committable suggestion
π€ Prompt for AI Agents