added swagger docs for audit log controller
This commit is contained in:
		
							parent
							
								
									fe70b091b6
								
							
						
					
					
						commit
						2e6b839a41
					
				@ -65,8 +65,8 @@ public class AlarmController extends BaseController {
 | 
			
		||||
    private static final String ALARM_QUERY_STATUS_DESCRIPTION = "A string value representing one of the AlarmStatus enumeration value";
 | 
			
		||||
    private static final String ALARM_QUERY_STATUS_ALLOWABLE_VALUES = "ACTIVE_UNACK, ACTIVE_ACK, CLEARED_UNACK, CLEARED_ACK";
 | 
			
		||||
    private static final String ALARM_QUERY_TEXT_SEARCH_DESCRIPTION = "The case insensitive 'startsWith' filter based on of next alarm fields: type, severity or status";
 | 
			
		||||
    private static final String ALARM_QUERY_START_TIME_DESCRIPTION = "The start timestamp(milliseconds) of the search time range over the alarm object field: 'createdTime'.";
 | 
			
		||||
    private static final String ALARM_QUERY_END_TIME_DESCRIPTION = "The end timestamp(milliseconds) of the search time range over the alarm object field: 'createdTime'.";
 | 
			
		||||
    private static final String ALARM_QUERY_START_TIME_DESCRIPTION = "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.";
 | 
			
		||||
    private static final String ALARM_QUERY_END_TIME_DESCRIPTION = "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.";
 | 
			
		||||
    private static final String ALARM_QUERY_FETCH_ORIGINATOR_DESCRIPTION = "A boolean value to specify if the alarm originator name will be " +
 | 
			
		||||
            "filled in the AlarmInfo object  field: 'originatorName' or will returns as null.";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -47,13 +47,20 @@ import java.util.stream.Collectors;
 | 
			
		||||
@RequestMapping("/api")
 | 
			
		||||
public class AuditLogController extends BaseController {
 | 
			
		||||
 | 
			
		||||
    protected final String AUDIT_LOG_ACTION_TYPES_DESCRIPTION = "A String value representing action types parameter. The value is not required, but it can be any value of ActionType class. " +
 | 
			
		||||
            "For example, 'ADDED,DELETED,UPDATED,LOGIN,LOGOUT'.";
 | 
			
		||||
    protected final String SORT_AUDIT_LOG_PROPERTY_DESCRIPTION = "Property of logs to sort by";
 | 
			
		||||
    protected final String SORT_AUDIT_LOG_PROPERTY_ALLOWABLE_VALUES = "createdTime, entityName, entityType, user, type, status";
 | 
			
		||||
    private static final String AUDIT_LOG_QUERY_START_TIME_DESCRIPTION = "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.";
 | 
			
		||||
    private static final String AUDIT_LOG_QUERY_END_TIME_DESCRIPTION = "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.";
 | 
			
		||||
    private static final String AUDIT_LOG_QUERY_ACTION_TYPES_DESCRIPTION = "A String value representing comma-separated list of action types. " +
 | 
			
		||||
            "This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. " +
 | 
			
		||||
            "For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.";
 | 
			
		||||
    private static final String AUDIT_LOG_SORT_PROPERTY_DESCRIPTION = "Property of audit log to sort by. " +
 | 
			
		||||
            "See the 'Model' tab of the Response Class for more details. " +
 | 
			
		||||
            "Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "Get audit logs by customer id (getAuditLogsByCustomerId)",
 | 
			
		||||
            notes = "Returns a page of audit logs by selected customer. " + PAGE_DATA_PARAMETERS,
 | 
			
		||||
            notes = "Returns a page of audit logs related to the targeted customer entities(devices, assets, etc.), " +
 | 
			
		||||
                    "and users actions(login, logout, etc.) that belong to this customer. " +
 | 
			
		||||
                    PAGE_DATA_PARAMETERS + ADMINISTRATOR_AUTHORITY_ONLY,
 | 
			
		||||
            produces = MediaType.APPLICATION_JSON_VALUE)
 | 
			
		||||
    @PreAuthorize("hasAuthority('TENANT_ADMIN')")
 | 
			
		||||
    @RequestMapping(value = "/audit/logs/customer/{customerId}", params = {"pageSize", "page"}, method = RequestMethod.GET)
 | 
			
		||||
@ -65,17 +72,17 @@ public class AuditLogController extends BaseController {
 | 
			
		||||
            @RequestParam int pageSize,
 | 
			
		||||
            @ApiParam(value = PAGE_NUMBER_DESCRIPTION)
 | 
			
		||||
            @RequestParam int page,
 | 
			
		||||
            @ApiParam(value = "The case insensitive 'startsWith' filter based on the customer name.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_TEXT_SEARCH_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) String textSearch,
 | 
			
		||||
            @ApiParam(value = SORT_AUDIT_LOG_PROPERTY_DESCRIPTION, allowableValues = SORT_AUDIT_LOG_PROPERTY_ALLOWABLE_VALUES)
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_SORT_PROPERTY_DESCRIPTION, allowableValues = AUDIT_LOG_SORT_PROPERTY_ALLOWABLE_VALUES)
 | 
			
		||||
            @RequestParam(required = false) String sortProperty,
 | 
			
		||||
            @ApiParam(value = SORT_ORDER_DESCRIPTION, allowableValues = SORT_ORDER_ALLOWABLE_VALUES)
 | 
			
		||||
            @RequestParam(required = false) String sortOrder,
 | 
			
		||||
            @ApiParam(value = "A long value representing the start timestamp(milliseconds) of search time range.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_START_TIME_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) Long startTime,
 | 
			
		||||
            @ApiParam(value = "A long value representing the end timestamp(milliseconds) of search time range.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_END_TIME_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) Long endTime,
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_ACTION_TYPES_DESCRIPTION)
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_ACTION_TYPES_DESCRIPTION)
 | 
			
		||||
            @RequestParam(name = "actionTypes", required = false) String actionTypesStr) throws ThingsboardException {
 | 
			
		||||
        try {
 | 
			
		||||
            checkParameter("CustomerId", strCustomerId);
 | 
			
		||||
@ -89,7 +96,9 @@ public class AuditLogController extends BaseController {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "Get audit logs by user id (getAuditLogsByUserId)",
 | 
			
		||||
            notes = "Returns a page of audit logs by selected user. " + PAGE_DATA_PARAMETERS,
 | 
			
		||||
            notes = "Returns a page of audit logs related to the actions of targeted user. " +
 | 
			
		||||
                    "For example, RPC call to a particular device, or alarm acknowledgment for a specific device, etc. " +
 | 
			
		||||
                    PAGE_DATA_PARAMETERS + ADMINISTRATOR_AUTHORITY_ONLY,
 | 
			
		||||
            produces = MediaType.APPLICATION_JSON_VALUE)
 | 
			
		||||
    @PreAuthorize("hasAuthority('TENANT_ADMIN')")
 | 
			
		||||
    @RequestMapping(value = "/audit/logs/user/{userId}", params = {"pageSize", "page"}, method = RequestMethod.GET)
 | 
			
		||||
@ -101,17 +110,17 @@ public class AuditLogController extends BaseController {
 | 
			
		||||
            @RequestParam int pageSize,
 | 
			
		||||
            @ApiParam(value = PAGE_NUMBER_DESCRIPTION)
 | 
			
		||||
            @RequestParam int page,
 | 
			
		||||
            @ApiParam(value = "The case insensitive 'startsWith' filter based on the user name.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_TEXT_SEARCH_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) String textSearch,
 | 
			
		||||
            @ApiParam(value = SORT_AUDIT_LOG_PROPERTY_DESCRIPTION, allowableValues = SORT_AUDIT_LOG_PROPERTY_ALLOWABLE_VALUES)
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_SORT_PROPERTY_DESCRIPTION, allowableValues = AUDIT_LOG_SORT_PROPERTY_ALLOWABLE_VALUES)
 | 
			
		||||
            @RequestParam(required = false) String sortProperty,
 | 
			
		||||
            @ApiParam(value = SORT_ORDER_DESCRIPTION, allowableValues = SORT_ORDER_ALLOWABLE_VALUES)
 | 
			
		||||
            @RequestParam(required = false) String sortOrder,
 | 
			
		||||
            @ApiParam(value = "A long value representing the start timestamp(milliseconds) of search time range.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_START_TIME_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) Long startTime,
 | 
			
		||||
            @ApiParam(value = "A long value representing the end timestamp(milliseconds) of search time range.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_END_TIME_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) Long endTime,
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_ACTION_TYPES_DESCRIPTION)
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_ACTION_TYPES_DESCRIPTION)
 | 
			
		||||
            @RequestParam(name = "actionTypes", required = false) String actionTypesStr) throws ThingsboardException {
 | 
			
		||||
        try {
 | 
			
		||||
            checkParameter("UserId", strUserId);
 | 
			
		||||
@ -125,31 +134,34 @@ public class AuditLogController extends BaseController {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "Get audit logs by entity id (getAuditLogsByEntityId)",
 | 
			
		||||
            notes = "Returns a page of audit logs by selected entity. " + PAGE_DATA_PARAMETERS,
 | 
			
		||||
            notes = "Returns a page of audit logs related to the actions on the targeted entity. " +
 | 
			
		||||
                    "Basically, this API call is used to get the full lifecycle of some specific entity. " +
 | 
			
		||||
                    "For example to see when a device was created, updated, assigned to some customer, or even deleted from the system. " +
 | 
			
		||||
                    PAGE_DATA_PARAMETERS + ADMINISTRATOR_AUTHORITY_ONLY,
 | 
			
		||||
            produces = MediaType.APPLICATION_JSON_VALUE)
 | 
			
		||||
    @PreAuthorize("hasAuthority('TENANT_ADMIN')")
 | 
			
		||||
    @RequestMapping(value = "/audit/logs/entity/{entityType}/{entityId}", params = {"pageSize", "page"}, method = RequestMethod.GET)
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
    public PageData<AuditLog> getAuditLogsByEntityId(
 | 
			
		||||
            @ApiParam(value = ENTITY_TYPE_DESCRIPTION)
 | 
			
		||||
            @ApiParam(value = ENTITY_TYPE_PARAM_DESCRIPTION)
 | 
			
		||||
            @PathVariable("entityType") String strEntityType,
 | 
			
		||||
            @ApiParam(value = ENTITY_ID_DESCRIPTION)
 | 
			
		||||
            @ApiParam(value = ENTITY_ID_PARAM_DESCRIPTION)
 | 
			
		||||
            @PathVariable("entityId") String strEntityId,
 | 
			
		||||
            @ApiParam(value = PAGE_SIZE_DESCRIPTION)
 | 
			
		||||
            @RequestParam int pageSize,
 | 
			
		||||
            @ApiParam(value = PAGE_NUMBER_DESCRIPTION)
 | 
			
		||||
            @RequestParam int page,
 | 
			
		||||
            @ApiParam(value = "The case insensitive 'startsWith' filter based on the entity name.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_TEXT_SEARCH_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) String textSearch,
 | 
			
		||||
            @ApiParam(value = SORT_AUDIT_LOG_PROPERTY_DESCRIPTION, allowableValues = SORT_AUDIT_LOG_PROPERTY_ALLOWABLE_VALUES)
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_SORT_PROPERTY_DESCRIPTION, allowableValues = AUDIT_LOG_SORT_PROPERTY_ALLOWABLE_VALUES)
 | 
			
		||||
            @RequestParam(required = false) String sortProperty,
 | 
			
		||||
            @ApiParam(value = SORT_ORDER_DESCRIPTION, allowableValues = SORT_ORDER_ALLOWABLE_VALUES)
 | 
			
		||||
            @RequestParam(required = false) String sortOrder,
 | 
			
		||||
            @ApiParam(value = "A long value representing the start timestamp(milliseconds) of search time range.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_START_TIME_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) Long startTime,
 | 
			
		||||
            @ApiParam(value = "A long value representing the end timestamp(milliseconds) of search time range.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_END_TIME_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) Long endTime,
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_ACTION_TYPES_DESCRIPTION)
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_ACTION_TYPES_DESCRIPTION)
 | 
			
		||||
            @RequestParam(name = "actionTypes", required = false) String actionTypesStr) throws ThingsboardException {
 | 
			
		||||
        try {
 | 
			
		||||
            checkParameter("EntityId", strEntityId);
 | 
			
		||||
@ -164,7 +176,9 @@ public class AuditLogController extends BaseController {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "Get all audit logs (getAuditLogs)",
 | 
			
		||||
            notes = "Returns a page of all audit logs. " + PAGE_DATA_PARAMETERS, produces = MediaType.APPLICATION_JSON_VALUE)
 | 
			
		||||
            notes = "Returns a page of audit logs related to all entities in the scope of the current user's Tenant. " +
 | 
			
		||||
                    PAGE_DATA_PARAMETERS + ADMINISTRATOR_AUTHORITY_ONLY,
 | 
			
		||||
            produces = MediaType.APPLICATION_JSON_VALUE)
 | 
			
		||||
    @PreAuthorize("hasAuthority('TENANT_ADMIN')")
 | 
			
		||||
    @RequestMapping(value = "/audit/logs", params = {"pageSize", "page"}, method = RequestMethod.GET)
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
@ -173,17 +187,17 @@ public class AuditLogController extends BaseController {
 | 
			
		||||
            @RequestParam int pageSize,
 | 
			
		||||
            @ApiParam(value = PAGE_NUMBER_DESCRIPTION)
 | 
			
		||||
            @RequestParam int page,
 | 
			
		||||
            @ApiParam(value = "The case insensitive 'startsWith' filter based on any name like 'Device', 'Asset', 'Customer' etc.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_TEXT_SEARCH_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) String textSearch,
 | 
			
		||||
            @ApiParam(value = SORT_AUDIT_LOG_PROPERTY_DESCRIPTION, allowableValues = SORT_AUDIT_LOG_PROPERTY_ALLOWABLE_VALUES)
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_SORT_PROPERTY_DESCRIPTION, allowableValues = AUDIT_LOG_SORT_PROPERTY_ALLOWABLE_VALUES)
 | 
			
		||||
            @RequestParam(required = false) String sortProperty,
 | 
			
		||||
            @ApiParam(value = SORT_ORDER_DESCRIPTION, allowableValues = SORT_ORDER_ALLOWABLE_VALUES)
 | 
			
		||||
            @RequestParam(required = false) String sortOrder,
 | 
			
		||||
            @ApiParam(value = "A long value representing the start timestamp(milliseconds) of search time range.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_START_TIME_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) Long startTime,
 | 
			
		||||
            @ApiParam(value = "A long value representing the end timestamp(milliseconds) of search time range.")
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_END_TIME_DESCRIPTION)
 | 
			
		||||
            @RequestParam(required = false) Long endTime,
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_ACTION_TYPES_DESCRIPTION)
 | 
			
		||||
            @ApiParam(value = AUDIT_LOG_QUERY_ACTION_TYPES_DESCRIPTION)
 | 
			
		||||
            @RequestParam(name = "actionTypes", required = false) String actionTypesStr) throws ThingsboardException {
 | 
			
		||||
        try {
 | 
			
		||||
            TenantId tenantId = getCurrentUser().getTenantId();
 | 
			
		||||
 | 
			
		||||
@ -186,6 +186,7 @@ public abstract class BaseController {
 | 
			
		||||
    protected final String DEVICE_TEXT_SEARCH_DESCRIPTION = "The case insensitive 'startsWith' filter based on the device name.";
 | 
			
		||||
    protected final String CUSTOMER_TEXT_SEARCH_DESCRIPTION = "The case insensitive 'startsWith' filter based on the customer title.";
 | 
			
		||||
    protected final String EVENT_TEXT_SEARCH_DESCRIPTION = "The value is not used in searching.";
 | 
			
		||||
    protected final String AUDIT_LOG_TEXT_SEARCH_DESCRIPTION = "The case insensitive 'startsWith' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.";
 | 
			
		||||
    protected final String SORT_PROPERTY_DESCRIPTION = "Property of entity to sort by";
 | 
			
		||||
    protected final String DASHBOARD_SORT_PROPERTY_ALLOWABLE_VALUES = "createdTime, title";
 | 
			
		||||
    protected final String CUSTOMER_SORT_PROPERTY_ALLOWABLE_VALUES = "createdTime, title, email, country, city";
 | 
			
		||||
@ -193,6 +194,7 @@ public abstract class BaseController {
 | 
			
		||||
    protected final String ASSET_SORT_PROPERTY_ALLOWABLE_VALUES = "createdTime, name, type, label, customerTitle";
 | 
			
		||||
    protected final String ALARM_SORT_PROPERTY_ALLOWABLE_VALUES = "createdTime, startTs, endTs, type, ackTs, clearTs, severity, status";
 | 
			
		||||
    protected final String EVENT_SORT_PROPERTY_ALLOWABLE_VALUES = "createdTime, id";
 | 
			
		||||
    protected final String AUDIT_LOG_SORT_PROPERTY_ALLOWABLE_VALUES = "createdTime, entityType, entityName, userName, actionType, actionStatus";
 | 
			
		||||
    protected final String SORT_ORDER_DESCRIPTION = "Sort order. ASC (ASCENDING) or DESC (DESCENDING)";
 | 
			
		||||
    protected final String SORT_ORDER_ALLOWABLE_VALUES = "ASC, DESC";
 | 
			
		||||
    protected final String DEVICE_INFO_DESCRIPTION = "Device Info is an extension of the default Device object that contains information about the assigned customer name and device profile name. ";
 | 
			
		||||
@ -205,8 +207,10 @@ public abstract class BaseController {
 | 
			
		||||
 | 
			
		||||
    protected final String EVENT_START_TIME_DESCRIPTION = "Timestamp. Events with creation time before it won't be queried.";
 | 
			
		||||
    protected final String EVENT_END_TIME_DESCRIPTION = "Timestamp. Events with creation time after it won't be queried.";
 | 
			
		||||
    protected static final String RELATION_TYPE_PARAM_DESCRIPTION = "A string value representing relation type between entities. For example, 'Contains', 'Manages'. It can be any string value.";
 | 
			
		||||
    protected static final String RELATION_TYPE_GROUP_PARAM_DESCRIPTION = "A string value representing relation type group. For example, 'COMMON'";
 | 
			
		||||
    protected final String RELATION_TYPE_PARAM_DESCRIPTION = "A string value representing relation type between entities. For example, 'Contains', 'Manages'. It can be any string value.";
 | 
			
		||||
    protected final String RELATION_TYPE_GROUP_PARAM_DESCRIPTION = "A string value representing relation type group. For example, 'COMMON'";
 | 
			
		||||
 | 
			
		||||
    protected final String ADMINISTRATOR_AUTHORITY_ONLY = "Available for users with 'Tenant Administrator' authority only.";
 | 
			
		||||
 | 
			
		||||
    public static final String INCORRECT_TENANT_ID = "Incorrect tenantId ";
 | 
			
		||||
    protected static final String DEFAULT_DASHBOARD = "defaultDashboardId";
 | 
			
		||||
 | 
			
		||||
@ -212,7 +212,7 @@ public class CustomerController extends BaseController {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "Get Tenant Customer by Customer title (getTenantCustomer)",
 | 
			
		||||
            notes = "Get the Customer using Customer Title. Available for users with 'Tenant Administrator' authority only.")
 | 
			
		||||
            notes = "Get the Customer using Customer Title. " + ADMINISTRATOR_AUTHORITY_ONLY)
 | 
			
		||||
    @PreAuthorize("hasAuthority('TENANT_ADMIN')")
 | 
			
		||||
    @RequestMapping(value = "/tenant/customers", params = {"customerTitle"}, method = RequestMethod.GET)
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
 | 
			
		||||
@ -28,25 +28,25 @@ import org.thingsboard.server.common.data.id.*;
 | 
			
		||||
@Data
 | 
			
		||||
public class AuditLog extends BaseData<AuditLogId> {
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(position = 3, value = "JSON object with Tenant Id.", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 3, value = "JSON object with Tenant Id", readOnly = true)
 | 
			
		||||
    private TenantId tenantId;
 | 
			
		||||
    @ApiModelProperty(position = 2, value = "JSON object with Customer Id.", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 4, value = "JSON object with Customer Id", readOnly = true)
 | 
			
		||||
    private CustomerId customerId;
 | 
			
		||||
    @ApiModelProperty(position = 3, value = "JSON object with Entity id.", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 5, value = "JSON object with Entity id", readOnly = true)
 | 
			
		||||
    private EntityId entityId;
 | 
			
		||||
    @ApiModelProperty(position = 4, value = "Entity Name", example = "Thermometer", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 6, value = "Name of the logged entity", example = "Thermometer", readOnly = true)
 | 
			
		||||
    private String entityName;
 | 
			
		||||
    @ApiModelProperty(position = 5, value = "JSON object with User id.", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 7, value = "JSON object with User id.", readOnly = true)
 | 
			
		||||
    private UserId userId;
 | 
			
		||||
    @ApiModelProperty(position = 6, value = "Unique User Name in scope of Administrator.", example = "Tenant", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 8, value = "Unique user name(email) of the user that performed some action on logged entity", example = "tenant@thingsboard.org", readOnly = true)
 | 
			
		||||
    private String userName;
 | 
			
		||||
    @ApiModelProperty(position = 7, value = "String represented Action type.", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 9, value = "String represented Action type", example = "ADDED", readOnly = true)
 | 
			
		||||
    private ActionType actionType;
 | 
			
		||||
    @ApiModelProperty(position = 8, value = "JsonNode represented action data.", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 10, value = "JsonNode represented action data", readOnly = true)
 | 
			
		||||
    private JsonNode actionData;
 | 
			
		||||
    @ApiModelProperty(position = 9, value = "string", example = "SUCCESS", allowableValues = "SUCCESS,FAILURE", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 11, value = "String represented Action status", example = "SUCCESS", allowableValues = "SUCCESS,FAILURE", readOnly = true)
 | 
			
		||||
    private ActionStatus actionStatus;
 | 
			
		||||
    @ApiModelProperty(position = 10, value = "Action failure details info", readOnly = true)
 | 
			
		||||
    @ApiModelProperty(position = 12, value = "Failure action details info. An empty string in case of action status type 'SUCCESS', otherwise includes stack trace of the caused exception.", readOnly = true)
 | 
			
		||||
    private String actionFailureDetails;
 | 
			
		||||
 | 
			
		||||
    public AuditLog() {
 | 
			
		||||
@ -70,4 +70,17 @@ public class AuditLog extends BaseData<AuditLogId> {
 | 
			
		||||
        this.actionStatus = auditLog.getActionStatus();
 | 
			
		||||
        this.actionFailureDetails = auditLog.getActionFailureDetails();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(position = 2, value = "Timestamp of the auditLog creation, in milliseconds", example = "1609459200000", readOnly = true)
 | 
			
		||||
    @Override
 | 
			
		||||
    public long getCreatedTime() {
 | 
			
		||||
        return super.getCreatedTime();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(position = 1, value = "JSON object with the auditLog Id")
 | 
			
		||||
    @Override
 | 
			
		||||
    public AuditLogId getId() {
 | 
			
		||||
        return super.getId();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user