diff --git a/metadata/tables.yaml b/metadata/tables.yaml index 4d945df..d268c43 100644 --- a/metadata/tables.yaml +++ b/metadata/tables.yaml @@ -1376,7 +1376,7 @@ name: contest_team_member schema: public object_relationships: - - name: team_as_contest_team_member + - name: contest_team using: foreign_key_constraint_on: team_id - name: user @@ -1708,6 +1708,218 @@ contest_team_members: user_uuid: _eq: X-Hasura-User-Id +- table: + name: contest_time + schema: public + object_relationships: + - name: contest + using: + foreign_key_constraint_on: contest_id + insert_permissions: + - role: counselor + permission: + check: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + columns: + - contest_id + - event + - start + - end + - description + - role: student + permission: + check: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + columns: + - contest_id + - event + - start + - end + - description + - role: teacher + permission: + check: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + columns: + - contest_id + - event + - start + - end + - description + - role: user + permission: + check: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + columns: + - contest_id + - event + - start + - end + - description + select_permissions: + - role: anonymous + permission: + columns: + - description + - event + - end + - start + - contest_id + filter: {} + - role: counselor + permission: + columns: + - description + - event + - end + - start + - contest_id + filter: {} + - role: student + permission: + columns: + - description + - event + - end + - start + - contest_id + filter: {} + - role: teacher + permission: + columns: + - description + - event + - end + - start + - contest_id + filter: {} + - role: user + permission: + columns: + - description + - event + - end + - start + - contest_id + filter: {} + update_permissions: + - role: counselor + permission: + columns: + - contest_id + - event + - start + - end + - description + filter: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + check: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + - role: student + permission: + columns: + - contest_id + - event + - start + - end + - description + filter: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + check: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + - role: teacher + permission: + columns: + - contest_id + - event + - start + - end + - description + filter: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + check: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + - role: user + permission: + columns: + - contest_id + - event + - start + - end + - description + filter: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + check: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + delete_permissions: + - role: counselor + permission: + backend_only: false + filter: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + - role: student + permission: + backend_only: false + filter: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + - role: teacher + permission: + backend_only: false + filter: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id + - role: user + permission: + backend_only: false + filter: + contest: + contest_managers: + user_uuid: + _eq: X-Hasura-User-Id - table: name: honor_application schema: public diff --git a/migrations/1710756482950_create_table_public_contest_time/down.sql b/migrations/1710756482950_create_table_public_contest_time/down.sql new file mode 100644 index 0000000..6e53ebe --- /dev/null +++ b/migrations/1710756482950_create_table_public_contest_time/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."contest_time"; diff --git a/migrations/1710756482950_create_table_public_contest_time/up.sql b/migrations/1710756482950_create_table_public_contest_time/up.sql new file mode 100644 index 0000000..477ec07 --- /dev/null +++ b/migrations/1710756482950_create_table_public_contest_time/up.sql @@ -0,0 +1 @@ +CREATE TABLE "public"."contest_time" ("contest_id" uuid NOT NULL, "event" text NOT NULL, "start" timestamptz NOT NULL, "end" timestamptz NOT NULL, "description" text, PRIMARY KEY ("contest_id","event") , FOREIGN KEY ("contest_id") REFERENCES "public"."contest"("id") ON UPDATE restrict ON DELETE cascade);COMMENT ON TABLE "public"."contest_time" IS E'比赛的时间线,仅作展示用'; diff --git a/package.json b/package.json index b7457b2..28e14ed 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,11 @@ "hasura-cli": "2.36.1" }, "scripts": { - "apply": "hasura migrate apply && hasura metadata apply", "console": "hasura console", - "hasura": "hasura", - "migrate-squash": "hasura migrate squash", - "status": "hasura migrate status" + "status:metadata": "hasura metadata inconsistency status && hasura metadata diff", + "status:migration": "hasura migrate status", + "squash": "hasura migrate squash", + "apply": "hasura migrate apply && hasura metadata apply" }, "private": true }