Blame | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.entity.user;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;import java.time.LocalDateTime;/*** Audit log of call-recording opens (SOP §15/§17). The LMS dashboard states that recordings are* "gated by role + reporting hierarchy; every open is logged" — this table is the log half of that* claim, and {@code /lms/recording/{leadCallId}} is the gate half.** <p>Denied attempts are recorded too ({@code granted = false} with a {@code denied_reason}): an* agent repeatedly probing for recordings outside their scope is exactly what an audit review wants* to see, and a log that only kept successes would hide it.*/@Entity@Table(name = "user.lead_recording_access")public class LeadRecordingAccess {@Id@Column(name = "id", unique = true, updatable = false)@GeneratedValue(strategy = GenerationType.IDENTITY)private int id;@Column(name = "lead_call_id")private int leadCallId;@Column(name = "lead_id")private int leadId;/** Who tried to open it. */@Column(name = "auth_id")private int authId;/** Which matrix row let them in: OWN | REPORTS | STATE | ALL — null when denied. */@Column(name = "access_basis")private String accessBasis;@Column(name = "granted")private boolean granted;@Column(name = "denied_reason")private String deniedReason;@Column(name = "ip_address")private String ipAddress;@Column(name = "created_timestamp")private LocalDateTime createdTimestamp;public int getId() {return id;}public void setId(int id) {this.id = id;}public int getLeadCallId() {return leadCallId;}public void setLeadCallId(int leadCallId) {this.leadCallId = leadCallId;}public int getLeadId() {return leadId;}public void setLeadId(int leadId) {this.leadId = leadId;}public int getAuthId() {return authId;}public void setAuthId(int authId) {this.authId = authId;}public String getAccessBasis() {return accessBasis;}public void setAccessBasis(String accessBasis) {this.accessBasis = accessBasis;}public boolean isGranted() {return granted;}public void setGranted(boolean granted) {this.granted = granted;}public String getDeniedReason() {return deniedReason;}public void setDeniedReason(String deniedReason) {this.deniedReason = deniedReason;}public String getIpAddress() {return ipAddress;}public void setIpAddress(String ipAddress) {this.ipAddress = ipAddress;}public LocalDateTime getCreatedTimestamp() {return createdTimestamp;}public void setCreatedTimestamp(LocalDateTime createdTimestamp) {this.createdTimestamp = createdTimestamp;}}