spine-framework 0.3.6 → 0.3.7

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.
@@ -756,14 +756,19 @@ CREATE TABLE IF NOT EXISTS public.webhook_handlers (
756
756
  updated_at timestamptz DEFAULT now()
757
757
  );
758
758
 
759
- -- app_installations (depends on accounts)
759
+
760
+ -- app_installations
761
+ -- Tracks which apps have been installed via `spine-framework install-app`
760
762
  CREATE TABLE IF NOT EXISTS public.app_installations (
761
- id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
762
- account_id uuid REFERENCES public.accounts(id) ON DELETE CASCADE,
763
- app_slug varchar NOT NULL,
764
- is_enabled boolean DEFAULT true,
765
- installed_at timestamptz DEFAULT now(),
766
- updated_at timestamptz DEFAULT now()
763
+ id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
764
+ app_slug text NOT NULL,
765
+ account_id uuid,
766
+ is_enabled boolean DEFAULT true,
767
+ installed_version text,
768
+ package_name text,
769
+ created_at timestamptz DEFAULT now(),
770
+ updated_at timestamptz DEFAULT now(),
771
+ UNIQUE (app_slug, account_id)
767
772
  );
768
773
 
769
774
  -- ---------------------------------------------------------------------------
@@ -791,16 +796,6 @@ CREATE INDEX IF NOT EXISTS idx_api_keys_account ON public.api_keys (account_
791
796
  CREATE INDEX IF NOT EXISTS idx_api_keys_integration ON public.api_keys (integration_id);
792
797
  CREATE INDEX IF NOT EXISTS idx_api_keys_key_value ON public.api_keys (key_value);
793
798
 
794
- CREATE INDEX IF NOT EXISTS idx_app_installations_account ON public.app_installations (account_id) WHERE (is_enabled = true);
795
- CREATE INDEX IF NOT EXISTS idx_app_installations_slug ON public.app_installations (app_slug) WHERE (is_enabled = true);
796
- -- Dedup: system installs (account_id IS NULL) — one row per app slug
797
- CREATE UNIQUE INDEX IF NOT EXISTS idx_app_installations_slug_no_account
798
- ON public.app_installations (app_slug)
799
- WHERE account_id IS NULL;
800
- -- Dedup: tenant installs (account_id IS NOT NULL) — one row per (slug, account)
801
- CREATE UNIQUE INDEX IF NOT EXISTS idx_app_installations_slug_with_account
802
- ON public.app_installations (app_slug, account_id)
803
- WHERE account_id IS NOT NULL;
804
799
 
805
800
  CREATE INDEX IF NOT EXISTS idx_apps_owner ON public.apps (owner_account_id);
806
801
  CREATE INDEX IF NOT EXISTS idx_apps_slug ON public.apps (slug);
@@ -1288,21 +1283,6 @@ BEGIN
1288
1283
  END;
1289
1284
  $$;
1290
1285
 
1291
- -- ---------------------------------------------------------------------------
1292
- -- App Installations
1293
- -- Tracks which apps have been installed via `spine-framework install-app`
1294
- -- ---------------------------------------------------------------------------
1295
- CREATE TABLE IF NOT EXISTS public.app_installations (
1296
- id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
1297
- app_slug text NOT NULL,
1298
- account_id uuid,
1299
- is_enabled boolean DEFAULT true,
1300
- installed_version text,
1301
- package_name text,
1302
- created_at timestamptz DEFAULT now(),
1303
- updated_at timestamptz DEFAULT now(),
1304
- UNIQUE (app_slug, account_id)
1305
- );
1306
1286
 
1307
1287
  -- ---------------------------------------------------------------------------
1308
1288
  -- Role Grants
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spine-framework",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "private": false,
5
5
  "description": "Spine — enterprise application framework built on Supabase + Netlify + React",
6
6
  "type": "module",
@@ -78,6 +78,8 @@
78
78
  "build": "tsc -b config/tsconfig.json && vite build --config config/vite.config.ts",
79
79
  "build:lib": "tsc -p config/tsconfig.build.json",
80
80
  "prepublishOnly": "npm run build:lib && npm run test:boundary && npm run test:unit",
81
+ "publish:next": "npm publish --tag next --access public",
82
+ "publish:promote": "node -e \"const v=require('./package.json').version;require('child_process').execSync('npm dist-tag add spine-framework@'+v+' latest',{stdio:'inherit'})\"",
81
83
  "preview": "vite preview --config config/vite.config.ts",
82
84
  "lint": "eslint .",
83
85
  "app-install": "tsx scripts/app-install-cli.ts",