sitepaige-mcp-server 1.2.2 → 1.2.4

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.
@@ -49,8 +49,8 @@ export async function POST(request: Request) {
49
49
  );
50
50
  }
51
51
 
52
- const { authenticateUser, createPasswordAuthTable } = await import('../../db-password-auth');
53
- const { upsertUser } = await import('../../db-users');
52
+ const { authenticateUser, createPasswordAuthTable } = await import('../db-password-auth');
53
+ const { upsertUser } = await import('../db-users');
54
54
 
55
55
  // Ensure password auth table exists
56
56
  await createPasswordAuthTable();
@@ -0,0 +1,203 @@
1
+ /*
2
+ Form submission database functions
3
+ Handles storing form data in the database
4
+ */
5
+
6
+ import { db_init, db_query, DatabaseClient } from './db';
7
+ import * as crypto from 'crypto';
8
+
9
+ /**
10
+ * Insert a form submission into the database
11
+ * @param formName - Name/identifier of the form
12
+ * @param formData - JSON data from the form
13
+ * @returns The ID of the inserted submission
14
+ */
15
+ export async function insertFormSubmission(
16
+ formName: string,
17
+ formData: Record<string, any>
18
+ ): Promise<number> {
19
+ const client = await db_init();
20
+
21
+ const dbType = (process.env.DATABASE_TYPE || process.env.DB_TYPE || 'postgres').toLowerCase();
22
+
23
+ let query: string;
24
+ let params: any[];
25
+
26
+ switch (dbType) {
27
+ case 'postgres':
28
+ query = `
29
+ INSERT INTO form_submissions (form_name, form_data)
30
+ VALUES ($1, $2)
31
+ RETURNING id
32
+ `;
33
+ params = [formName, JSON.stringify(formData)];
34
+ break;
35
+
36
+ case 'mysql':
37
+ query = `
38
+ INSERT INTO form_submissions (form_name, form_data)
39
+ VALUES (?, ?)
40
+ `;
41
+ params = [formName, JSON.stringify(formData)];
42
+ break;
43
+
44
+ default: // sqlite
45
+ query = `
46
+ INSERT INTO form_submissions (form_name, form_data)
47
+ VALUES (?, ?)
48
+ `;
49
+ params = [formName, JSON.stringify(formData)];
50
+ break;
51
+ }
52
+
53
+ const result = await db_query(client, query, params);
54
+
55
+ if (dbType === 'postgres') {
56
+ return result[0].id;
57
+ } else if (dbType === 'mysql') {
58
+ return (result as any).insertId;
59
+ } else {
60
+ // SQLite - get the last inserted row id
61
+ const lastIdResult = await db_query(client, 'SELECT last_insert_rowid() as id', []);
62
+ return lastIdResult[0].id;
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Get form submissions by form name with pagination
68
+ * @param formName - Name of the form (optional, returns all if not provided)
69
+ * @param limit - Number of records to return
70
+ * @param offset - Number of records to skip
71
+ * @returns Array of form submissions
72
+ */
73
+ export async function getFormSubmissions(
74
+ formName?: string,
75
+ limit: number = 50,
76
+ offset: number = 0
77
+ ): Promise<Array<{
78
+ id: number;
79
+ timestamp: string;
80
+ form_name: string;
81
+ form_data: any;
82
+ }>> {
83
+ const client = await db_init();
84
+
85
+ let query: string;
86
+ let params: any[];
87
+
88
+ if (formName) {
89
+ query = `
90
+ SELECT id, timestamp, form_name, form_data
91
+ FROM form_submissions
92
+ WHERE form_name = ?
93
+ ORDER BY timestamp DESC
94
+ LIMIT ? OFFSET ?
95
+ `;
96
+ params = [formName, limit, offset];
97
+ } else {
98
+ query = `
99
+ SELECT id, timestamp, form_name, form_data
100
+ FROM form_submissions
101
+ ORDER BY timestamp DESC
102
+ LIMIT ? OFFSET ?
103
+ `;
104
+ params = [limit, offset];
105
+ }
106
+
107
+ const result = await db_query(client, query, params);
108
+
109
+ // Parse JSON data for each submission
110
+ return result.map(row => ({
111
+ ...row,
112
+ form_data: typeof row.form_data === 'string' ? JSON.parse(row.form_data) : row.form_data
113
+ }));
114
+ }
115
+
116
+ /**
117
+ * Get a single form submission by ID
118
+ * @param id - ID of the submission
119
+ * @returns Form submission or null if not found
120
+ */
121
+ export async function getFormSubmissionById(
122
+ id: number
123
+ ): Promise<{
124
+ id: number;
125
+ timestamp: string;
126
+ form_name: string;
127
+ form_data: any;
128
+ } | null> {
129
+ const client = await db_init();
130
+
131
+ const query = `
132
+ SELECT id, timestamp, form_name, form_data
133
+ FROM form_submissions
134
+ WHERE id = ?
135
+ `;
136
+
137
+ const result = await db_query(client, query, [id]);
138
+
139
+ if (result.length === 0) {
140
+ return null;
141
+ }
142
+
143
+ const row = result[0];
144
+ return {
145
+ ...row,
146
+ form_data: typeof row.form_data === 'string' ? JSON.parse(row.form_data) : row.form_data
147
+ };
148
+ }
149
+
150
+ /**
151
+ * Delete a form submission by ID
152
+ * @param id - ID of the submission to delete
153
+ * @returns true if deleted, false if not found
154
+ */
155
+ export async function deleteFormSubmission(id: number): Promise<boolean> {
156
+ const client = await db_init();
157
+
158
+ const query = `
159
+ DELETE FROM form_submissions
160
+ WHERE id = ?
161
+ `;
162
+
163
+ const result = await db_query(client, query, [id]);
164
+
165
+ // Check if a row was deleted
166
+ if ((result as any).affectedRows !== undefined) {
167
+ return (result as any).affectedRows > 0;
168
+ } else if ((result as any).changes !== undefined) {
169
+ return (result as any).changes > 0;
170
+ }
171
+
172
+ return false;
173
+ }
174
+
175
+ /**
176
+ * Get count of form submissions by form name
177
+ * @param formName - Name of the form (optional, returns total if not provided)
178
+ * @returns Count of submissions
179
+ */
180
+ export async function getFormSubmissionCount(formName?: string): Promise<number> {
181
+ const client = await db_init();
182
+
183
+ let query: string;
184
+ let params: any[];
185
+
186
+ if (formName) {
187
+ query = `
188
+ SELECT COUNT(*) as count
189
+ FROM form_submissions
190
+ WHERE form_name = ?
191
+ `;
192
+ params = [formName];
193
+ } else {
194
+ query = `
195
+ SELECT COUNT(*) as count
196
+ FROM form_submissions
197
+ `;
198
+ params = [];
199
+ }
200
+
201
+ const result = await db_query(client, query, params);
202
+ return parseInt(result[0].count, 10);
203
+ }
@@ -0,0 +1,196 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+ import { insertFormSubmission, getFormSubmissions, getFormSubmissionById } from '../db-forms';
3
+ import { validateSession } from '../db-users';
4
+ import { cookies } from 'next/headers';
5
+ import { validateCSRFToken } from '../csrf';
6
+
7
+ /**
8
+ * POST /api/form
9
+ * Submit a form with data
10
+ *
11
+ * Request body:
12
+ * {
13
+ * formName: string, // Required: Name/identifier of the form
14
+ * data: object // Required: Form data as key-value pairs
15
+ * }
16
+ *
17
+ * Response:
18
+ * {
19
+ * success: boolean,
20
+ * submissionId: number,
21
+ * message: string
22
+ * }
23
+ */
24
+ export async function POST(request: NextRequest) {
25
+ try {
26
+ // Validate CSRF token for security
27
+ const csrfToken = request.headers.get('X-CSRF-Token');
28
+ if (csrfToken && !(await validateCSRFToken(csrfToken))) {
29
+ return NextResponse.json(
30
+ { error: 'Invalid CSRF token' },
31
+ { status: 403 }
32
+ );
33
+ }
34
+
35
+ const body = await request.json();
36
+ const { formName, data } = body;
37
+
38
+ // Validate required fields
39
+ if (!formName || typeof formName !== 'string') {
40
+ return NextResponse.json(
41
+ { error: 'Form name is required' },
42
+ { status: 400 }
43
+ );
44
+ }
45
+
46
+ if (!data || typeof data !== 'object') {
47
+ return NextResponse.json(
48
+ { error: 'Form data is required and must be an object' },
49
+ { status: 400 }
50
+ );
51
+ }
52
+
53
+ // Add metadata to the form data
54
+ const enrichedData = {
55
+ ...data,
56
+ _metadata: {
57
+ submittedAt: new Date().toISOString(),
58
+ userAgent: request.headers.get('user-agent') || 'Unknown',
59
+ ip: request.headers.get('x-forwarded-for') ||
60
+ request.headers.get('x-real-ip') ||
61
+ 'Unknown',
62
+ referer: request.headers.get('referer') || 'Direct'
63
+ }
64
+ };
65
+
66
+ // Check if user is authenticated (optional - forms can work for anonymous users too)
67
+ let userId = null;
68
+ try {
69
+ const sessionCookie = await cookies();
70
+ const sessionToken = sessionCookie.get('session_id')?.value;
71
+ if (sessionToken) {
72
+ const sessionData = await validateSession(sessionToken);
73
+ if (sessionData.valid && sessionData.user) {
74
+ userId = sessionData.user.userid;
75
+ enrichedData._metadata.userId = userId;
76
+ enrichedData._metadata.userEmail = sessionData.user.email;
77
+ }
78
+ }
79
+ } catch (err) {
80
+ // Authentication is optional, continue without user data
81
+ }
82
+
83
+ // Insert the form submission
84
+ const submissionId = await insertFormSubmission(formName, enrichedData);
85
+
86
+ return NextResponse.json({
87
+ success: true,
88
+ submissionId,
89
+ message: 'Form submitted successfully'
90
+ }, { status: 201 });
91
+
92
+ } catch (error) {
93
+ console.error('Form submission error:', error);
94
+ return NextResponse.json(
95
+ { error: error instanceof Error ? error.message : 'Failed to submit form' },
96
+ { status: 500 }
97
+ );
98
+ }
99
+ }
100
+
101
+ /**
102
+ * GET /api/form
103
+ * Retrieve form submissions (requires admin authentication)
104
+ *
105
+ * Query parameters:
106
+ * - formName: string (optional) - Filter by form name
107
+ * - limit: number (optional, default 50) - Number of records to return
108
+ * - offset: number (optional, default 0) - Number of records to skip
109
+ * - id: number (optional) - Get a specific submission by ID
110
+ *
111
+ * Response:
112
+ * {
113
+ * submissions: Array<{
114
+ * id: number,
115
+ * timestamp: string,
116
+ * form_name: string,
117
+ * form_data: object
118
+ * }>,
119
+ * total: number
120
+ * }
121
+ */
122
+ export async function GET(request: NextRequest) {
123
+ try {
124
+ // Check authentication - only admins can view form submissions
125
+ const sessionCookie = await cookies();
126
+ const sessionToken = sessionCookie.get('session_id')?.value;
127
+
128
+ if (!sessionToken) {
129
+ return NextResponse.json(
130
+ { error: 'Authentication required' },
131
+ { status: 401 }
132
+ );
133
+ }
134
+
135
+ const sessionData = await validateSession(sessionToken);
136
+ if (!sessionData.valid || !sessionData.user) {
137
+ return NextResponse.json(
138
+ { error: 'Invalid session' },
139
+ { status: 401 }
140
+ );
141
+ }
142
+
143
+ // Check if user is admin (userlevel 2)
144
+ if (sessionData.user.userlevel !== 2) {
145
+ return NextResponse.json(
146
+ { error: 'Admin access required' },
147
+ { status: 403 }
148
+ );
149
+ }
150
+
151
+ // Parse query parameters
152
+ const { searchParams } = new URL(request.url);
153
+ const formName = searchParams.get('formName') || undefined;
154
+ const limit = parseInt(searchParams.get('limit') || '50', 10);
155
+ const offset = parseInt(searchParams.get('offset') || '0', 10);
156
+ const id = searchParams.get('id');
157
+
158
+ // If ID is provided, get a specific submission
159
+ if (id) {
160
+ const submission = await getFormSubmissionById(parseInt(id, 10));
161
+ if (!submission) {
162
+ return NextResponse.json(
163
+ { error: 'Submission not found' },
164
+ { status: 404 }
165
+ );
166
+ }
167
+ return NextResponse.json({ submission });
168
+ }
169
+
170
+ // Get form submissions with pagination
171
+ const [submissions, total] = await Promise.all([
172
+ getFormSubmissions(formName, limit, offset),
173
+ getFormSubmissionCount(formName)
174
+ ]);
175
+
176
+ return NextResponse.json({
177
+ submissions,
178
+ total,
179
+ pagination: {
180
+ limit,
181
+ offset,
182
+ hasMore: offset + submissions.length < total
183
+ }
184
+ });
185
+
186
+ } catch (error) {
187
+ console.error('Form retrieval error:', error);
188
+ return NextResponse.json(
189
+ { error: error instanceof Error ? error.message : 'Failed to retrieve forms' },
190
+ { status: 500 }
191
+ );
192
+ }
193
+ }
194
+
195
+ // Import the missing function
196
+ import { getFormSubmissionCount } from '../db-forms';
@@ -23,23 +23,6 @@ async function copyDirectory(source, destination) {
23
23
  }
24
24
  }
25
25
  }
26
- async function copyDirectoryWithExclusions(source, destination, excludeFiles) {
27
- ensureDir(destination);
28
- const entries = await fsp.readdir(source, { withFileTypes: true });
29
- for (const entry of entries) {
30
- const sourcePath = path.join(source, entry.name);
31
- const destPath = path.join(destination, entry.name);
32
- if (entry.isDirectory()) {
33
- await copyDirectoryWithExclusions(sourcePath, destPath, excludeFiles);
34
- }
35
- else if (entry.isFile() && !excludeFiles.includes(entry.name)) {
36
- // Only copy if the file doesn't already exist and is not in the exclude list
37
- if (!fs.existsSync(destPath)) {
38
- await fsp.copyFile(sourcePath, destPath);
39
- }
40
- }
41
- }
42
- }
43
26
  export async function writeDefaultApp(targetDir, databaseType = "postgres") {
44
27
  // The defaultapp folder is at the root of the project
45
28
  const defaultAppPath = path.join(__dirname, "..", "..", "defaultapp");
@@ -48,44 +31,18 @@ export async function writeDefaultApp(targetDir, databaseType = "postgres") {
48
31
  const publicDir = path.join(targetDir, "public");
49
32
  // Ensure the app directory exists
50
33
  ensureDir(appDir);
51
- // Copy all contents from defaultapp to src/app, excluding database files we'll handle separately
52
- const excludeFiles = ['db.ts', 'db-sqlite.ts', 'db-postgres.ts', 'db-mysql.ts', 'db-users.ts', 'db-password-auth.ts', 'util.ts', 'middleware.ts', 'csrf.ts'];
53
- await copyDirectoryWithExclusions(defaultAppPath, appDir, excludeFiles);
34
+ // Copy all contents from defaultapp to src/app
35
+ await copyDirectory(defaultAppPath, appDir);
54
36
  // Copy defaultpublic folder to public directory if it exists
55
37
  if (fs.existsSync(defaultPublicPath)) {
56
38
  await copyDirectory(defaultPublicPath, publicDir);
57
39
  }
58
- // Copy database files based on selected database type
59
- const dbFiles = ['db-users.ts', 'db-password-auth.ts', 'util.ts', 'csrf.ts'];
60
- // Copy the common database files
61
- for (const file of dbFiles) {
62
- const sourcePath = path.join(defaultAppPath, file);
63
- const destPath = path.join(appDir, file);
64
- if (fs.existsSync(sourcePath) && !fs.existsSync(destPath)) {
65
- await fsp.copyFile(sourcePath, destPath);
66
- }
67
- }
68
40
  // Copy middleware.ts to the src directory (not src/app)
69
41
  const middlewareSourcePath = path.join(defaultAppPath, 'middleware.ts');
70
42
  const middlewareDestPath = path.join(targetDir, 'src', 'middleware.ts');
71
43
  if (fs.existsSync(middlewareSourcePath) && !fs.existsSync(middlewareDestPath)) {
72
44
  await fsp.copyFile(middlewareSourcePath, middlewareDestPath);
73
45
  }
74
- // Copy only the selected database implementation
75
- const dbImplFile = `db-${databaseType}.ts`;
76
- const sourceDbImplPath = path.join(defaultAppPath, dbImplFile);
77
- const destDbImplPath = path.join(appDir, dbImplFile);
78
- if (fs.existsSync(sourceDbImplPath) && !fs.existsSync(destDbImplPath)) {
79
- await fsp.copyFile(sourceDbImplPath, destDbImplPath);
80
- }
81
- // Generate the db.ts file from template
82
- const dbTemplatePath = path.join(__dirname, "db-template.txt");
83
- const dbTemplate = await fsp.readFile(dbTemplatePath, "utf8");
84
- const dbContent = dbTemplate.replace('{{DATABASE_TYPE}}', databaseType);
85
- const dbPath = path.join(appDir, "db.ts");
86
- if (!fs.existsSync(dbPath)) {
87
- await fsp.writeFile(dbPath, dbContent, "utf8");
88
- }
89
46
  // Create .env.example file
90
47
  const envExamplePath = path.join(targetDir, ".env.example");
91
48
  if (!fs.existsSync(envExamplePath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"defaultapp.js","sourceRoot":"","sources":["../../src/generators/defaultapp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaultapp.js","sourceRoot":"","sources":["../../src/generators/defaultapp.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,10 @@ export async function writePackageJson(targetDir, projectName, databaseType = "p
111
111
  tailwindcss: pkg.dependencies?.tailwindcss ?? "^3.4.1",
112
112
  postcss: pkg.dependencies?.postcss ?? "latest",
113
113
  autoprefixer: pkg.dependencies?.autoprefixer ?? "latest",
114
+ // Database dependencies - include all since we're copying all db files
115
+ "better-sqlite3": pkg.dependencies?.["better-sqlite3"] ?? "^11.3.0",
116
+ pg: pkg.dependencies?.pg ?? "^8.11.3",
117
+ mysql2: pkg.dependencies?.mysql2 ?? "^3.6.5",
114
118
  // TypeScript and types need to be in dependencies for Vercel
115
119
  typescript: pkg.dependencies?.typescript ?? "latest",
116
120
  "@types/node": pkg.dependencies?.["@types/node"] ?? "latest",
@@ -118,19 +122,6 @@ export async function writePackageJson(targetDir, projectName, databaseType = "p
118
122
  "@types/react-dom": pkg.dependencies?.["@types/react-dom"] ?? "latest",
119
123
  "@types/mime-types": pkg.dependencies?.["@types/mime-types"] ?? "^2.1.4"
120
124
  };
121
- // Add database-specific dependencies
122
- switch (databaseType) {
123
- case "postgres":
124
- pkg.dependencies.pg = pkg.dependencies?.pg ?? "^8.11.3";
125
- break;
126
- case "mysql":
127
- pkg.dependencies.mysql2 = pkg.dependencies?.mysql2 ?? "^3.6.5";
128
- break;
129
- case "sqlite":
130
- default:
131
- pkg.dependencies["better-sqlite3"] = pkg.dependencies?.["better-sqlite3"] ?? "^9.2.2";
132
- break;
133
- }
134
125
  // Keep devDependencies minimal or empty for Vercel compatibility
135
126
  pkg.devDependencies = pkg.devDependencies ?? {};
136
127
  await fsp.writeFile(pkgPath, JSON.stringify(pkg, null, 2) + "\n", "utf8");
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../src/generators/skeleton.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../src/generators/skeleton.ts"],"names":[],"mappings":"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"}
@@ -190,6 +190,21 @@ export async function writeModelsSql(targetDir, blueprint, databaseType = "postg
190
190
  lines.push(`CREATE INDEX IF NOT EXISTS idx_passwordauth_verification_token ON ${quoteChar}passwordauth${quoteChar}(${quoteChar}verificationtoken${quoteChar});`);
191
191
  lines.push(`CREATE INDEX IF NOT EXISTS idx_passwordauth_reset_token ON ${quoteChar}passwordauth${quoteChar}(${quoteChar}resettoken${quoteChar});`);
192
192
  lines.push(`CREATE INDEX IF NOT EXISTS idx_passwordauth_email_verified ON ${quoteChar}passwordauth${quoteChar}(${quoteChar}emailverified${quoteChar});`);
193
+ // Add FormSubmissions table for storing form data
194
+ lines.push(`\n-- FormSubmissions table for storing form data`);
195
+ if (databaseType === 'sqlite') {
196
+ lines.push(`CREATE TABLE IF NOT EXISTS ${quoteChar}form_submissions${quoteChar} (`, ` ${quoteChar}id${quoteChar} INTEGER PRIMARY KEY AUTOINCREMENT,`, ` ${quoteChar}timestamp${quoteChar} TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,`, ` ${quoteChar}form_name${quoteChar} TEXT NOT NULL,`, ` ${quoteChar}form_data${quoteChar} TEXT NOT NULL`, `);`);
197
+ }
198
+ else if (databaseType === 'postgres') {
199
+ lines.push(`CREATE TABLE IF NOT EXISTS ${quoteChar}form_submissions${quoteChar} (`, ` ${quoteChar}id${quoteChar} SERIAL PRIMARY KEY,`, ` ${quoteChar}timestamp${quoteChar} TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,`, ` ${quoteChar}form_name${quoteChar} VARCHAR(255) NOT NULL,`, ` ${quoteChar}form_data${quoteChar} JSONB NOT NULL`, `);`);
200
+ }
201
+ else if (databaseType === 'mysql') {
202
+ lines.push(`CREATE TABLE IF NOT EXISTS ${quoteChar}form_submissions${quoteChar} (`, ` ${quoteChar}id${quoteChar} INT AUTO_INCREMENT PRIMARY KEY,`, ` ${quoteChar}timestamp${quoteChar} TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,`, ` ${quoteChar}form_name${quoteChar} VARCHAR(255) NOT NULL,`, ` ${quoteChar}form_data${quoteChar} JSON NOT NULL`, `);`);
203
+ }
204
+ // Add indexes for FormSubmissions
205
+ lines.push(`\n-- Indexes for FormSubmissions`);
206
+ lines.push(`CREATE INDEX IF NOT EXISTS idx_form_submissions_name ON ${quoteChar}form_submissions${quoteChar}(${quoteChar}form_name${quoteChar});`);
207
+ lines.push(`CREATE INDEX IF NOT EXISTS idx_form_submissions_timestamp ON ${quoteChar}form_submissions${quoteChar}(${quoteChar}timestamp${quoteChar});`);
193
208
  lines.push("");
194
209
  await fsp.writeFile(basePath, lines.join("\n"), "utf8");
195
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/generators/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/generators/sql.ts"],"names":[],"mappings":"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"}