197 lines
4.4 KiB
Plaintext
197 lines
4.4 KiB
Plaintext
|
|
||
|
|
||
|
DEFAULT_MIN_LENGTH = 1
|
||
|
DEFAULT_MAX_LENGTH = 999
|
||
|
|
||
|
ENCUESTA_MAX_NOMBRE = 50
|
||
|
ENCUESTA_MIN_NOMBRE = 1
|
||
|
PREGUNTA_MAX_NOMBRE = 500
|
||
|
PREGUNTA_MIN_NOMBRE = 1
|
||
|
|
||
|
// ENUMS
|
||
|
enum EstadoUsuario {
|
||
|
ACTIVE, SUSPENDED
|
||
|
}
|
||
|
|
||
|
enum PreguntaCerradaTipo {
|
||
|
SINGLE, MULTIPLE
|
||
|
}
|
||
|
|
||
|
enum EstadoEncuesta {
|
||
|
DRAFT, ACTIVE, FINISHED, DELETED
|
||
|
}
|
||
|
|
||
|
enum EstadoPlantilla {
|
||
|
DRAFT, ACTIVE, DELETED, DISABLED
|
||
|
}
|
||
|
|
||
|
enum RolColaborador {
|
||
|
READ, WRITE
|
||
|
}
|
||
|
|
||
|
enum EstadoColaborador {
|
||
|
PENDING, ACTIVE
|
||
|
}
|
||
|
|
||
|
enum EstadoCategoria {
|
||
|
ACTIVE, INACTIVE
|
||
|
}
|
||
|
|
||
|
enum AccesoEncuesta {
|
||
|
PUBLIC, PRIVATE
|
||
|
}
|
||
|
|
||
|
// ENTITIES
|
||
|
entity ParametroAplicacion {
|
||
|
maxDiasEncuesta Integer required,
|
||
|
minDiasEncuesta Integer required,
|
||
|
maxCantidadPreguntas Integer required,
|
||
|
minCantidadPreguntas Integer required
|
||
|
}
|
||
|
|
||
|
entity UsuarioExtra {
|
||
|
nombre String required,
|
||
|
iconoPerfil String,
|
||
|
fechaNacimiento ZonedDateTime,
|
||
|
estado EstadoUsuario required,
|
||
|
// JHI_USER
|
||
|
}
|
||
|
|
||
|
// ENCUESTA
|
||
|
entity Encuesta {
|
||
|
nombre String required maxlength(ENCUESTA_MAX_NOMBRE) minlength(ENCUESTA_MIN_NOMBRE),
|
||
|
descripcion String,
|
||
|
fechaCreacion ZonedDateTime required,
|
||
|
fechaPublicacion ZonedDateTime,
|
||
|
fechaFinalizar ZonedDateTime,
|
||
|
fechaFinalizada ZonedDateTime,
|
||
|
calificacion Double required,
|
||
|
acceso AccesoEncuesta required,
|
||
|
contrasenna String,
|
||
|
estado EstadoEncuesta required
|
||
|
// ID_CATEGORIA
|
||
|
}
|
||
|
|
||
|
entity EPreguntaAbierta {
|
||
|
nombre String required maxlength(PREGUNTA_MAX_NOMBRE) minlength(PREGUNTA_MIN_NOMBRE),
|
||
|
opcional Boolean required,
|
||
|
orden Integer required
|
||
|
// ID_ENCUESTA
|
||
|
}
|
||
|
|
||
|
entity EPreguntaAbiertaRespuesta {
|
||
|
respuesta String required
|
||
|
// ID_ENCUESTA_PREGUNTA_ABIERTA
|
||
|
}
|
||
|
|
||
|
entity EPreguntaCerrada {
|
||
|
nombre String required maxlength(PREGUNTA_MAX_NOMBRE) minlength(PREGUNTA_MIN_NOMBRE),
|
||
|
tipo PreguntaCerradaTipo required
|
||
|
opcional Boolean required,
|
||
|
orden Integer required
|
||
|
// ID_ENCUESTA
|
||
|
}
|
||
|
|
||
|
entity EPreguntaCerradaOpcion {
|
||
|
nombre String required maxlength(PREGUNTA_MAX_NOMBRE) minlength(PREGUNTA_MIN_NOMBRE),
|
||
|
orden Integer required,
|
||
|
cantidad Integer required
|
||
|
// ID_ENCUESTA_PREGUNTA_CERRADA
|
||
|
}
|
||
|
|
||
|
entity UsuarioEncuesta {
|
||
|
rol RolColaborador required,
|
||
|
estado EstadoColaborador required,
|
||
|
fechaAgregado ZonedDateTime required
|
||
|
}
|
||
|
// -----------------------------------------
|
||
|
|
||
|
entity Categoria {
|
||
|
nombre String required
|
||
|
estado EstadoCategoria required
|
||
|
}
|
||
|
|
||
|
entity Factura {
|
||
|
nombreUsuario String required,
|
||
|
nombrePlantilla String required,
|
||
|
costo Double required,
|
||
|
fecha ZonedDateTime required,
|
||
|
// ID_USUARIO_EXTRA
|
||
|
}
|
||
|
|
||
|
// PLANTILLAS
|
||
|
entity Plantilla {
|
||
|
nombre String maxlength(ENCUESTA_MAX_NOMBRE) minlength(ENCUESTA_MIN_NOMBRE),
|
||
|
descripcion String,
|
||
|
fechaCreacion ZonedDateTime required,
|
||
|
fechaPublicacionTienda ZonedDateTime,
|
||
|
estado EstadoPlantilla required,
|
||
|
precio Double required
|
||
|
// ID_CATEGORIA
|
||
|
}
|
||
|
|
||
|
entity PPreguntaAbierta {
|
||
|
nombre String required maxlength(PREGUNTA_MAX_NOMBRE) minlength(PREGUNTA_MIN_NOMBRE),
|
||
|
opcional Boolean required,
|
||
|
orden Integer required
|
||
|
// ID_PLANTILLA
|
||
|
}
|
||
|
|
||
|
entity PPreguntaCerrada {
|
||
|
nombre String required maxlength(PREGUNTA_MAX_NOMBRE) minlength(PREGUNTA_MIN_NOMBRE),
|
||
|
tipo PreguntaCerradaTipo required,
|
||
|
opcional Boolean required,
|
||
|
orden Integer required
|
||
|
// ID_PLANTILLA
|
||
|
}
|
||
|
|
||
|
entity PPreguntaCerradaOpcion {
|
||
|
nombre String required maxlength(PREGUNTA_MAX_NOMBRE) minlength(PREGUNTA_MIN_NOMBRE),
|
||
|
orden Integer required
|
||
|
// ID_PLANTILLA_PREGUNTA_CERRADA
|
||
|
}
|
||
|
// -----------------------------------------
|
||
|
|
||
|
// Filters
|
||
|
filter ParametroAplicacion, UsuarioExtra, Encuesta, EPreguntaAbierta, EPreguntaAbiertaRespuesta
|
||
|
filter EPreguntaCerrada, EPreguntaCerradaOpcion, UsuarioEncuesta, Categoria, Factura
|
||
|
filter Plantilla, PPreguntaAbierta, PPreguntaCerrada, PPreguntaCerradaOpcion
|
||
|
|
||
|
// Relationship between UsuarioExtra and default User table to extend fields
|
||
|
relationship OneToOne {
|
||
|
UsuarioExtra to User
|
||
|
}
|
||
|
|
||
|
// UsuarioExtra
|
||
|
relationship OneToMany {
|
||
|
Categoria to Encuesta{categoria(nombre)}
|
||
|
Categoria to Plantilla{categoria(nombre)}
|
||
|
|
||
|
// Encuesta
|
||
|
UsuarioExtra to Encuesta
|
||
|
UsuarioExtra to UsuarioEncuesta
|
||
|
Encuesta to UsuarioEncuesta
|
||
|
|
||
|
Encuesta to EPreguntaAbierta
|
||
|
Encuesta to EPreguntaCerrada
|
||
|
|
||
|
EPreguntaAbierta to EPreguntaAbiertaRespuesta
|
||
|
EPreguntaCerrada to EPreguntaCerradaOpcion
|
||
|
|
||
|
// Plantilla
|
||
|
Plantilla to PPreguntaCerrada
|
||
|
Plantilla to PPreguntaAbierta
|
||
|
|
||
|
PPreguntaCerrada to PPreguntaCerradaOpcion
|
||
|
}
|
||
|
|
||
|
relationship ManyToMany {
|
||
|
UsuarioExtra to Plantilla
|
||
|
}
|
||
|
// -----------------------------------------
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|