Skip to content
This repository was archived by the owner on Feb 4, 2021. It is now read-only.

Commit 6df9e27

Browse files
committed
Impl InvitationStore
1 parent 26c3c0d commit 6df9e27

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

infra/store/invitation/invitation_store.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
"github.com/pkg/errors"
1111
"github.com/volatiletech/sqlboiler/boil"
12+
"github.com/volatiletech/sqlboiler/queries/qm"
1213

1314
"github.com/ProgrammingLab/prolab-accounts/infra/record"
1415
"github.com/ProgrammingLab/prolab-accounts/infra/store"
@@ -33,11 +34,24 @@ const (
3334
)
3435

3536
func (s *invitationStoreImpl) ListInvitations() ([]*record.Invitation, error) {
36-
panic("not implemented")
37+
mods := []qm.QueryMod{
38+
qm.OrderBy(record.InvitationColumns.CreatedAt),
39+
}
40+
41+
invs, err := record.Invitations(mods...).All(s.ctx, s.db)
42+
if err != nil {
43+
return nil, errors.WithStack(err)
44+
}
45+
46+
return invs, nil
3747
}
3848

3949
func (s *invitationStoreImpl) GetInvitation(id int64) (*record.Invitation, error) {
40-
panic("not implemented")
50+
inv, err := record.FindInvitation(s.ctx, s.db, id)
51+
if err != nil {
52+
return nil, errors.WithStack(err)
53+
}
54+
return inv, nil
4155
}
4256

4357
func (s *invitationStoreImpl) CreateInvitation(inviter model.UserID, email string) (*record.Invitation, error) {
@@ -65,7 +79,8 @@ func (s *invitationStoreImpl) CreateInvitation(inviter model.UserID, email strin
6579
}
6680

6781
func (s *invitationStoreImpl) DeleteInvitation(id int64) error {
68-
panic("not implemented")
82+
_, err := record.Invitations(record.InvitationWhere.ID.EQ(id)).DeleteAll(s.ctx, s.db)
83+
return errors.WithStack(err)
6984
}
7085

7186
func generateInvitationCode() (string, error) {

0 commit comments

Comments
 (0)