hit-server-manager/backend/src/main/java/com/hitcommunications/servermanager/model/Servers.java

71 lines
1.7 KiB
Java
Raw Normal View History

package com.hitcommunications.servermanager.model;
import java.sql.Timestamp;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
import com.hitcommunications.servermanager.model.enums.Applications;
import com.hitcommunications.servermanager.model.enums.DatabaseType;
import com.hitcommunications.servermanager.model.enums.ServersType;
import com.hitcommunications.servermanager.utils.ServerIdGenerator;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Entity
@Table(name = "tab_servers")
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@Builder
public class Servers {
@Id
@ServerIdGenerator
@Column(nullable = false, unique = true)
private String id;
@Column(nullable = false)
private String name;
@Column(nullable = false, columnDefinition = "VARCHAR(45)")
private String ip;
@Column(nullable = false)
private Integer port;
@Column(nullable = false, name = "username")
private String user;
@Column(nullable = false)
private String password;
@Column(nullable = false)
@Enumerated(EnumType.STRING)
private ServersType type;
@Column(nullable = false)
@Enumerated(EnumType.STRING)
private Applications application;
@Column(nullable = false)
@Enumerated(EnumType.STRING)
private DatabaseType dbType;
@CreationTimestamp
private Timestamp createdAt;
@UpdateTimestamp
private Timestamp updatedAt;
}