This commit is contained in:
Lizandro Guarnizo
2026-05-18 19:17:05 -05:00
parent 4b2003c752
commit 25f21be966
5 changed files with 230 additions and 3 deletions
+36
View File
@@ -276,3 +276,39 @@ func DeleteProyectoEntregable(id uint) error {
func UpdateEntregableVisibilidad(id uint, visible bool) error {
return app.Http.Database.DB.Model(&ProyectoEntregable{}).Where("id = ?", id).Update("visible", visible).Error
}
// ─── ProyectoDocumento (contratos y órdenes de servicio) ──────────────────────
type ProyectoDocumento struct {
gorm.Model
ProyectoID uint `json:"proyecto_id" gorm:"column:proyecto_id;index"`
Tipo string `json:"tipo" gorm:"column:tipo;default:'contrato'"` // contrato|orden_servicio|otro
Nombre string `json:"nombre" gorm:"column:nombre"`
Descripcion string `json:"descripcion" gorm:"column:descripcion;type:text"`
Archivo string `json:"archivo" gorm:"column:archivo"`
OriginalName string `json:"original_name" gorm:"column:original_name"`
TipoMime string `json:"tipo_mime" gorm:"column:tipo_mime"`
Tamanio int64 `json:"tamanio" gorm:"column:tamanio"`
}
func (ProyectoDocumento) TableName() string { return "proyecto_documentos" }
func GetDocumentosByProyecto(proyectoID uint) ([]ProyectoDocumento, error) {
var items []ProyectoDocumento
err := app.Http.Database.DB.Where("proyecto_id = ?", proyectoID).Order("created_at DESC").Find(&items).Error
return items, err
}
func CreateProyectoDocumento(d *ProyectoDocumento) error {
return app.Http.Database.DB.Create(d).Error
}
func GetProyectoDocumentoByID(id uint) (*ProyectoDocumento, error) {
var item ProyectoDocumento
err := app.Http.Database.DB.First(&item, id).Error
return &item, err
}
func DeleteProyectoDocumento(id uint) error {
return app.Http.Database.DB.Delete(&ProyectoDocumento{}, id).Error
}