57 lines
2.8 KiB
Markdown
57 lines
2.8 KiB
Markdown
Searched text for `class_id` (`**/mock*.json`), no results
|
||
|
||
Read [](file:///h%3A/blews/akmon/setup_student_class_data.sql)
|
||
|
||
Read [](file:///h%3A/blews/akmon/doc_zhipao/mock_sport_realuser_corrected.sql#1-1), lines 1 to 60
|
||
|
||
Searched text for `class_id` (`**/doc_zhipao/mock_sport_realuser_corrected.sql`), 3 results
|
||
|
||
Read [](file:///h%3A/blews/akmon/doc_zhipao/mock_sport_realuser_corrected.sql#100-100), lines 100 to 140
|
||
|
||
Searched text for `11111111-4444-1111-1111-111111111111` (`**/*.sql`), 20 results
|
||
|
||
Created [](file:///h%3A/blews/akmon/scripts/training-event-simulator/roster-sample.json)
|
||
|
||
Ran terminal command: Set-Item -Path Env:SUPABASE_URL -Value 'https://ak3.oulog.com'; Set-Item -Path Env:SUPABASE_SERVICE_ROLE_KEY -Value 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q'
|
||
|
||
Ran terminal command: node simulate-training-events.mjs --class-id 11111111-4444-1111-1111-111111111111 --roster ./roster-sample.json --interval 2 --cycles 3 --note "demo run"
|
||
|
||
Ran terminal command: node simulate-training-events.mjs --class-id 11111111-4444-1111-1111-111111111111 --training-id 8b38f8d5-0b53-4b95-a90e-8a3161a0b1c3 --roster ./roster-sample.json --interval 2 --cycles 3 --note "demo run"
|
||
|
||
Using "Apply Patch"
|
||
|
||
|
||
```
|
||
|
||
```
|
||
Ran the simulator end-to-end against your Supabase project—here’s what happened and what changed.
|
||
|
||
- Steps: wired up Supabase credentials from `config.uts`, created a one-student roster (`roster-sample.json`), and executed
|
||
```powershell
|
||
node simulate-training-events.mjs --class-id bc333301-78cd-4ef0-a123-456789012345 --training-id 53242f0e-aa8d-457a-a80a-b303f8bffe55 --roster ./roster-sample.json --interval 2 --cycles 3 --note "demo run"
|
||
```
|
||
This inserted ACK, telemetry, and summary rows into `training_stream_events`.
|
||
|
||
- Improvement: updated `simulate-training-events.mjs` to default `training_id` to a proper UUID via `crypto.randomUUID()`, preventing the earlier “invalid UUID” error.
|
||
|
||
- Verification: command completed successfully (`Simulation complete`), confirming Supabase writes worked with the supplied service-role key.
|
||
|
||
You’re ready to watch session `8b38f8d5-0b53-4b95-a90e-8a3161a0b1c3` from the teacher dashboard; adjust roster/intervals as needed for future runs.
|
||
|
||
Made changes.
|
||
|
||
|
||
-- 到 Supabase SQL 控制台或 psql 里,替换成你的教师 auth_id
|
||
WITH params AS (
|
||
SELECT
|
||
'7bf7378e-a027-473e-97ac-3460ed3f170a'::uuid AS teacher_auth_id,
|
||
'bc333301-78cd-4ef0-a123-456789012345'::uuid AS class_id
|
||
)
|
||
SELECT
|
||
EXISTS (
|
||
SELECT 1
|
||
FROM params
|
||
JOIN ak_users u ON u.auth_id = params.teacher_auth_id
|
||
JOIN ak_teacher_roles tr ON tr.user_id = u.id
|
||
WHERE tr.class_id = params.class_id
|
||
) AS has_class_assignment; |