mirror of
https://github.com/luxfi/captable.git
synced 2026-10-30 17:01:02 +00:00
Merged from luxfi/transfer into captable for single-library TA engine: - pkg/voting: Proxy voting proposals, vote casting, quorum tracking, results aggregation (board elections, mergers, amendments) - pkg/comms: Investor communications — notices (proxy, dividend, regulatory, K-1), recipient tracking, delivery/read status - pkg/disclosure: Investor disclosures — PPM, subscription agreements, supplements, annual reports. Delivery + acknowledgment tracking. All follow captable's repository pattern (types.go + repository.go + service.go).
30 lines
1.1 KiB
Go
30 lines
1.1 KiB
Go
package disclosure
|
|
|
|
import "time"
|
|
|
|
// Disclosure is an investor disclosure document (PPM, subscription agreement, supplement).
|
|
type Disclosure struct {
|
|
ID string `json:"id"`
|
|
CompanyID string `json:"company_id"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"` // ppm, subscription_agreement, supplement, annual_report
|
|
DocumentURL string `json:"document_url"`
|
|
Recipients []DisclosureRecipient `json:"recipients,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
// DisclosureRecipient tracks delivery and acknowledgment per stakeholder.
|
|
type DisclosureRecipient struct {
|
|
StakeholderID string `json:"stakeholder_id"`
|
|
DeliveredAt *time.Time `json:"delivered_at,omitempty"`
|
|
ViewedAt *time.Time `json:"viewed_at,omitempty"`
|
|
AcknowledgedAt *time.Time `json:"acknowledged_at,omitempty"`
|
|
}
|
|
|
|
// DisclosureFilter for listing disclosures.
|
|
type DisclosureFilter struct {
|
|
CompanyID string `json:"company_id,omitempty"`
|
|
Type string `json:"type,omitempty"`
|
|
StakeholderID string `json:"stakeholder_id,omitempty"`
|
|
}
|