You've already forked openaccounting-server
forked from cybercinch/openaccounting-server
feat: add attachment model type definitions
- Add core attachment type with metadata fields for transaction files - Add GORM model for attachment with proper relationships - Include file information, upload timestamps, and soft deletion support 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
20
core/model/types/attachment.go
Normal file
20
core/model/types/attachment.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package types
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type Attachment struct {
|
||||
Id string `json:"id"`
|
||||
TransactionId string `json:"transactionId"`
|
||||
OrgId string `json:"orgId"`
|
||||
UserId string `json:"userId"`
|
||||
FileName string `json:"fileName"`
|
||||
OriginalName string `json:"originalName"`
|
||||
ContentType string `json:"contentType"`
|
||||
FileSize int64 `json:"fileSize"`
|
||||
FilePath string `json:"filePath"`
|
||||
Description string `json:"description"`
|
||||
Uploaded time.Time `json:"uploaded"`
|
||||
Deleted bool `json:"deleted"`
|
||||
}
|
||||
28
models/attachment.go
Normal file
28
models/attachment.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type Attachment struct {
|
||||
ID []byte `gorm:"type:BINARY(16);primaryKey"`
|
||||
TransactionID []byte `gorm:"column:transactionId;type:BINARY(16);not null"`
|
||||
OrgID []byte `gorm:"column:orgId;type:BINARY(16);not null"`
|
||||
UserID []byte `gorm:"column:userId;type:BINARY(16);not null"`
|
||||
FileName string `gorm:"column:fileName;size:255;not null"`
|
||||
OriginalName string `gorm:"column:originalName;size:255;not null"`
|
||||
ContentType string `gorm:"column:contentType;size:100;not null"`
|
||||
FileSize int64 `gorm:"column:fileSize;not null"`
|
||||
FilePath string `gorm:"column:filePath;size:500;not null"`
|
||||
Description string `gorm:"column:description;size:500"`
|
||||
Uploaded time.Time `gorm:"column:uploaded;not null"`
|
||||
Deleted bool `gorm:"column:deleted;default:false"`
|
||||
|
||||
Transaction Transaction `gorm:"foreignKey:TransactionID"`
|
||||
Org Org `gorm:"foreignKey:OrgID"`
|
||||
User User `gorm:"foreignKey:UserID"`
|
||||
}
|
||||
|
||||
func (Attachment) TableName() string {
|
||||
return "attachment"
|
||||
}
|
||||
Reference in New Issue
Block a user