layero 0.11.13 → 0.11.15
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/dist/commands/data-api.js +18 -9
- package/package.json +1 -1
|
@@ -179,6 +179,9 @@ export async function dataKeysIssueCmd(opts) {
|
|
|
179
179
|
prefix: issued.prefix,
|
|
180
180
|
key: issued.key,
|
|
181
181
|
expires_at: issued.expires_at ?? null,
|
|
182
|
+
// Что маскировать (T-20261026-6), как у database_created: секретный ключ
|
|
183
|
+
// платформа не хранит и больше не покажет — в журнал агента он попасть не должен.
|
|
184
|
+
secrets: kind === "secret" ? ["key"] : [],
|
|
182
185
|
});
|
|
183
186
|
return;
|
|
184
187
|
}
|
|
@@ -438,12 +441,12 @@ export async function dataGrantCmd(object, opts) {
|
|
|
438
441
|
console.log(planLines(done).join("\n"));
|
|
439
442
|
console.log(`\n${chalk.green("✓")} доступ изменён`);
|
|
440
443
|
}
|
|
441
|
-
// Что
|
|
442
|
-
// `runtime/userdb-agent/agent.py`, `api_enable`
|
|
443
|
-
//
|
|
444
|
-
//
|
|
445
|
-
//
|
|
446
|
-
const REPAIR_LOSS = "
|
|
444
|
+
// Что делает переприменение (сверено с агентом узла 26.10.2026,
|
|
445
|
+
// `runtime/userdb-agent/agent.py`, `api_enable` и `supabase_parity`): роли
|
|
446
|
+
// Data API и их пароли заводятся заново, права по умолчанию на `public` — как у
|
|
447
|
+
// Supabase (T-20261025-32). Выданные и закрытые владельцем права на таблицы
|
|
448
|
+
// СОХРАНЯЮТСЯ: разовые шаги перехода повторно не выполняются.
|
|
449
|
+
const REPAIR_LOSS = "роли Data API и права по умолчанию будут переприменены (как в Supabase); выданные и закрытые вами права на таблицы сохранятся";
|
|
447
450
|
/**
|
|
448
451
|
* Включение Data API.
|
|
449
452
|
*
|
|
@@ -494,7 +497,11 @@ export async function dataEnableCmd(opts) {
|
|
|
494
497
|
slug: res.slug,
|
|
495
498
|
public_key: publicKey,
|
|
496
499
|
secret_key: secretKey,
|
|
500
|
+
// Что маскировать (T-20261026-6): секретный ключ показывается один раз.
|
|
501
|
+
secrets: secretKey ? ["secret_key"] : [],
|
|
497
502
|
reapplied,
|
|
503
|
+
// Итог включения словами: какие таблицы открыты, какие без RLS закрыты.
|
|
504
|
+
warnings: res.warnings ?? [],
|
|
498
505
|
...(publicKey || secretKey
|
|
499
506
|
? { next_action: "ключи показаны один раз — сохраните их сейчас. Публичный потом: layero data env " +
|
|
500
507
|
`(у подключённого проекта) или новый: layero data keys issue --db ${shellArg(ref)}; ` +
|
|
@@ -507,9 +514,10 @@ export async function dataEnableCmd(opts) {
|
|
|
507
514
|
// агент снимает права только в `public`, уровни в `api` и `app` остаются.
|
|
508
515
|
console.log(reapplied
|
|
509
516
|
? `${chalk.green("✓")} Data API переприменён у базы «${db.name}»\n` +
|
|
510
|
-
chalk.yellow(" Выданные права на таблицы
|
|
511
|
-
"новые таблицы ролям Data API: новые таблицы открывайте явно — layero data grant")
|
|
517
|
+
chalk.yellow(" Выданные права на таблицы сохранились, права по умолчанию — как в Supabase")
|
|
512
518
|
: `${chalk.green("✓")} Data API включён у базы «${db.name}»`);
|
|
519
|
+
for (const w of res.warnings ?? [])
|
|
520
|
+
console.log(chalk.yellow(`\n ⚠ ${w}`));
|
|
513
521
|
if (publicKey)
|
|
514
522
|
console.log(`\n публичный ключ: ${publicKey}`);
|
|
515
523
|
if (secretKey) {
|
|
@@ -519,7 +527,8 @@ export async function dataEnableCmd(opts) {
|
|
|
519
527
|
if (!publicKey && !secretKey)
|
|
520
528
|
console.log(chalk.dim(` ключи уже были — список: layero data keys list --db ${ref}`));
|
|
521
529
|
if (!reapplied) {
|
|
522
|
-
console.log(chalk.dim("\n
|
|
530
|
+
console.log(chalk.dim("\n Как в Supabase: новые таблицы public открыты ролям, строки решает RLS — включайте его у " +
|
|
531
|
+
"каждой таблицы. Что открыто: layero data methods"));
|
|
523
532
|
}
|
|
524
533
|
}
|
|
525
534
|
/**
|
package/package.json
CHANGED