123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- package store
- import (
- "context"
- )
- // Visibility is the type of a visibility.
- type Visibility string
- const (
- // Public is the PUBLIC visibility.
- Public Visibility = "PUBLIC"
- // Protected is the PROTECTED visibility.
- Protected Visibility = "PROTECTED"
- // Private is the PRIVATE visibility.
- Private Visibility = "PRIVATE"
- )
- func (v Visibility) String() string {
- switch v {
- case Public:
- return "PUBLIC"
- case Protected:
- return "PROTECTED"
- case Private:
- return "PRIVATE"
- }
- return "PRIVATE"
- }
- type Memo struct {
- ID int32
- // Standard fields
- RowStatus RowStatus
- CreatorID int32
- CreatedTs int64
- UpdatedTs int64
- // Domain specific fields
- Content string
- Visibility Visibility
- // Composed fields
- // For those comment memos, the parent ID is the memo ID of the memo being commented.
- // If the parent ID is nil, then this memo is not a comment.
- ParentID *int32
- Pinned bool
- ResourceIDList []int32
- RelationList []*MemoRelation
- }
- type FindMemo struct {
- ID *int32
- // Standard fields
- RowStatus *RowStatus
- CreatorID *int32
- CreatedTsAfter *int64
- CreatedTsBefore *int64
- // Domain specific fields
- Pinned *bool
- ContentSearch []string
- VisibilityList []Visibility
- // Pagination
- Limit *int
- Offset *int
- OrderByUpdatedTs bool
- }
- type UpdateMemo struct {
- ID int32
- CreatedTs *int64
- UpdatedTs *int64
- RowStatus *RowStatus
- Content *string
- Visibility *Visibility
- }
- type DeleteMemo struct {
- ID int32
- }
- func (s *Store) CreateMemo(ctx context.Context, create *Memo) (*Memo, error) {
- return s.driver.CreateMemo(ctx, create)
- }
- func (s *Store) ListMemos(ctx context.Context, find *FindMemo) ([]*Memo, error) {
- return s.driver.ListMemos(ctx, find)
- }
- func (s *Store) GetMemo(ctx context.Context, find *FindMemo) (*Memo, error) {
- list, err := s.ListMemos(ctx, find)
- if err != nil {
- return nil, err
- }
- if len(list) == 0 {
- return nil, nil
- }
- memo := list[0]
- return memo, nil
- }
- func (s *Store) UpdateMemo(ctx context.Context, update *UpdateMemo) error {
- return s.driver.UpdateMemo(ctx, update)
- }
- func (s *Store) DeleteMemo(ctx context.Context, delete *DeleteMemo) error {
- return s.driver.DeleteMemo(ctx, delete)
- }
- func (s *Store) FindMemosVisibilityList(ctx context.Context, memoIDs []int32) ([]Visibility, error) {
- return s.driver.FindMemosVisibilityList(ctx, memoIDs)
- }
|