launchbase 1.3.0 → 1.3.1

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.
package/bin/launchbase.js CHANGED
@@ -7,7 +7,7 @@ const crypto = require('crypto');
7
7
  const fs = require('fs-extra');
8
8
  const { execSync, spawn } = require('child_process');
9
9
 
10
- const VERSION = '1.3.0';
10
+ const VERSION = '1.3.1';
11
11
  const program = new Command();
12
12
 
13
13
  function findAvailablePort(startPort = 5432, maxAttempts = 100) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "launchbase",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Generate production-ready NestJS backends with authentication, multi-tenancy, billing, and deployment in minutes",
5
5
  "author": "LaunchBase",
6
6
  "keywords": [
@@ -59,6 +59,7 @@ CREATE TABLE "Project" (
59
59
  "organizationId" TEXT NOT NULL,
60
60
  "name" TEXT NOT NULL,
61
61
  "slug" TEXT NOT NULL,
62
+ "description" TEXT,
62
63
  "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
63
64
  "updatedAt" TIMESTAMP(3) NOT NULL,
64
65
 
@@ -75,6 +76,7 @@ CREATE TABLE "EdgeFunction" (
75
76
  "projectId" TEXT NOT NULL,
76
77
  "name" TEXT NOT NULL,
77
78
  "slug" TEXT NOT NULL,
79
+ "description" TEXT,
78
80
  "runtime" TEXT NOT NULL DEFAULT 'nodejs18',
79
81
  "sourceCode" TEXT NOT NULL,
80
82
  "environment" JSONB,
@@ -82,6 +84,7 @@ CREATE TABLE "EdgeFunction" (
82
84
  "status" TEXT NOT NULL DEFAULT 'draft',
83
85
  "deployedAt" TIMESTAMP(3),
84
86
  "deploymentUrl" TEXT,
87
+ "deploymentId" TEXT,
85
88
  "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
86
89
  "updatedAt" TIMESTAMP(3) NOT NULL,
87
90
 
@@ -108,6 +111,7 @@ CREATE TABLE "VectorCollection" (
108
111
  "id" TEXT NOT NULL,
109
112
  "projectId" TEXT NOT NULL,
110
113
  "name" TEXT NOT NULL,
114
+ "description" TEXT,
111
115
  "provider" TEXT NOT NULL DEFAULT 'local',
112
116
  "dimension" INTEGER NOT NULL DEFAULT 1536,
113
117
  "embeddingModel" TEXT NOT NULL DEFAULT 'text-embedding-3-small',
@@ -122,7 +126,9 @@ CREATE TABLE "Deployment" (
122
126
  "id" TEXT NOT NULL,
123
127
  "projectId" TEXT NOT NULL,
124
128
  "status" TEXT NOT NULL DEFAULT 'pending',
125
- "version" TEXT,
129
+ "version" TEXT NOT NULL,
130
+ "description" TEXT,
131
+ "error" TEXT,
126
132
  "deployedAt" TIMESTAMP(3),
127
133
  "platform" TEXT,
128
134
  "url" TEXT,
@@ -132,6 +138,58 @@ CREATE TABLE "Deployment" (
132
138
  CONSTRAINT "Deployment_pkey" PRIMARY KEY ("id")
133
139
  );
134
140
 
141
+ -- ============================================
142
+ -- API Keys & Webhooks (v1.3.0)
143
+ -- ============================================
144
+
145
+ -- CreateTable
146
+ CREATE TABLE "ProjectApiKey" (
147
+ "id" TEXT NOT NULL,
148
+ "projectId" TEXT NOT NULL,
149
+ "name" TEXT NOT NULL,
150
+ "keyHash" TEXT NOT NULL,
151
+ "prefix" TEXT NOT NULL,
152
+ "permissions" JSONB NOT NULL,
153
+ "lastUsed" TIMESTAMP(3),
154
+ "expiresAt" TIMESTAMP(3),
155
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
156
+ "updatedAt" TIMESTAMP(3) NOT NULL,
157
+
158
+ CONSTRAINT "ProjectApiKey_pkey" PRIMARY KEY ("id")
159
+ );
160
+
161
+ -- CreateTable
162
+ CREATE TABLE "ProjectWebhook" (
163
+ "id" TEXT NOT NULL,
164
+ "projectId" TEXT NOT NULL,
165
+ "name" TEXT NOT NULL,
166
+ "url" TEXT NOT NULL,
167
+ "events" JSONB NOT NULL,
168
+ "secret" TEXT NOT NULL,
169
+ "status" TEXT NOT NULL DEFAULT 'active',
170
+ "lastTriggered" TIMESTAMP(3),
171
+ "successCount" INTEGER NOT NULL DEFAULT 0,
172
+ "failCount" INTEGER NOT NULL DEFAULT 0,
173
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
174
+ "updatedAt" TIMESTAMP(3) NOT NULL,
175
+
176
+ CONSTRAINT "ProjectWebhook_pkey" PRIMARY KEY ("id")
177
+ );
178
+
179
+ -- CreateTable
180
+ CREATE TABLE "ProviderCredential" (
181
+ "id" TEXT NOT NULL,
182
+ "userId" TEXT NOT NULL,
183
+ "provider" TEXT NOT NULL,
184
+ "accessToken" TEXT NOT NULL,
185
+ "refreshToken" TEXT,
186
+ "expiresAt" TIMESTAMP(3),
187
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
188
+ "updatedAt" TIMESTAMP(3) NOT NULL,
189
+
190
+ CONSTRAINT "ProviderCredential_pkey" PRIMARY KEY ("id")
191
+ );
192
+
135
193
  -- ============================================
136
194
  -- Auth & Session Models
137
195
  -- ============================================
@@ -319,6 +377,19 @@ CREATE UNIQUE INDEX "VectorCollection_projectId_name_key" ON "VectorCollection"(
319
377
  CREATE INDEX "Deployment_projectId_idx" ON "Deployment"("projectId");
320
378
  CREATE INDEX "Deployment_status_idx" ON "Deployment"("status");
321
379
 
380
+ -- ProjectApiKey indexes
381
+ CREATE INDEX "ProjectApiKey_projectId_idx" ON "ProjectApiKey"("projectId");
382
+ CREATE UNIQUE INDEX "ProjectApiKey_keyHash_key" ON "ProjectApiKey"("keyHash");
383
+
384
+ -- ProjectWebhook indexes
385
+ CREATE INDEX "ProjectWebhook_projectId_idx" ON "ProjectWebhook"("projectId");
386
+ CREATE INDEX "ProjectWebhook_status_idx" ON "ProjectWebhook"("status");
387
+
388
+ -- ProviderCredential indexes
389
+ CREATE INDEX "ProviderCredential_userId_idx" ON "ProviderCredential"("userId");
390
+ CREATE INDEX "ProviderCredential_provider_idx" ON "ProviderCredential"("provider");
391
+ CREATE UNIQUE INDEX "ProviderCredential_userId_provider_key" ON "ProviderCredential"("userId", "provider");
392
+
322
393
  -- VerificationToken indexes
323
394
  CREATE UNIQUE INDEX "VerificationToken_token_key" ON "VerificationToken"("token");
324
395
 
@@ -388,6 +459,15 @@ ALTER TABLE "VectorCollection" ADD CONSTRAINT "VectorCollection_projectId_fkey"
388
459
  -- Deployment -> Project
389
460
  ALTER TABLE "Deployment" ADD CONSTRAINT "Deployment_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
390
461
 
462
+ -- ProjectApiKey -> Project
463
+ ALTER TABLE "ProjectApiKey" ADD CONSTRAINT "ProjectApiKey_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
464
+
465
+ -- ProjectWebhook -> Project
466
+ ALTER TABLE "ProjectWebhook" ADD CONSTRAINT "ProjectWebhook_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
467
+
468
+ -- ProviderCredential -> User
469
+ ALTER TABLE "ProviderCredential" ADD CONSTRAINT "ProviderCredential_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
470
+
391
471
  -- VerificationToken -> User
392
472
  ALTER TABLE "VerificationToken" ADD CONSTRAINT "VerificationToken_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
393
473