diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index 74a00b23b..0f04c9179 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -4705,6 +4705,12 @@ - key - value filter: {} +- table: + name: media_analytics + schema: public +- table: + name: media_analytics_detail + schema: public - table: name: messages schema: public diff --git a/hasura/migrations/1762378985244_create_table_public_media_analytics/down.sql b/hasura/migrations/1762378985244_create_table_public_media_analytics/down.sql new file mode 100644 index 000000000..4ad01fe88 --- /dev/null +++ b/hasura/migrations/1762378985244_create_table_public_media_analytics/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."media_analytics"; diff --git a/hasura/migrations/1762378985244_create_table_public_media_analytics/up.sql b/hasura/migrations/1762378985244_create_table_public_media_analytics/up.sql new file mode 100644 index 000000000..4737001d2 --- /dev/null +++ b/hasura/migrations/1762378985244_create_table_public_media_analytics/up.sql @@ -0,0 +1,18 @@ +CREATE TABLE "public"."media_analytics" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "created_at" timestamptz NOT NULL DEFAULT now(), "updated_at" timestamptz NOT NULL DEFAULT now(), "bodyshopid" uuid NOT NULL, "total_jobs" integer NOT NULL DEFAULT 0, "total_documents" integer NOT NULL DEFAULT 0, "file_type_stats" jsonb NOT NULL DEFAULT jsonb_build_object(), PRIMARY KEY ("id") , FOREIGN KEY ("bodyshopid") REFERENCES "public"."bodyshops"("id") ON UPDATE restrict ON DELETE restrict);COMMENT ON TABLE "public"."media_analytics" IS E'LMS Media Analytics'; +CREATE OR REPLACE FUNCTION "public"."set_current_timestamp_updated_at"() +RETURNS TRIGGER AS $$ +DECLARE + _new record; +BEGIN + _new := NEW; + _new."updated_at" = NOW(); + RETURN _new; +END; +$$ LANGUAGE plpgsql; +CREATE TRIGGER "set_public_media_analytics_updated_at" +BEFORE UPDATE ON "public"."media_analytics" +FOR EACH ROW +EXECUTE PROCEDURE "public"."set_current_timestamp_updated_at"(); +COMMENT ON TRIGGER "set_public_media_analytics_updated_at" ON "public"."media_analytics" +IS 'trigger to set value of column "updated_at" to current timestamp on row update'; +CREATE EXTENSION IF NOT EXISTS pgcrypto; diff --git a/hasura/migrations/1762380389542_create_table_public_media_analytics_detail/down.sql b/hasura/migrations/1762380389542_create_table_public_media_analytics_detail/down.sql new file mode 100644 index 000000000..f24f86d54 --- /dev/null +++ b/hasura/migrations/1762380389542_create_table_public_media_analytics_detail/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."media_analytics_detail"; diff --git a/hasura/migrations/1762380389542_create_table_public_media_analytics_detail/up.sql b/hasura/migrations/1762380389542_create_table_public_media_analytics_detail/up.sql new file mode 100644 index 000000000..e98665d28 --- /dev/null +++ b/hasura/migrations/1762380389542_create_table_public_media_analytics_detail/up.sql @@ -0,0 +1,2 @@ +CREATE TABLE "public"."media_analytics_detail" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "created_at" timestamptz NOT NULL DEFAULT now(), "media_analytics_id" uuid NOT NULL, "jobid" uuid NOT NULL, "bodyshopid" uuid NOT NULL, "document_count" integer NOT NULL, "total_size_bytes" integer NOT NULL, "file_type_stats" jsonb NOT NULL DEFAULT jsonb_build_object(), PRIMARY KEY ("id") , FOREIGN KEY ("media_analytics_id") REFERENCES "public"."media_analytics"("id") ON UPDATE restrict ON DELETE restrict, FOREIGN KEY ("jobid") REFERENCES "public"."jobs"("id") ON UPDATE restrict ON DELETE restrict, FOREIGN KEY ("bodyshopid") REFERENCES "public"."bodyshops"("id") ON UPDATE restrict ON DELETE restrict); +CREATE EXTENSION IF NOT EXISTS pgcrypto;