Fix SMS batch apply dry-run env and add rollout tracker.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Khanegi SMS sync — rollout tracker
|
||||
|
||||
Fill this after running inventory on SuperAdmin:
|
||||
|
||||
```bash
|
||||
cd /var/www/superadmin/api
|
||||
git pull
|
||||
bash deploy/run-khanegi-sms-inventory.sh
|
||||
# or: npm run prisma:inventory-khanegi-sms
|
||||
```
|
||||
|
||||
Rule: one row = one sold version = one MySQL = one `.env` = one `SUPERADMIN_SMS_DOMAIN`.
|
||||
|
||||
| domain | serverHost | syncStatus | imported | remote_enabled | probe_ok | notes |
|
||||
|--------|------------|------------|----------|----------------|----------|-------|
|
||||
| | | | | | | |
|
||||
|
||||
## Pilot
|
||||
|
||||
- [ ] Choose low-risk domain (`pilot: true` in `prisma/khanegi-sms-targets.json`)
|
||||
- [ ] Note local balance / price / block from Khanegi panel
|
||||
- [ ] Dry-run import
|
||||
- [ ] Apply import
|
||||
- [ ] Match numbers in SuperAdmin UI
|
||||
- [ ] Enable `SUPERADMIN_SMS_*` only on that version `.env`
|
||||
- [ ] `php artisan sms:superadmin-probe`
|
||||
- [ ] Parallel smoke (charge / price / send)
|
||||
|
||||
## Rollout
|
||||
|
||||
- [ ] Remaining targets dry-run
|
||||
- [ ] Remaining targets apply
|
||||
- [ ] Enable remote per install
|
||||
- [ ] Skip `sms_panel=me` / missing wallet
|
||||
@@ -101,17 +101,21 @@ function main() {
|
||||
continue;
|
||||
}
|
||||
|
||||
const childEnv = {
|
||||
const childEnv: NodeJS.ProcessEnv = {
|
||||
...process.env,
|
||||
SMS_IMPORT_DOMAIN: target.domain,
|
||||
SMS_IMPORT_PRODUCT: product,
|
||||
SMS_IMPORT_DRY_RUN: dryRun ? '1' : env('SMS_IMPORT_DRY_RUN'),
|
||||
SMS_IMPORT_DB_HOST: String(db.host || '127.0.0.1'),
|
||||
SMS_IMPORT_DB_PORT: String(db.port || 3306),
|
||||
SMS_IMPORT_DB_USER: String(db.user || 'root'),
|
||||
SMS_IMPORT_DB_PASSWORD: String(db.password ?? ''),
|
||||
SMS_IMPORT_DB_DATABASE: String(db.database),
|
||||
};
|
||||
if (dryRun) {
|
||||
childEnv.SMS_IMPORT_DRY_RUN = '1';
|
||||
} else {
|
||||
delete childEnv.SMS_IMPORT_DRY_RUN;
|
||||
}
|
||||
|
||||
console.log(`\n=== ${dryRun ? 'DRY ' : ''}IMPORT ${target.domain} (${product}) ===`);
|
||||
const result = spawnSync(
|
||||
|
||||
Reference in New Issue
Block a user