@nextblock-cms/db 0.2.26 → 0.2.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/package.json +1 -1
  2. package/supabase/config.toml +1 -1
  3. package/supabase/migrations/00000000000014_seed_homepage_blocks.sql +23 -10
  4. package/supabase/migrations/20250513194738_setup_roles_and_profiles.sql +0 -41
  5. package/supabase/migrations/20250513194910_auto_create_profile_trigger.sql +0 -48
  6. package/supabase/migrations/20250513194916_rls_for_profiles.sql +0 -85
  7. package/supabase/migrations/20250514125634_fix_recursive_rls_policies.sql +0 -51
  8. package/supabase/migrations/20250514143016_setup_languages_table.sql +0 -66
  9. package/supabase/migrations/20250514171549_create_pages_table.sql +0 -73
  10. package/supabase/migrations/20250514171550_create_posts_table.sql +0 -61
  11. package/supabase/migrations/20250514171552_create_media_table.sql +0 -45
  12. package/supabase/migrations/20250514171553_create_blocks_table.sql +0 -54
  13. package/supabase/migrations/20250514171615_create_navigation_table.sql +0 -56
  14. package/supabase/migrations/20250514171627_rls_policies_for_content_tables.sql +0 -70
  15. package/supabase/migrations/20250515194800_add_translation_group_id.sql +0 -39
  16. package/supabase/migrations/20250520171900_add_translation_group_to_nav_items.sql +0 -21
  17. package/supabase/migrations/20250521143933_seed_homepage_and_nav.sql +0 -52
  18. package/supabase/migrations/20250523145833_add_feature_image_to_posts.sql +0 -8
  19. package/supabase/migrations/20250523151737_add_rls_to_media_table.sql +0 -18
  20. package/supabase/migrations/20250526110400_add_image_dimensions_to_media.sql +0 -14
  21. package/supabase/migrations/20250526153321_optimize_rls_policies.sql +0 -188
  22. package/supabase/migrations/20250526172513_resolve_select_policy_overlaps.sql +0 -96
  23. package/supabase/migrations/20250526172853_resolve_remaining_rls_v5.sql +0 -107
  24. package/supabase/migrations/20250526173538_finalize_rls_cleanup_v7.sql +0 -110
  25. package/supabase/migrations/20250526174710_separate_write_policies_v8.sql +0 -147
  26. package/supabase/migrations/20250526175359_fix_languages_select_rls_v9.sql +0 -81
  27. package/supabase/migrations/20250526182940_fix_nav_read_policy_v10.sql +0 -27
  28. package/supabase/migrations/20250526183239_fix_posts_read_rls_v11.sql +0 -59
  29. package/supabase/migrations/20250526183746_fix_media_select_rls_v12.sql +0 -39
  30. package/supabase/migrations/20250526184205_consolidate_content_read_rls_v13.sql +0 -61
  31. package/supabase/migrations/20250526185854_optimize_indexes.sql +0 -47
  32. package/supabase/migrations/20250526190900_debug_blocks_rls.sql +0 -56
  33. package/supabase/migrations/20250526191217_consolidate_blocks_select_rls.sql +0 -79
  34. package/supabase/migrations/20250526192822_fix_handle_languages_update_search_path.sql +0 -32
  35. package/supabase/migrations/20250527150500_fix_blocks_rls_policy.sql +0 -54
  36. package/supabase/migrations/20250602150602_add_blur_data_url_to_media.sql +0 -4
  37. package/supabase/migrations/20250602150959_add_variants_to_media.sql +0 -4
  38. package/supabase/migrations/20250618124000_create_get_my_claim_function.sql +0 -5
  39. package/supabase/migrations/20250618124100_create_logos_table.sql +0 -29
  40. package/supabase/migrations/20250618130000_fix_linter_warnings.sql +0 -58
  41. package/supabase/migrations/20250618151500_revert_storage_rls.sql +0 -6
  42. package/supabase/migrations/20250619084800_reinstate_storage_rls.sql +0 -13
  43. package/supabase/migrations/20250619092430_widen_logo_insert_policy.sql +0 -6
  44. package/supabase/migrations/20250619093122_fix_get_my_claim_volatility.sql +0 -5
  45. package/supabase/migrations/20250619104249_consolidated_logo_rls_fix.sql +0 -56
  46. package/supabase/migrations/20250619110700_fix_logo_rls_again.sql +0 -59
  47. package/supabase/migrations/20250619113200_add_file_path_to_media.sql +0 -4
  48. package/supabase/migrations/20250619124100_fix_rls_performance_warnings.sql +0 -74
  49. package/supabase/migrations/20250619195500_create_site_settings_table.sql +0 -28
  50. package/supabase/migrations/20250619201500_add_anon_read_to_site_settings.sql +0 -7
  51. package/supabase/migrations/20250619202000_add_is_active_to_languages.sql +0 -5
  52. package/supabase/migrations/20250620085700_fix_site_settings_write_rls.sql +0 -27
  53. package/supabase/migrations/20250620095500_fix_profiles_read_rls.sql +0 -11
  54. package/supabase/migrations/20250620100000_use_security_definer_for_rls.sql +0 -39
  55. package/supabase/migrations/20250620130000_add_public_read_to_logos.sql +0 -4
  56. package/supabase/migrations/20250708091700_create_translations_table.sql +0 -55
  57. package/supabase/migrations/20250708093403_seed_translations_table.sql +0 -20
  58. package/supabase/migrations/20250708110600_fix_translations_rls_policies.sql +0 -11
  59. package/supabase/migrations/20250708112300_add_new_translations.sql +0 -9
  60. package/supabase/migrations/20250709120000_create_revisions_tables.sql +0 -109
  61. package/supabase/migrations/20251001113000_add_folder_to_media.sql +0 -14
  62. package/supabase/migrations/20251112113736_fix_search_path_functions.sql +0 -74
  63. package/supabase/migrations/20251112124444_fix_rls_performance.sql +0 -63
  64. package/supabase/migrations/20251112125935_fix_combined_policies.sql +0 -194
  65. package/supabase/migrations/20251112132146_fix_foreign_key_indexes.sql +0 -21
  66. package/supabase/migrations/20251112132525_cleanup_unused_indexes.sql +0 -10
  67. package/supabase/migrations/20251112132822_fix_final_indexes.sql +0 -14
  68. package/supabase/migrations/20251112140000_scaffold_foundational_content.sql +0 -108
  69. package/supabase/migrations/20251112141000_seed_homepage_blocks.sql +0 -653
  70. package/supabase/migrations/20251112142000_seed_how_it_works_post_blocks.sql +0 -100
  71. package/supabase/migrations/20251112143000_seed_additional_translations.sql +0 -102
  72. package/supabase/migrations/20251112145000_grant_public_schema_usage.sql +0 -6
  73. package/supabase/migrations/20251112145500_grant_select_on_public_tables.sql +0 -19
  74. package/supabase/migrations/20251117093000_add_admin_created_flag.sql +0 -21
  75. package/supabase/migrations/20251117103000_relax_profile_username_constraint.sql +0 -6
  76. package/supabase/migrations/20251117110000_relax_profiles_site_settings_rls_for_signup.sql +0 -20
  77. package/supabase/migrations/20251117112000_fix_handle_new_user_role_enum.sql +0 -45
  78. package/supabase/migrations/20251117113000_cleanup_rls_duplicates.sql +0 -20
  79. package/supabase/migrations/20251117200000_media_service_role_insert.sql +0 -14
  80. package/supabase/migrations/20251117201500_media_service_role_select.sql +0 -11
  81. package/supabase/migrations/20251117203000_media_admin_writer_select.sql +0 -11
  82. package/supabase/migrations/20251117204500_fix_media_permissions.sql +0 -43
  83. package/supabase/migrations/20251126100000_seed_site_logo.sql +0 -33
  84. package/supabase/migrations/20251126133000_fix_blocks_rls.sql +0 -49
  85. package/supabase/migrations/20251127110000_fix_blocks_visibility_for_missing_profiles.sql +0 -23
  86. package/supabase/migrations/20251127120000_fix_duplicate_rls_policies.sql +0 -36
@@ -1,14 +0,0 @@
1
- BEGIN;
2
-
3
- CREATE INDEX IF NOT EXISTS idx_blocks_language_id
4
- ON public.blocks (language_id);
5
-
6
- CREATE INDEX IF NOT EXISTS idx_blocks_post_id
7
- ON public.blocks (post_id);
8
-
9
- CREATE INDEX IF NOT EXISTS idx_navigation_items_language_id
10
- ON public.navigation_items (language_id);
11
-
12
- ANALYZE VERBOSE;
13
-
14
- COMMIT;
@@ -1,108 +0,0 @@
1
- -- supabase/migrations/20251112140000_scaffold_foundational_content.sql
2
- -- seeds additional languages plus the foundational Home/Articles pages and flagship post translations
3
-
4
- do $migration$
5
- declare
6
- v_home_page_group_id uuid := gen_random_uuid();
7
- v_blog_page_group_id uuid := gen_random_uuid();
8
- v_how_it_works_post_group_id uuid := gen_random_uuid();
9
- v_en_lang_id bigint;
10
- v_fr_lang_id bigint;
11
- v_feature_media_id uuid;
12
- begin
13
- -- only english and french
14
- insert into public.languages (id, name, code, is_default, is_active)
15
- values
16
- (1, 'English', 'en', true, true),
17
- (2, 'Français', 'fr', false, true)
18
- on conflict (id) do update
19
- set name = excluded.name,
20
- code = excluded.code,
21
- is_default = excluded.is_default,
22
- is_active = excluded.is_active;
23
-
24
- select id into v_en_lang_id from public.languages where code = 'en' limit 1;
25
- select id into v_fr_lang_id from public.languages where code = 'fr' limit 1;
26
-
27
- if v_en_lang_id is null or v_fr_lang_id is null then
28
- raise exception 'Required languages (en, fr) not found. Please seed languages first.';
29
- end if;
30
-
31
- -- reset defaults/actives
32
- update public.languages
33
- set is_active = true,
34
- is_default = case when code = 'en' then true else false end
35
- where code in ('en', 'fr');
36
-
37
- -- scaffold the Home and Articles parent pages (EN + FR)
38
- insert into public.pages (language_id, title, slug, status, translation_group_id)
39
- values (v_en_lang_id, 'Home', 'home', 'published', v_home_page_group_id)
40
- on conflict (language_id, slug) do update
41
- set title = excluded.title,
42
- status = excluded.status,
43
- translation_group_id = excluded.translation_group_id;
44
-
45
- insert into public.pages (language_id, title, slug, status, translation_group_id)
46
- values (v_fr_lang_id, 'Accueil', 'accueil', 'published', v_home_page_group_id)
47
- on conflict (language_id, slug) do update
48
- set title = excluded.title,
49
- status = excluded.status,
50
- translation_group_id = excluded.translation_group_id;
51
-
52
- insert into public.pages (language_id, title, slug, status, translation_group_id)
53
- values (v_en_lang_id, 'Articles', 'articles', 'published', v_blog_page_group_id)
54
- on conflict (language_id, slug) do update
55
- set title = excluded.title,
56
- status = excluded.status,
57
- translation_group_id = excluded.translation_group_id;
58
-
59
- insert into public.pages (language_id, title, slug, status, translation_group_id)
60
- values (v_fr_lang_id, 'Articles', 'articles', 'published', v_blog_page_group_id)
61
- on conflict (language_id, slug) do update
62
- set title = excluded.title,
63
- status = excluded.status,
64
- translation_group_id = excluded.translation_group_id;
65
-
66
- -- Seed the featured image media record
67
- v_feature_media_id := gen_random_uuid();
68
-
69
- insert into public.media (id, file_name, object_key, file_type, size_bytes)
70
- values (v_feature_media_id, 'programmer-upscaled.webp', '/images/programmer-upscaled.webp', 'image/webp', 100000)
71
- on conflict (object_key) do update
72
- set file_name = excluded.file_name,
73
- file_type = excluded.file_type,
74
- size_bytes = excluded.size_bytes
75
- returning id into v_feature_media_id;
76
-
77
- -- seed the flagship How It Works blog post in EN + FR
78
- insert into public.posts (language_id, title, slug, status, translation_group_id, feature_image_id)
79
- values (v_en_lang_id, 'How NextBlock Works: A Look Under the Hood', 'how-nextblock-works', 'published', v_how_it_works_post_group_id, v_feature_media_id)
80
- on conflict (language_id, slug) do update
81
- set title = excluded.title,
82
- status = excluded.status,
83
- translation_group_id = excluded.translation_group_id,
84
- feature_image_id = excluded.feature_image_id;
85
-
86
- insert into public.posts (language_id, title, slug, status, translation_group_id, feature_image_id)
87
- values (v_fr_lang_id, 'Comment NextBlock Fonctionne : Regard Sous le Capot', 'comment-nextblock-fonctionne', 'published', v_how_it_works_post_group_id, v_feature_media_id)
88
- on conflict (language_id, slug) do update
89
- set title = excluded.title,
90
- status = excluded.status,
91
- translation_group_id = excluded.translation_group_id,
92
- feature_image_id = excluded.feature_image_id;
93
-
94
- -- Feature image for the flagship post can be set later via CMS; no seed insert for static asset.
95
- end;
96
- $migration$;
97
-
98
- select id as home_page_id
99
- from public.pages
100
- where slug = 'home' and language_id = (select id from public.languages where code = 'en' limit 1)
101
- order by created_at desc
102
- limit 1;
103
-
104
- select id as post_id
105
- from public.posts
106
- where slug = 'how-nextblock-works' and language_id = (select id from public.languages where code = 'en' limit 1)
107
- order by created_at desc
108
- limit 1;