models

package
v0.41.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuditLog added in v0.8.0

type AuditLog struct {
	ID            int       `json:"id"`
	CompanyID     int       `json:"company_id"`
	UserID        *int      `json:"user_id,omitempty"`
	Action        string    `json:"action"`
	EntityType    string    `json:"entity_type"`
	EntityID      *int      `json:"entity_id,omitempty"`
	PreviousState *string   `json:"previous_state,omitempty"`
	NewState      *string   `json:"new_state,omitempty"`
	IPAddress     *string   `json:"ip_address,omitempty"`
	CreatedAt     time.Time `json:"created_at"`
}

type Client

type Client struct {
	ID        int       `json:"id"`
	CompanyID int       `json:"company_id"`
	Name      string    `json:"name"`
	Address   *string   `json:"address,omitempty"`
	REUCode   *string   `json:"reu_code,omitempty"`
	Contacts  *string   `json:"contacts,omitempty"`
	CreatedBy *int      `json:"created_by,omitempty"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

type Company added in v0.16.0

type Company struct {
	ID          int       `json:"id"`
	Name        string    `json:"name"`
	Address     *string   `json:"address,omitempty"`
	TaxID       *string   `json:"tax_id,omitempty"`
	CompanyType string    `json:"company_type"`
	ParentID    *int      `json:"parent_id,omitempty"`
	ParentName  *string   `json:"parent_name,omitempty"`
	CreatedBy   *int      `json:"created_by,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}

type Contract

type Contract struct {
	ID               int       `json:"id"`
	CompanyID        int       `json:"company_id"`
	InternalID       string    `json:"internal_id"`
	ContractNumber   string    `json:"contract_number"`
	Title            string    `json:"title"`
	ClientID         int       `json:"client_id"`
	SupplierID       int       `json:"supplier_id"`
	ClientSignerID   *int      `json:"client_signer_id,omitempty"`
	SupplierSignerID *int      `json:"supplier_signer_id,omitempty"`
	StartDate        string    `json:"start_date"`
	EndDate          string    `json:"end_date"`
	Amount           float64   `json:"amount"`
	Type             string    `json:"type"`
	Status           string    `json:"status"`
	Description      *string   `json:"description,omitempty"`
	CreatedBy        *int      `json:"created_by,omitempty"`
	CreatedAt        time.Time `json:"created_at"`
	UpdatedAt        time.Time `json:"updated_at"`
}

type ContractExpirySettings added in v0.37.0

type ContractExpirySettings struct {
	ID             int64    `json:"id"`
	Enabled        bool     `json:"enabled"`
	FrequencyHours int      `json:"frequency_hours"`
	ThresholdsDays IntArray `json:"thresholds_days"`
	UpdatedBy      *int64   `json:"updated_by,omitempty"`
	UpdatedAt      string   `json:"updated_at,omitempty"`
}

type DashboardStats

type DashboardStats struct {
	TotalContracts   int            `json:"total_contracts"`
	ActiveContracts  int            `json:"active_contracts"`
	ExpiringSoon     int            `json:"expiring_soon"`
	ExpiredContracts int            `json:"expired_contracts"`
	TotalValue       float64        `json:"total_value"`
	ByStatus         map[string]int `json:"by_status"`
}

type IntArray added in v0.37.0

type IntArray []int

IntArray is a custom type for storing []int as JSON in SQLite

func (*IntArray) Scan added in v0.37.0

func (a *IntArray) Scan(value interface{}) error

Scan implements sql.Scanner interface

func (IntArray) Value added in v0.37.0

func (a IntArray) Value() (driver.Value, error)

Value implements driver.Valuer interface

type Signer added in v0.7.0

type Signer struct {
	ID          int       `json:"id"`
	CompanyID   int       `json:"company_id"`
	CompanyType string    `json:"company_type"`
	FirstName   string    `json:"first_name"`
	LastName    string    `json:"last_name"`
	Position    *string   `json:"position,omitempty"`
	Phone       *string   `json:"phone,omitempty"`
	Email       *string   `json:"email,omitempty"`
	CreatedBy   *int      `json:"created_by,omitempty"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}

type Supplement added in v0.9.0

type Supplement struct {
	ID               int       `json:"id"`
	CompanyID        int       `json:"company_id"`
	InternalID       string    `json:"internal_id"`
	ContractID       int       `json:"contract_id"`
	SupplementNumber string    `json:"supplement_number"`
	Description      *string   `json:"description,omitempty"`
	EffectiveDate    string    `json:"effective_date"`
	Modifications    *string   `json:"modifications,omitempty"`
	Status           string    `json:"status"`
	ClientSignerID   *int      `json:"client_signer_id,omitempty"`
	SupplierSignerID *int      `json:"supplier_signer_id,omitempty"`
	CreatedBy        *int      `json:"created_by,omitempty"`
	CreatedAt        time.Time `json:"created_at"`
	UpdatedAt        time.Time `json:"updated_at"`
}

type Supplier

type Supplier struct {
	ID        int       `json:"id"`
	CompanyID int       `json:"company_id"`
	Name      string    `json:"name"`
	Address   *string   `json:"address,omitempty"`
	REUCode   *string   `json:"reu_code,omitempty"`
	Contacts  *string   `json:"contacts,omitempty"`
	CreatedBy *int      `json:"created_by,omitempty"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

type SystemSetting added in v0.34.0

type SystemSetting struct {
	ID        int       `json:"id"`
	Key       string    `json:"key"`
	Value     *string   `json:"value,omitempty"`
	Category  string    `json:"category"`
	UpdatedBy *int      `json:"updated_by,omitempty"`
	UpdatedAt time.Time `json:"updated_at"`
}

type User

type User struct {
	ID                  int        `json:"id"`
	Name                string     `json:"name"`
	Email               string     `json:"email"`
	PasswordHash        string     `json:"-"`
	Role                string     `json:"role"`
	Status              string     `json:"status"`
	CompanyID           *int       `json:"company_id,omitempty"`
	LastAccess          *time.Time `json:"last_access,omitempty"`
	CreatedAt           time.Time  `json:"created_at"`
	UpdatedAt           time.Time  `json:"updated_at"`
	DigitalSignatureURL *string    `json:"digital_signature_url,omitempty"`
	DigitalSignatureKey *string    `json:"digital_signature_key,omitempty"`
	PublicCertURL       *string    `json:"public_cert_url,omitempty"`
	PublicCertKey       *string    `json:"public_cert_key,omitempty"`
}

type UserCompany added in v0.16.0

type UserCompany struct {
	UserID      int    `json:"user_id"`
	CompanyID   int    `json:"company_id"`
	CompanyName string `json:"company_name"`
	IsDefault   bool   `json:"is_default"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL