fix: final review wave — public routes, inbox 419, url schemes, deep_link, tests
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
This commit is contained in:
@@ -10,9 +10,11 @@ use App\Ingest\EventUpserter;
|
||||
use App\Models\Event;
|
||||
use App\Models\Source;
|
||||
use App\Models\User;
|
||||
use Carbon\CarbonImmutable;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
class EventsController extends Controller
|
||||
{
|
||||
@@ -22,11 +24,14 @@ class EventsController extends Controller
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = $request->attributes->get('user');
|
||||
$request->validate([
|
||||
'state' => ['sometimes', Rule::in(array_map(fn ($s) => $s->value, EventState::cases()))],
|
||||
]);
|
||||
$states = $request->query('state')
|
||||
? [$request->query('state')]
|
||||
: EventState::nonTerminalValues();
|
||||
|
||||
$events = $user->events()->whereIn('state', $states)->orderBy('due_date')->orderBy('due_instant')->get();
|
||||
$events = $user->events()->with('source')->whereIn('state', $states)->orderBy('due_date')->orderBy('due_instant')->get();
|
||||
|
||||
return response()->json(['events' => $events->map(fn (Event $e) => ApiPresenter::present($e) + ['source' => $e->source->name])->values()]);
|
||||
}
|
||||
@@ -66,7 +71,7 @@ class EventsController extends Controller
|
||||
'source_ref' => 'manual:'.Str::ulid(),
|
||||
'topic' => '',
|
||||
'due_at' => $dueAt,
|
||||
'fire_at' => \Carbon\CarbonImmutable::createFromFormat('Y-m-d', $data['due_date'])->subDays(30)->format('Y-m-d'),
|
||||
'fire_at' => CarbonImmutable::createFromFormat('Y-m-d', $data['due_date'])->subDays(30)->format('Y-m-d'),
|
||||
'after_due' => 'keep',
|
||||
'payload' => array_filter([
|
||||
'title' => $data['title'],
|
||||
|
||||
Reference in New Issue
Block a user