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).
16 lines
556 B
Go
16 lines
556 B
Go
package voting
|
|
|
|
import "context"
|
|
|
|
// Repository is the storage interface for voting.
|
|
type Repository interface {
|
|
CreateProposal(ctx context.Context, p *Proposal) error
|
|
GetProposal(ctx context.Context, id string) (*Proposal, error)
|
|
ListProposals(ctx context.Context, filter ProposalFilter) ([]*Proposal, error)
|
|
UpdateProposal(ctx context.Context, p *Proposal) error
|
|
|
|
CastVote(ctx context.Context, v *Vote) error
|
|
ListVotes(ctx context.Context, proposalID string) ([]*Vote, error)
|
|
GetResults(ctx context.Context, proposalID string) (*Results, error)
|
|
}
|