mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 19:12:25 -05:00
[feature] Implement backfilling statuses thru scheduled_at (#3685)
* Implement backfilling statuses thru scheduled_at * Forbid mentioning others in backfills * Update error messages & codes * Add new tests for backfilled statuses * Test that backfilling doesn't timeline or notify * Fix check for absence of notification * Test that backfills do not cause federation * Fix type of apimodel.StatusCreateRequest.ScheduledAt in tests * Add config file switch and min date check
This commit is contained in:
parent
37dbf319b1
commit
fccb0bc102
18 changed files with 515 additions and 42 deletions
|
|
@ -179,11 +179,15 @@ import (
|
|||
// x-go-name: ScheduledAt
|
||||
// description: |-
|
||||
// ISO 8601 Datetime at which to schedule a status.
|
||||
// Providing this parameter will cause ScheduledStatus to be returned instead of Status.
|
||||
// Must be at least 5 minutes in the future.
|
||||
//
|
||||
// This feature isn't implemented yet; attemping to set it will return 501 Not Implemented.
|
||||
// Providing this parameter with a *future* time will cause ScheduledStatus to be returned instead of Status.
|
||||
// Must be at least 5 minutes in the future.
|
||||
// This feature isn't implemented yet.
|
||||
//
|
||||
// Providing this parameter with a *past* time will cause the status to be backdated,
|
||||
// and will not push it to the user's followers. This is intended for importing old statuses.
|
||||
// type: string
|
||||
// format: date-time
|
||||
// in: formData
|
||||
// -
|
||||
// name: language
|
||||
|
|
@ -384,12 +388,6 @@ func parseStatusCreateForm(c *gin.Context) (*apimodel.StatusCreateRequest, gtser
|
|||
return nil, gtserror.NewErrorNotAcceptable(errors.New(text), text)
|
||||
}
|
||||
|
||||
// Check not scheduled status.
|
||||
if form.ScheduledAt != "" {
|
||||
const text = "scheduled_at is not yet implemented"
|
||||
return nil, gtserror.NewErrorNotImplemented(errors.New(text), text)
|
||||
}
|
||||
|
||||
// Check if the deprecated "federated" field was
|
||||
// set in lieu of "local_only", and use it if so.
|
||||
if form.LocalOnly == nil && form.Federated != nil { // nolint:staticcheck
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue