package store import ( "context" "fmt" "time" ) // Account ist ein Mandant (Creator, Agentur, Marke oder Kanzlei als // eigene Organisation). Jeder Beitrag gehört genau einem Account. type Account struct { ID string Name string CreatedAt time.Time } // CreateAccount legt einen neuen Mandanten an. func (s *Store) CreateAccount(ctx context.Context, name string) (Account, error) { var a Account err := s.Pool.QueryRow(ctx, ` INSERT INTO account (name) VALUES ($1) RETURNING id, name, created_at `, name).Scan(&a.ID, &a.Name, &a.CreatedAt) if err != nil { return Account{}, fmt.Errorf("store: create account: %w", err) } return a, nil } // GetAccount liest einen Mandanten anhand seiner ID. func (s *Store) GetAccount(ctx context.Context, id string) (Account, error) { var a Account err := s.Pool.QueryRow(ctx, ` SELECT id, name, created_at FROM account WHERE id = $1 `, id).Scan(&a.ID, &a.Name, &a.CreatedAt) if err != nil { return Account{}, fmt.Errorf("store: get account: %w", err) } return a, nil }