up
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/sujit-baniya/fiber-boilerplate/app"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// ClienteDocumento almacena los archivos adjuntos de un cliente.
|
||||
type ClienteDocumento struct {
|
||||
gorm.Model
|
||||
ClienteID uint `json:"cliente_id" gorm:"column:cliente_id;not null;index"`
|
||||
Nombre string `json:"nombre" gorm:"column:nombre"` // nombre descriptivo del doc
|
||||
Archivo string `json:"archivo" gorm:"column:archivo"` // ruta relativa en disco
|
||||
OriginalName string `json:"original_name" gorm:"column:original_name"` // nombre original del archivo
|
||||
TipoMime string `json:"tipo_mime" gorm:"column:tipo_mime"`
|
||||
Tamanio int64 `json:"tamanio" gorm:"column:tamanio"` // bytes
|
||||
FechaExpedicion *time.Time `json:"fecha_expedicion" gorm:"column:fecha_expedicion"` // opcional
|
||||
}
|
||||
|
||||
func (ClienteDocumento) TableName() string { return "cliente_documentos" }
|
||||
|
||||
func GetDocumentosByCliente(clienteID uint) ([]ClienteDocumento, error) {
|
||||
var items []ClienteDocumento
|
||||
err := app.Http.Database.DB.
|
||||
Where("cliente_id = ?", clienteID).
|
||||
Order("created_at DESC").
|
||||
Find(&items).Error
|
||||
return items, err
|
||||
}
|
||||
|
||||
func CreateClienteDocumento(d *ClienteDocumento) error {
|
||||
return app.Http.Database.DB.Create(d).Error
|
||||
}
|
||||
|
||||
func GetClienteDocumentoByID(id uint) (*ClienteDocumento, error) {
|
||||
var d ClienteDocumento
|
||||
if err := app.Http.Database.DB.First(&d, id).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &d, nil
|
||||
}
|
||||
|
||||
func DeleteClienteDocumento(id uint) error {
|
||||
return app.Http.Database.DB.Delete(&ClienteDocumento{}, id).Error
|
||||
}
|
||||
Reference in New Issue
Block a user