package com.smartoffice.common; import java.time.Instant; public class ApiResponse { private int code; private String message; private T data; private Instant timestamp; public ApiResponse() { } public ApiResponse(int code, String message, T data) { this.code = code; this.message = message; this.data = data; this.timestamp = Instant.now(); } public static ApiResponse ok(T data) { return new ApiResponse<>(200, "OK", data); } public static ApiResponse created(T data) { return new ApiResponse<>(201, "Created", data); } public static ApiResponse error(int code, String message) { return new ApiResponse<>(code, message, null); } public int getCode() { return code; } public String getMessage() { return message; } public T getData() { return data; } public Instant getTimestamp() { return timestamp; } }