@plutocms/supabase 0.0.1-alpha.8 → 0.1.0

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 (103) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +2 -4
  3. package/app/assets/css/tailwind.css +5 -0
  4. package/app/components/navbar/NavbarAdmin.vue +6 -5
  5. package/app/composables/auth.ts +124 -2
  6. package/app/middleware/auth.ts +13 -6
  7. package/app/middleware/setup-check.ts +25 -21
  8. package/app/pages/admin/(auth)/confirm.vue +38 -0
  9. package/app/pages/admin/(auth)/forgot-password.vue +88 -0
  10. package/app/pages/admin/(auth)/login.vue +5 -1
  11. package/app/pages/admin/(auth)/signup.vue +76 -16
  12. package/app/pages/admin/(auth)/update-password.vue +134 -0
  13. package/app/pages/admin/setup.vue +31 -28
  14. package/app/pages/admin.vue +3 -4
  15. package/modules/pluto-migrations.ts +121 -0
  16. package/nuxt.config.ts +14 -1
  17. package/package.json +40 -24
  18. package/public/schema.sql +66 -8
  19. package/scripts/supabase-typegen.ts +36 -21
  20. package/scripts/tsconfig.json +18 -0
  21. package/server/api/auth/signup.post.ts +46 -0
  22. package/server/api/setup/create.post.ts +38 -88
  23. package/server/plugins/migrations.ts +60 -0
  24. package/server/utils/migrations.ts +88 -0
  25. package/server/utils/sql.ts +81 -0
  26. package/server/utils/typegen.ts +68 -0
  27. package/shared/types/runtime-config.d.ts +16 -0
  28. package/shared/types/supabase.ts +90 -117
  29. package/.agents/skills/nuxt/GENERATION.md +0 -5
  30. package/.agents/skills/nuxt/SKILL.md +0 -55
  31. package/.agents/skills/nuxt/references/advanced-hooks.md +0 -289
  32. package/.agents/skills/nuxt/references/advanced-layers.md +0 -299
  33. package/.agents/skills/nuxt/references/advanced-module-authoring.md +0 -554
  34. package/.agents/skills/nuxt/references/best-practices-data-fetching.md +0 -357
  35. package/.agents/skills/nuxt/references/best-practices-ssr.md +0 -355
  36. package/.agents/skills/nuxt/references/core-cli.md +0 -263
  37. package/.agents/skills/nuxt/references/core-config.md +0 -162
  38. package/.agents/skills/nuxt/references/core-data-fetching.md +0 -236
  39. package/.agents/skills/nuxt/references/core-deployment.md +0 -224
  40. package/.agents/skills/nuxt/references/core-directory-structure.md +0 -269
  41. package/.agents/skills/nuxt/references/core-modules.md +0 -292
  42. package/.agents/skills/nuxt/references/core-routing.md +0 -226
  43. package/.agents/skills/nuxt/references/features-components-autoimport.md +0 -328
  44. package/.agents/skills/nuxt/references/features-components.md +0 -264
  45. package/.agents/skills/nuxt/references/features-composables.md +0 -276
  46. package/.agents/skills/nuxt/references/features-server.md +0 -265
  47. package/.agents/skills/nuxt/references/features-state.md +0 -194
  48. package/.agents/skills/nuxt/references/rendering-modes.md +0 -237
  49. package/.agents/skills/nuxt-ui/SKILL.md +0 -334
  50. package/.agents/skills/nuxt-ui/references/components.md +0 -377
  51. package/.agents/skills/nuxt-ui/references/composables.md +0 -127
  52. package/.agents/skills/nuxt-ui/references/layouts/chat.md +0 -195
  53. package/.agents/skills/nuxt-ui/references/layouts/dashboard.md +0 -220
  54. package/.agents/skills/nuxt-ui/references/layouts/docs.md +0 -141
  55. package/.agents/skills/nuxt-ui/references/layouts/editor.md +0 -167
  56. package/.agents/skills/nuxt-ui/references/layouts/page.md +0 -260
  57. package/.agents/skills/nuxt-ui/references/theming.md +0 -427
  58. package/.agents/skills/supabase-postgres-best-practices/AGENTS.md +0 -68
  59. package/.agents/skills/supabase-postgres-best-practices/CLAUDE.md +0 -1
  60. package/.agents/skills/supabase-postgres-best-practices/README.md +0 -116
  61. package/.agents/skills/supabase-postgres-best-practices/SKILL.md +0 -64
  62. package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
  63. package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
  64. package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
  65. package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
  66. package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
  67. package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
  68. package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
  69. package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
  70. package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
  71. package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
  72. package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
  73. package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
  74. package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
  75. package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
  76. package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
  77. package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
  78. package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
  79. package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
  80. package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
  81. package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
  82. package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
  83. package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
  84. package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +0 -80
  85. package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
  86. package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
  87. package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
  88. package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
  89. package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
  90. package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
  91. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
  92. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -57
  93. package/.editorconfig +0 -12
  94. package/.eslintignore +0 -1
  95. package/.prettierrc +0 -9
  96. package/.vscode/extensions.json +0 -10
  97. package/.vscode/settings.json +0 -61
  98. package/bun.lock +0 -2837
  99. package/eslint.config.mjs +0 -88
  100. package/server/api/category/list.get.ts +0 -9
  101. package/server/api/category/new.post.ts +0 -31
  102. package/server/api/signup.post.ts +0 -28
  103. package/skills-lock.json +0 -20
package/eslint.config.mjs DELETED
@@ -1,88 +0,0 @@
1
- // @ts-check
2
- import antfu from '@antfu/eslint-config'
3
- import withNuxt from './.nuxt/eslint.config.mjs'
4
-
5
- // See: https://eslint.vuejs.org/rules
6
- export default withNuxt(
7
- // @ts-ignore - Antfu's config is ESM only, but Nuxt's ESLint config is CJS --- IGNORE ---
8
- antfu({
9
- rules: {
10
- 'node/prefer-global/process': ['off', 'never'],
11
-
12
- 'style/indent-binary-ops': 'off',
13
- 'style/arrow-parens': ['warn', 'always'],
14
- 'style/brace-style': ['warn', '1tbs'],
15
-
16
- 'vue/block-order': [
17
- 'warn',
18
- {
19
- order: ['script', 'template', 'style'],
20
- },
21
- ],
22
-
23
- 'vue/multiline-html-element-content-newline': 'off',
24
- 'vue/html-closing-bracket-newline': 'off',
25
-
26
- 'vue/html-self-closing': [
27
- 'warn',
28
- {
29
- html: {
30
- void: 'always',
31
- normal: 'always',
32
- component: 'always',
33
- },
34
- svg: 'always',
35
- math: 'always',
36
- },
37
- ],
38
-
39
- 'vue/attributes-order': [
40
- 'warn',
41
- {
42
- order: [
43
- 'DEFINITION',
44
- 'LIST_RENDERING',
45
- 'CONDITIONALS',
46
- 'RENDER_MODIFIERS',
47
- 'GLOBAL',
48
- 'UNIQUE',
49
- 'TWO_WAY_BINDING',
50
- 'SLOT',
51
- 'OTHER_DIRECTIVES',
52
- 'ATTR_DYNAMIC',
53
- 'ATTR_STATIC',
54
- 'ATTR_SHORTHAND_BOOL',
55
- 'EVENTS',
56
- 'CONTENT',
57
- ],
58
- },
59
- ],
60
-
61
- 'vue/multi-word-component-names': 'off',
62
-
63
- 'vue/eqeqeq': ['error', 'always'],
64
-
65
- 'style/comma-dangle': [
66
- 'warn',
67
- {
68
- arrays: 'always-multiline',
69
- objects: 'always-multiline',
70
- functions: 'never',
71
- },
72
- ],
73
-
74
- 'vue/comma-dangle': [
75
- 'warn',
76
- {
77
- arrays: 'always-multiline',
78
- objects: 'always-multiline',
79
- functions: 'never',
80
- },
81
- ],
82
-
83
- 'style/operator-linebreak': 'off',
84
-
85
- 'vue/singleline-html-element-content-newline': 'off',
86
- },
87
- })
88
- )
@@ -1,9 +0,0 @@
1
- import { serverSupabaseClient } from '#supabase/server'
2
-
3
- export default defineEventHandler(async (event) => {
4
- const client = await serverSupabaseClient<Database>(event)
5
-
6
- const { data } = await client.from('categories').select('*')
7
-
8
- return { data }
9
- })
@@ -1,31 +0,0 @@
1
- import { serverSupabaseClient } from '#supabase/server'
2
-
3
- export default defineEventHandler(async (event) => {
4
- const client = await serverSupabaseClient<Database>(event)
5
-
6
- const body = await readBody(event)
7
-
8
- if (!body) {
9
- throw createError({
10
- message: 'No file sent.',
11
- })
12
- }
13
-
14
- const { data, error } = await client
15
- .from('categories')
16
- .insert(body)
17
- .select()
18
- .single()
19
-
20
- if (error) {
21
- throw createError({
22
- message: error.message,
23
- })
24
- }
25
-
26
- if (error) {
27
- throw createError({ message: 'error' })
28
- }
29
-
30
- return { data }
31
- })
@@ -1,28 +0,0 @@
1
- import { serverSupabaseClient } from '#supabase/server'
2
-
3
- export default defineEventHandler(async (event) => {
4
- const client = await serverSupabaseClient<Database>(event)
5
-
6
- const body = await readBody(event)
7
-
8
- const { data, error } = await client.auth.signUp({
9
- email: body.email,
10
- password: body.password,
11
- options: {
12
- data: {
13
- first_name: body.first_name,
14
- last_name: body.last_name,
15
- },
16
- },
17
- })
18
-
19
- if (error) {
20
- throw createError({
21
- statusCode: Number.parseInt(error.code ?? '500'),
22
- cause: error.cause,
23
- message: error.message,
24
- })
25
- }
26
-
27
- return { message: 'User registered successfully', data }
28
- })
package/skills-lock.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "version": 1,
3
- "skills": {
4
- "nuxt": {
5
- "source": "antfu/skills",
6
- "sourceType": "github",
7
- "computedHash": "9e8237ec92083db9a6f4c77d5e5bf4b1d9873d670671235bc75455ee1ca39c74"
8
- },
9
- "nuxt-ui": {
10
- "source": "nuxt/ui",
11
- "sourceType": "github",
12
- "computedHash": "51e570e2bfd4b74752a40ea0a102c9d186bfe3afbb8c34a51cb83e46195243d0"
13
- },
14
- "supabase-postgres-best-practices": {
15
- "source": "supabase/agent-skills",
16
- "sourceType": "github",
17
- "computedHash": "aa2937f90818577991093fad010501252d6de56a20e9603ac50b39b7a39b430e"
18
- }
19
- }
20
- }