Add Reminder type
This commit is contained in:
parent
33ad6c878b
commit
4dbd8bea88
@ -81,12 +81,14 @@ function types {
|
||||
./build/gen-type-set --types Role --output system/types/role.gen.go
|
||||
./build/gen-type-set --types Organisation --output system/types/organisation.gen.go
|
||||
./build/gen-type-set --types Credentials --output system/types/credentials.gen.go
|
||||
./build/gen-type-set --types Reminder --output system/types/reminder.gen.go
|
||||
|
||||
./build/gen-type-set-test --types User --output system/types/user.gen_test.go
|
||||
./build/gen-type-set-test --types Application --output system/types/application.gen_test.go
|
||||
./build/gen-type-set-test --types Role --output system/types/role.gen_test.go
|
||||
./build/gen-type-set-test --types Organisation --output system/types/organisation.gen_test.go
|
||||
./build/gen-type-set-test --types Credentials --output system/types/credentials.gen_test.go
|
||||
./build/gen-type-set-test --types Reminder --output system/types/reminder.gen_test.go
|
||||
|
||||
./build/gen-type-set --types Value --output internal/settings/types.gen.go --with-primary-key=false --package settings
|
||||
./build/gen-type-set-test --types Value --output internal/settings/types.gen_test.go --with-primary-key=false --package settings
|
||||
|
||||
67
system/types/reminder.gen.go
Normal file
67
system/types/reminder.gen.go
Normal file
@ -0,0 +1,67 @@
|
||||
package types
|
||||
|
||||
// Hello! This file is auto-generated.
|
||||
|
||||
type (
|
||||
|
||||
// ReminderSet slice of Reminder
|
||||
//
|
||||
// This type is auto-generated.
|
||||
ReminderSet []*Reminder
|
||||
)
|
||||
|
||||
// Walk iterates through every slice item and calls w(Reminder) err
|
||||
//
|
||||
// This function is auto-generated.
|
||||
func (set ReminderSet) Walk(w func(*Reminder) error) (err error) {
|
||||
for i := range set {
|
||||
if err = w(set[i]); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// Filter iterates through every slice item, calls f(Reminder) (bool, err) and return filtered slice
|
||||
//
|
||||
// This function is auto-generated.
|
||||
func (set ReminderSet) Filter(f func(*Reminder) (bool, error)) (out ReminderSet, err error) {
|
||||
var ok bool
|
||||
out = ReminderSet{}
|
||||
for i := range set {
|
||||
if ok, err = f(set[i]); err != nil {
|
||||
return
|
||||
} else if ok {
|
||||
out = append(out, set[i])
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// FindByID finds items from slice by its ID property
|
||||
//
|
||||
// This function is auto-generated.
|
||||
func (set ReminderSet) FindByID(ID uint64) *Reminder {
|
||||
for i := range set {
|
||||
if set[i].ID == ID {
|
||||
return set[i]
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// IDs returns a slice of uint64s from all items in the set
|
||||
//
|
||||
// This function is auto-generated.
|
||||
func (set ReminderSet) IDs() (IDs []uint64) {
|
||||
IDs = make([]uint64, len(set))
|
||||
|
||||
for i := range set {
|
||||
IDs[i] = set[i].ID
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
91
system/types/reminder.gen_test.go
Normal file
91
system/types/reminder.gen_test.go
Normal file
@ -0,0 +1,91 @@
|
||||
package types
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"errors"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/internal/test"
|
||||
)
|
||||
|
||||
// Hello! This file is auto-generated.
|
||||
|
||||
func TestReminderSetWalk(t *testing.T) {
|
||||
value := make(ReminderSet, 3)
|
||||
|
||||
// check walk with no errors
|
||||
{
|
||||
err := value.Walk(func(*Reminder) error {
|
||||
return nil
|
||||
})
|
||||
test.NoError(t, err, "Expected no returned error from Walk, got %+v", err)
|
||||
}
|
||||
|
||||
// check walk with error
|
||||
test.Error(t, value.Walk(func(*Reminder) error { return errors.New("Walk error") }), "Expected error from walk, got nil")
|
||||
}
|
||||
|
||||
func TestReminderSetFilter(t *testing.T) {
|
||||
value := make(ReminderSet, 3)
|
||||
|
||||
// filter nothing
|
||||
{
|
||||
set, err := value.Filter(func(*Reminder) (bool, error) {
|
||||
return true, nil
|
||||
})
|
||||
test.NoError(t, err, "Didn't expect error when filtering set: %+v", err)
|
||||
test.Assert(t, len(set) == len(value), "Expected equal length filter: %d != %d", len(value), len(set))
|
||||
}
|
||||
|
||||
// filter one item
|
||||
{
|
||||
found := false
|
||||
set, err := value.Filter(func(*Reminder) (bool, error) {
|
||||
if !found {
|
||||
found = true
|
||||
return found, nil
|
||||
}
|
||||
return false, nil
|
||||
})
|
||||
test.NoError(t, err, "Didn't expect error when filtering set: %+v", err)
|
||||
test.Assert(t, len(set) == 1, "Expected single item, got %d", len(value))
|
||||
}
|
||||
|
||||
// filter error
|
||||
{
|
||||
_, err := value.Filter(func(*Reminder) (bool, error) {
|
||||
return false, errors.New("Filter error")
|
||||
})
|
||||
test.Error(t, err, "Expected error, got %#v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestReminderSetIDs(t *testing.T) {
|
||||
value := make(ReminderSet, 3)
|
||||
// construct objects
|
||||
value[0] = new(Reminder)
|
||||
value[1] = new(Reminder)
|
||||
value[2] = new(Reminder)
|
||||
// set ids
|
||||
value[0].ID = 1
|
||||
value[1].ID = 2
|
||||
value[2].ID = 3
|
||||
|
||||
// Find existing
|
||||
{
|
||||
val := value.FindByID(2)
|
||||
test.Assert(t, val.ID == 2, "Expected ID 2, got %d", val.ID)
|
||||
}
|
||||
|
||||
// Find non-existing
|
||||
{
|
||||
val := value.FindByID(4)
|
||||
test.Assert(t, val == nil, "Expected no value, got %#v", val)
|
||||
}
|
||||
|
||||
// List IDs from set
|
||||
{
|
||||
val := value.IDs()
|
||||
test.Assert(t, len(val) == len(value), "Expected ID count mismatch, %d != %d", len(val), len(value))
|
||||
}
|
||||
}
|
||||
36
system/types/reminder.go
Normal file
36
system/types/reminder.go
Normal file
@ -0,0 +1,36 @@
|
||||
package types
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/jmoiron/sqlx/types"
|
||||
)
|
||||
|
||||
type (
|
||||
Reminder struct {
|
||||
ID uint64 `json:"notificationID,string" db:"id"`
|
||||
Resource string `json:"resource" db:"resource"`
|
||||
Payload types.JSONText `json:"payload" db:"payload"`
|
||||
SnoozeCount uint `json:"snoozeCount" db:"snooze_count"`
|
||||
|
||||
AssignedTo uint64 `json:"assignedTo,string" db:"assigned_to"`
|
||||
AssignedBy uint64 `json:"assignedBy,string" db:"assigned_by"`
|
||||
AssignedAt time.Time `json:"assignedAt" db:"assigned_at"`
|
||||
|
||||
DismissedBy uint64 `json:"dismissedBy,string" db:"dismissed_by"`
|
||||
DismissedAt time.Time `json:"dismissedAt" db:"dismissed_at"`
|
||||
|
||||
RemindAt time.Time `json:"remindAt" db:"remind_at"`
|
||||
|
||||
CreatedAt time.Time `json:"createdAt,omitempty" db:"created_at"`
|
||||
UpdatedAt *time.Time `json:"updatedAt,omitempty" db:"updated_at"`
|
||||
DeletedAt *time.Time `json:"deletedAt,omitempty" db:"deleted_at"`
|
||||
}
|
||||
|
||||
ReminderFilter struct {
|
||||
Resource string `json:"resource"`
|
||||
AssignedTo uint64 `json:"assignedTo,uint64"`
|
||||
Page uint `json:"page,uint"`
|
||||
PerPage uint `json:"perPage,uint"`
|
||||
}
|
||||
)
|
||||
Loading…
x
Reference in New Issue
Block a user