{"error":"(conn:2853, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings-inc']","level":"error","message":"Register error","timestamp":"2026-04-23 15:48:51.253"}
{"error":"(conn:2854, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings-inc']","level":"error","message":"Register error","timestamp":"2026-04-23 15:49:02.248"}
{"error":"(conn:2863, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings']","level":"error","message":"Register error","timestamp":"2026-04-23 15:51:38.680"}
{"error":"(conn:2874, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings']","level":"error","message":"Register error","stack":"SqlError: (conn:2874, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings']\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 15:54:52.537"}
{"error":"(conn:2883, no: 1364, SQLState: HY000) Field 'tenant_id' doesn't have a default value\nsql: INSERT INTO tenants (id, name, slug, plan, region, industry, status, trial_ends_at)\n       VALUES (?, ?, ?, 'starter', ?, ?, 'trial', ?) - parameters:['52c7139d-03f0-48cf-80f4-f2a251dfb018','Pham Holdings','pham-holdings','us','Technology','05/07/2026 15:5...","level":"error","message":"Register error","stack":"SqlError: (conn:2883, no: 1364, SQLState: HY000) Field 'tenant_id' doesn't have a default value\nsql: INSERT INTO tenants (id, name, slug, plan, region, industry, status, trial_ends_at)\n       VALUES (?, ?, ?, 'starter', ?, ?, 'trial', ?) - parameters:['52c7139d-03f0-48cf-80f4-f2a251dfb018','Pham Holdings','pham-holdings','us','Technology','05/07/2026 15:5...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 15:57:28.204"}
{"error":"(conn:2889, no: 1364, SQLState: HY000) Field 'tenant_id' doesn't have a default value\nsql: INSERT INTO tenants (id, name, slug, plan, region, industry, status, trial_ends_at)\n       VALUES (?, ?, ?, 'starter', ?, ?, 'trial', ?) - parameters:['43c4823c-3391-42f2-ba4a-616b406c9ce7','Pham Holdings','pham-holdings','us','Technology','05/07/2026 16:0...","level":"error","message":"Register error","stack":"SqlError: (conn:2889, no: 1364, SQLState: HY000) Field 'tenant_id' doesn't have a default value\nsql: INSERT INTO tenants (id, name, slug, plan, region, industry, status, trial_ends_at)\n       VALUES (?, ?, ?, 'starter', ?, ?, 'trial', ?) - parameters:['43c4823c-3391-42f2-ba4a-616b406c9ce7','Pham Holdings','pham-holdings','us','Technology','05/07/2026 16:0...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 16:07:40.939"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:14:29.518"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:14:56.772"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:15:45.553"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:16:11.543"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:16:28.603"}
{"error":"(conn:2909, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...","level":"error","message":"Dashboard overview error","stack":"SqlError: (conn:2909, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 16:22:19.988"}
{"error":"(conn:2910, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...","level":"error","message":"Dashboard overview error","stack":"SqlError: (conn:2910, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 16:22:28.090"}
{"error":"(conn:2913, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...","level":"error","message":"Dashboard overview error","stack":"SqlError: (conn:2913, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 16:22:36.070"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['3ad49488a2e9338559ae93ec56cb7c5f46e07893d67b6d858f6...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 16:26:58.150"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['0eab6c813cc9a8ffca7d00ceb77c652842e591a14c4b0923d7e...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 16:44:34.856"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['89a41edb3da1a2fa69bd164e374113f03f5fc797413acf5940b...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 18:01:26.967"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['665d4edf47988cab8700d0783e09563c62bb6e89f933087df3a...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 20:43:08.573"}
{"error":"File type not allowed","level":"error","message":"Unhandled error","method":"POST","path":"/api/evidence","requestId":"d04a66e6-5210-4730-bb46-9f76a250a443","stack":"Error: File type not allowed\n    at fileFilter (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/server/routes/evidence.routes.js:38:10)\n    at wrappedFileFilter (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/multer/index.js:44:7)\n    at Multipart.<anonymous> (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/multer/lib/make-middleware.js:109:7)\n    at Multipart.emit (node:events:519:28)\n    at HeaderParser.cb (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:358:14)\n    at HeaderParser.push (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:162:20)\n    at SBMH.ssCb [as _cb] (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:394:37)\n    at feed (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/streamsearch/lib/sbmh.js:219:14)\n    at SBMH.push (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/streamsearch/lib/sbmh.js:104:16)\n    at Multipart._write (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:567:19)","tenantId":"83f0c0b9-62d8-44a6-913e-a7965d22a42c","timestamp":"2026-04-23 20:56:46.159"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['0c29f9130413bd2ce5c054772c4a84431a98cc78926468b4563...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 20:58:30.852"}
{"error":"File type not allowed","level":"error","message":"Unhandled error","method":"POST","path":"/api/evidence","requestId":"5ae49b45-46b6-4b55-b9f3-16630acfc149","stack":"Error: File type not allowed\n    at fileFilter (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/server/routes/evidence.routes.js:38:10)\n    at wrappedFileFilter (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/multer/index.js:44:7)\n    at Multipart.<anonymous> (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/multer/lib/make-middleware.js:109:7)\n    at Multipart.emit (node:events:519:28)\n    at HeaderParser.cb (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:358:14)\n    at HeaderParser.push (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:162:20)\n    at SBMH.ssCb [as _cb] (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:394:37)\n    at feed (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/streamsearch/lib/sbmh.js:219:14)\n    at SBMH.push (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/streamsearch/lib/sbmh.js:104:16)\n    at Multipart._write (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:567:19)","tenantId":"83f0c0b9-62d8-44a6-913e-a7965d22a42c","timestamp":"2026-04-23 20:59:11.275"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['9427716a49fcb6e9154fbe13394b648f3395fb1d6417ab3b3e7...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 21:17:12.400"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['3c26d197111ae0af36e61d7046dda706f5fd9ec96144e35dbdc...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 21:33:33.792"}
