Configure Maven repository for unionflow-server-api dependency

This commit is contained in:
dahoud
2025-12-10 01:08:17 +00:00
commit 4a0c5f9d33
320 changed files with 33373 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
package dev.lions.unionflow.server.entity;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* Entité ConfigurationWave pour la configuration de l'intégration Wave
*
* @author UnionFlow Team
* @version 3.0
* @since 2025-01-29
*/
@Entity
@Table(
name = "configurations_wave",
indexes = {
@Index(name = "idx_config_wave_cle", columnList = "cle", unique = true)
})
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class ConfigurationWave extends BaseEntity {
/** Clé de configuration */
@NotBlank
@Column(name = "cle", unique = true, nullable = false, length = 100)
private String cle;
/** Valeur de configuration (peut être encryptée) */
@Column(name = "valeur", columnDefinition = "TEXT")
private String valeur;
/** Description de la configuration */
@Column(name = "description", length = 500)
private String description;
/** Type de valeur (STRING, NUMBER, BOOLEAN, JSON, ENCRYPTED) */
@Column(name = "type_valeur", length = 20)
private String typeValeur;
/** Environnement (SANDBOX, PRODUCTION, COMMON) */
@Column(name = "environnement", length = 20)
private String environnement;
/** Méthode métier pour vérifier si la valeur est encryptée */
public boolean isEncryptee() {
return "ENCRYPTED".equals(typeValeur);
}
/** Callback JPA avant la persistance */
@PrePersist
protected void onCreate() {
super.onCreate();
if (typeValeur == null || typeValeur.isEmpty()) {
typeValeur = "STRING";
}
if (environnement == null || environnement.isEmpty()) {
environnement = "COMMON";
}
}
}