v0.5.17: owner_email в companies + универсальный парсер токенов + jwt.decode fallback
This commit is contained in:
+5
-4
@@ -3,13 +3,14 @@ const { validate, overlaps } = require('./validators');
|
||||
|
||||
// ── Companies ──
|
||||
|
||||
async function getOrCreateCompany(clientId, companyName) {
|
||||
// Атомарный upsert — исключает дубли компаний при параллельных запросах
|
||||
async function getOrCreateCompany(clientId, companyName, ownerEmail) {
|
||||
// Атомарный upsert — исключает дубли компаний при параллельных запросах.
|
||||
// ownerEmail сохраняется только при INSERT (не перезаписывается при UPDATE).
|
||||
const res = await pool.query(
|
||||
`INSERT INTO companies (client_id, name) VALUES ($1, $2)
|
||||
`INSERT INTO companies (client_id, name, owner_email) VALUES ($1, $2, $3)
|
||||
ON CONFLICT (client_id) DO UPDATE SET name = COALESCE(companies.name, EXCLUDED.name)
|
||||
RETURNING *`,
|
||||
[clientId, companyName || clientId]
|
||||
[clientId, companyName || clientId, ownerEmail || null]
|
||||
);
|
||||
return res.rows[0];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user