Allow reminders without remindAt
This commit is contained in:
@@ -1685,8 +1685,8 @@
|
||||
{
|
||||
"name": "remindAt",
|
||||
"title": "Remind At",
|
||||
"type": "time.Time",
|
||||
"required": true
|
||||
"type": "*time.Time",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1727,8 +1727,8 @@
|
||||
{
|
||||
"name": "remindAt",
|
||||
"title": "Remind At",
|
||||
"type": "time.Time",
|
||||
"required": true
|
||||
"type": "*time.Time",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1797,7 +1797,7 @@
|
||||
],
|
||||
"post": [
|
||||
{
|
||||
"type": "time.Time",
|
||||
"type": "*time.Time",
|
||||
"name": "remindAt",
|
||||
"required": true,
|
||||
"title": "New Remind At Time"
|
||||
|
||||
@@ -90,9 +90,9 @@
|
||||
},
|
||||
{
|
||||
"name": "remindAt",
|
||||
"required": true,
|
||||
"required": false,
|
||||
"title": "Remind At",
|
||||
"type": "time.Time"
|
||||
"type": "*time.Time"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -132,9 +132,9 @@
|
||||
},
|
||||
{
|
||||
"name": "remindAt",
|
||||
"required": true,
|
||||
"required": false,
|
||||
"title": "Remind At",
|
||||
"type": "time.Time"
|
||||
"type": "*time.Time"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -206,7 +206,7 @@
|
||||
"name": "remindAt",
|
||||
"required": true,
|
||||
"title": "New Remind At Time",
|
||||
"type": "time.Time"
|
||||
"type": "*time.Time"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -735,7 +735,7 @@ Organisations represent a top-level grouping entity. There may be many organisat
|
||||
| resource | string | POST | Resource | N/A | YES |
|
||||
| assignedTo | uint64 | POST | Assigned To | N/A | YES |
|
||||
| payload | sqlxTypes.JSONText | POST | Payload | N/A | YES |
|
||||
| remindAt | time.Time | POST | Remind At | N/A | YES |
|
||||
| remindAt | *time.Time | POST | Remind At | N/A | NO |
|
||||
|
||||
## Update reminder
|
||||
|
||||
@@ -753,7 +753,7 @@ Organisations represent a top-level grouping entity. There may be many organisat
|
||||
| resource | string | POST | Resource | N/A | YES |
|
||||
| assignedTo | uint64 | POST | Assigned To | N/A | YES |
|
||||
| payload | sqlxTypes.JSONText | POST | Payload | N/A | YES |
|
||||
| remindAt | time.Time | POST | Remind At | N/A | YES |
|
||||
| remindAt | *time.Time | POST | Remind At | N/A | NO |
|
||||
|
||||
## Read reminder by ID
|
||||
|
||||
@@ -810,7 +810,7 @@ Organisations represent a top-level grouping entity. There may be many organisat
|
||||
| Parameter | Type | Method | Description | Default | Required? |
|
||||
| --------- | ---- | ------ | ----------- | ------- | --------- |
|
||||
| reminderID | uint64 | PATH | reminder ID | N/A | YES |
|
||||
| remindAt | time.Time | POST | New Remind At Time | N/A | YES |
|
||||
| remindAt | *time.Time | POST | New Remind At Time | N/A | YES |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ type ReminderCreate struct {
|
||||
Resource string
|
||||
AssignedTo uint64 `json:",string"`
|
||||
Payload sqlxTypes.JSONText
|
||||
RemindAt time.Time
|
||||
RemindAt *time.Time
|
||||
}
|
||||
|
||||
func NewReminderCreate() *ReminderCreate {
|
||||
@@ -182,7 +182,7 @@ func (r *ReminderCreate) Fill(req *http.Request) (err error) {
|
||||
}
|
||||
if val, ok := post["remindAt"]; ok {
|
||||
|
||||
if r.RemindAt, err = parseISODateWithErr(val); err != nil {
|
||||
if r.RemindAt, err = parseISODatePtrWithErr(val); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -198,7 +198,7 @@ type ReminderUpdate struct {
|
||||
Resource string
|
||||
AssignedTo uint64 `json:",string"`
|
||||
Payload sqlxTypes.JSONText
|
||||
RemindAt time.Time
|
||||
RemindAt *time.Time
|
||||
}
|
||||
|
||||
func NewReminderUpdate() *ReminderUpdate {
|
||||
@@ -259,7 +259,7 @@ func (r *ReminderUpdate) Fill(req *http.Request) (err error) {
|
||||
}
|
||||
if val, ok := post["remindAt"]; ok {
|
||||
|
||||
if r.RemindAt, err = parseISODateWithErr(val); err != nil {
|
||||
if r.RemindAt, err = parseISODatePtrWithErr(val); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -425,7 +425,7 @@ var _ RequestFiller = NewReminderDismiss()
|
||||
// Reminder snooze request parameters
|
||||
type ReminderSnooze struct {
|
||||
ReminderID uint64 `json:",string"`
|
||||
RemindAt time.Time
|
||||
RemindAt *time.Time
|
||||
}
|
||||
|
||||
func NewReminderSnooze() *ReminderSnooze {
|
||||
@@ -471,7 +471,7 @@ func (r *ReminderSnooze) Fill(req *http.Request) (err error) {
|
||||
r.ReminderID = parseUInt64(chi.URLParam(req, "reminderID"))
|
||||
if val, ok := post["remindAt"]; ok {
|
||||
|
||||
if r.RemindAt, err = parseISODateWithErr(val); err != nil {
|
||||
if r.RemindAt, err = parseISODatePtrWithErr(val); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ type (
|
||||
Update(context.Context, *types.Reminder) (*types.Reminder, error)
|
||||
|
||||
Dismiss(context.Context, uint64) error
|
||||
Snooze(context.Context, uint64, time.Time) error
|
||||
Snooze(context.Context, uint64, *time.Time) error
|
||||
|
||||
Delete(context.Context, uint64) error
|
||||
}
|
||||
@@ -149,7 +149,7 @@ func (svc reminder) Dismiss(ctx context.Context, ID uint64) (err error) {
|
||||
})
|
||||
}
|
||||
|
||||
func (svc reminder) Snooze(ctx context.Context, ID uint64, remindAt time.Time) (err error) {
|
||||
func (svc reminder) Snooze(ctx context.Context, ID uint64, remindAt *time.Time) (err error) {
|
||||
return svc.db.Transaction(func() (err error) {
|
||||
var t *types.Reminder
|
||||
if t, err = svc.reminder.FindByID(ID); err != nil {
|
||||
|
||||
@@ -22,7 +22,7 @@ type (
|
||||
DismissedBy uint64 `json:"dismissedBy,string" db:"dismissed_by"`
|
||||
DismissedAt *time.Time `json:"dismissedAt" db:"dismissed_at"`
|
||||
|
||||
RemindAt time.Time `json:"remindAt" db:"remind_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"`
|
||||
|
||||
Reference in New Issue
Block a user