indraq_cli 1.9.0 → 1.9.2
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/README.md +549 -1175
- package/cloud-api/dist/index.js +92 -17
- package/cloud-api/dist/index.js.map +1 -0
- package/cloud-api/node_modules/.package-lock.json +4 -4
- package/cloud-api/node_modules/@aws-sdk/client-iam/dist-cjs/index.js +1 -1
- package/cloud-api/node_modules/@aws-sdk/client-iam/package.json +1 -1
- package/cloud-api/package-lock.json +5 -5
- package/cloud-api/package.json +1 -1
- package/cloud-api/src/index.ts +77 -12
- package/dist/cli/help-content.d.ts.map +1 -1
- package/dist/cli/help-content.js +5 -2
- package/dist/cli/help-content.js.map +1 -1
- package/dist/modules/cloud/config/cloud-config.d.ts +1 -1
- package/dist/modules/cloud/config/cloud-config.js +1 -1
- package/dist/modules/cloud/services/cloud-jenkins.service.d.ts +13 -1
- package/dist/modules/cloud/services/cloud-jenkins.service.d.ts.map +1 -1
- package/dist/modules/cloud/services/cloud-jenkins.service.js +102 -6
- package/dist/modules/cloud/services/cloud-jenkins.service.js.map +1 -1
- package/dist/modules/cloud/services/managed-aws-credential.service.d.ts.map +1 -1
- package/dist/modules/cloud/services/managed-aws-credential.service.js +11 -4
- package/dist/modules/cloud/services/managed-aws-credential.service.js.map +1 -1
- package/dist/modules/jenkins/commands/admin.command.d.ts +3 -0
- package/dist/modules/jenkins/commands/admin.command.d.ts.map +1 -1
- package/dist/modules/jenkins/commands/admin.command.js +91 -1
- package/dist/modules/jenkins/commands/admin.command.js.map +1 -1
- package/dist/modules/jenkins/index.d.ts.map +1 -1
- package/dist/modules/jenkins/index.js +3 -0
- package/dist/modules/jenkins/index.js.map +1 -1
- package/dist/modules/users/commands/user.command.d.ts.map +1 -1
- package/dist/modules/users/commands/user.command.js +179 -34
- package/dist/modules/users/commands/user.command.js.map +1 -1
- package/dist/modules/users/providers/aws-user.provider.d.ts.map +1 -1
- package/dist/modules/users/providers/aws-user.provider.js +9 -2
- package/dist/modules/users/providers/aws-user.provider.js.map +1 -1
- package/dist/modules/users/providers/jenkins-user.provider.d.ts +7 -3
- package/dist/modules/users/providers/jenkins-user.provider.d.ts.map +1 -1
- package/dist/modules/users/providers/jenkins-user.provider.js +60 -14
- package/dist/modules/users/providers/jenkins-user.provider.js.map +1 -1
- package/dist/modules/users/providers/npm-user.provider.d.ts.map +1 -1
- package/dist/modules/users/providers/npm-user.provider.js +3 -1
- package/dist/modules/users/providers/npm-user.provider.js.map +1 -1
- package/package.json +4 -3
package/cloud-api/dist/index.js
CHANGED
|
@@ -573,19 +573,56 @@ app.delete('/users/:id', ...allow('manager', 'admin'), async (req, res) => {
|
|
|
573
573
|
const reason = requireReason(req, res);
|
|
574
574
|
if (!reason)
|
|
575
575
|
return;
|
|
576
|
-
const id = routeParam(req.params.id);
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
res.status(404).json({ error: 'User not found' });
|
|
576
|
+
const id = ensureUuid(routeParam(req.params.id), 'User ID');
|
|
577
|
+
if (id === req.auth.id) {
|
|
578
|
+
res.status(400).json({ error: 'You cannot permanently delete your own active account.' });
|
|
580
579
|
return;
|
|
581
580
|
}
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
581
|
+
const client = await pool.connect();
|
|
582
|
+
try {
|
|
583
|
+
await client.query('BEGIN');
|
|
584
|
+
const target = await client.query('SELECT id,email,name,role,is_active FROM users WHERE id=$1 FOR UPDATE', [id]);
|
|
585
|
+
if (!target.rowCount) {
|
|
586
|
+
await client.query('ROLLBACK');
|
|
587
|
+
res.status(404).json({ error: 'User not found' });
|
|
588
|
+
return;
|
|
589
|
+
}
|
|
590
|
+
const row = target.rows[0];
|
|
591
|
+
if (req.auth.role === 'manager' && row.role !== 'user') {
|
|
592
|
+
await client.query('ROLLBACK');
|
|
593
|
+
res.status(403).json({ error: 'Managers may only delete users.' });
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
if (row.role === 'admin') {
|
|
597
|
+
const admins = await client.query("SELECT count(*)::int AS count FROM users WHERE role='admin' AND is_active=true AND id<>$1", [id]);
|
|
598
|
+
if ((admins.rows[0]?.count || 0) < 1) {
|
|
599
|
+
await client.query('ROLLBACK');
|
|
600
|
+
res.status(400).json({ error: 'The last active admin cannot be deleted.' });
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
// Preserve organization resources while removing the identity itself. Rows
|
|
605
|
+
// owned by the deleted user are reassigned to the actor; user-scoped rows
|
|
606
|
+
// with ON DELETE CASCADE are removed automatically by the final DELETE.
|
|
607
|
+
await client.query('UPDATE users SET created_by=NULL WHERE created_by=$1', [id]);
|
|
608
|
+
await client.query('UPDATE projects SET created_by=$1,updated_at=now() WHERE created_by=$2', [req.auth.id, id]);
|
|
609
|
+
await client.query('UPDATE servers SET created_by=$1 WHERE created_by=$2', [req.auth.id, id]);
|
|
610
|
+
await client.query('UPDATE environments SET created_by=$1,updated_at=now() WHERE created_by=$2', [req.auth.id, id]);
|
|
611
|
+
await client.query('UPDATE project_resources SET created_by=$1,updated_at=now() WHERE created_by=$2', [req.auth.id, id]);
|
|
612
|
+
await client.query('UPDATE project_resources SET updated_by=$1,updated_at=now() WHERE updated_by=$2', [req.auth.id, id]);
|
|
613
|
+
await client.query('UPDATE audit_logs SET actor_id=NULL WHERE actor_id=$1', [id]);
|
|
614
|
+
const deleted = await client.query('DELETE FROM users WHERE id=$1 RETURNING id,email,name,role', [id]);
|
|
615
|
+
await client.query('INSERT INTO audit_logs(actor_id,action,resource_type,resource_id,reason,metadata) VALUES($1,$2,$3,$4,$5,$6)', [req.auth.id, 'user.delete', 'user', id, reason, { email: row.email, name: row.name, role: row.role, wasActive: row.is_active }]);
|
|
616
|
+
await client.query('COMMIT');
|
|
617
|
+
res.json({ deleted: true, user: deleted.rows[0] });
|
|
618
|
+
}
|
|
619
|
+
catch (error) {
|
|
620
|
+
await client.query('ROLLBACK');
|
|
621
|
+
throw error;
|
|
622
|
+
}
|
|
623
|
+
finally {
|
|
624
|
+
client.release();
|
|
585
625
|
}
|
|
586
|
-
await pool.query('UPDATE users SET is_active=false,updated_at=now() WHERE id=$1', [id]);
|
|
587
|
-
await audit(req.auth.id, 'user.disable', 'user', id, reason);
|
|
588
|
-
res.status(204).end();
|
|
589
626
|
});
|
|
590
627
|
app.get('/users', ...allow('manager', 'admin'), async (req, res) => {
|
|
591
628
|
const { search, limit } = listQuery(req);
|
|
@@ -600,7 +637,7 @@ app.patch('/users/:id/role', ...allow('admin'), async (req, res) => {
|
|
|
600
637
|
const reason = requireReason(req, res);
|
|
601
638
|
if (!reason)
|
|
602
639
|
return;
|
|
603
|
-
const id = routeParam(req.params.id);
|
|
640
|
+
const id = ensureUuid(routeParam(req.params.id), 'User ID');
|
|
604
641
|
const role = String(req.body?.role || '').trim().toLowerCase();
|
|
605
642
|
if (!['user', 'manager', 'admin'].includes(role)) {
|
|
606
643
|
res.status(400).json({ error: 'Role must be user, manager, or admin.' });
|
|
@@ -610,13 +647,37 @@ app.patch('/users/:id/role', ...allow('admin'), async (req, res) => {
|
|
|
610
647
|
res.status(400).json({ error: 'An admin cannot demote their own active session through this endpoint.' });
|
|
611
648
|
return;
|
|
612
649
|
}
|
|
613
|
-
const
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
650
|
+
const client = await pool.connect();
|
|
651
|
+
try {
|
|
652
|
+
await client.query('BEGIN');
|
|
653
|
+
const current = await client.query('SELECT id,email,name,role,is_active FROM users WHERE id=$1 FOR UPDATE', [id]);
|
|
654
|
+
if (!current.rowCount) {
|
|
655
|
+
await client.query('ROLLBACK');
|
|
656
|
+
res.status(404).json({ error: 'User not found' });
|
|
657
|
+
return;
|
|
658
|
+
}
|
|
659
|
+
const previousRole = current.rows[0].role;
|
|
660
|
+
if (previousRole === 'admin' && role !== 'admin') {
|
|
661
|
+
const admins = await client.query("SELECT count(*)::int AS count FROM users WHERE role='admin' AND is_active=true AND id<>$1", [id]);
|
|
662
|
+
if ((admins.rows[0]?.count || 0) < 1) {
|
|
663
|
+
await client.query('ROLLBACK');
|
|
664
|
+
res.status(400).json({ error: 'The last active admin cannot be demoted.' });
|
|
665
|
+
return;
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
const result = await client.query('UPDATE users SET role=$1,updated_at=now() WHERE id=$2 RETURNING id,email,name,role,is_active,updated_at', [role, id]);
|
|
669
|
+
await client.query('UPDATE managed_aws_credentials SET indraq_role=$1,updated_at=now() WHERE cloud_user_id=$2', [role, id]);
|
|
670
|
+
await client.query('INSERT INTO audit_logs(actor_id,action,resource_type,resource_id,reason,metadata) VALUES($1,$2,$3,$4,$5,$6)', [req.auth.id, 'user.role.update', 'user', id, reason, { previousRole, role }]);
|
|
671
|
+
await client.query('COMMIT');
|
|
672
|
+
res.json(result.rows[0]);
|
|
673
|
+
}
|
|
674
|
+
catch (error) {
|
|
675
|
+
await client.query('ROLLBACK');
|
|
676
|
+
throw error;
|
|
677
|
+
}
|
|
678
|
+
finally {
|
|
679
|
+
client.release();
|
|
617
680
|
}
|
|
618
|
-
await audit(req.auth.id, 'user.role.update', 'user', id, reason, { role });
|
|
619
|
-
res.json(result.rows[0]);
|
|
620
681
|
});
|
|
621
682
|
app.post('/users/:id/aws-credentials', ...allow('manager', 'admin'), async (req, res) => {
|
|
622
683
|
const reason = requireReason(req, res);
|
|
@@ -1024,6 +1085,20 @@ app.get('/me/external-accounts', auth, async (req, res) => {
|
|
|
1024
1085
|
const result = await pool.query('SELECT provider,external_username,external_email,config,updated_at FROM managed_external_accounts WHERE cloud_user_id=$1 ORDER BY provider', [req.auth.id]);
|
|
1025
1086
|
res.json(result.rows);
|
|
1026
1087
|
});
|
|
1088
|
+
app.get('/users/:id/external-accounts', ...allow('manager', 'admin'), async (req, res) => {
|
|
1089
|
+
const userId = ensureUuid(routeParam(req.params.id), 'User ID');
|
|
1090
|
+
const target = await pool.query('SELECT id,role FROM users WHERE id=$1', [userId]);
|
|
1091
|
+
if (!target.rowCount) {
|
|
1092
|
+
res.status(404).json({ error: 'User not found' });
|
|
1093
|
+
return;
|
|
1094
|
+
}
|
|
1095
|
+
if (req.auth.role === 'manager' && target.rows[0].role !== 'user') {
|
|
1096
|
+
res.status(403).json({ error: 'Managers may inspect external identities only for normal users.' });
|
|
1097
|
+
return;
|
|
1098
|
+
}
|
|
1099
|
+
const result = await pool.query('SELECT provider,external_username,external_email,config,updated_at FROM managed_external_accounts WHERE cloud_user_id=$1 ORDER BY provider', [userId]);
|
|
1100
|
+
res.json(result.rows);
|
|
1101
|
+
});
|
|
1027
1102
|
app.put('/users/:id/external-accounts/:provider', ...allow('manager', 'admin'), async (req, res) => {
|
|
1028
1103
|
const reason = requireReason(req, res);
|
|
1029
1104
|
if (!reason)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@indraq/cloud-api",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"node_modules/@aws-sdk/client-iam": {
|
|
8
|
-
"version": "3.
|
|
9
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.
|
|
10
|
-
"integrity": "sha512-
|
|
8
|
+
"version": "3.1125.0",
|
|
9
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.1125.0.tgz",
|
|
10
|
+
"integrity": "sha512-21caO6oHSSuocXWl5RRsHA+ZHvTfCYWzBCYUdOQzs+DbYhXLT52C8LnbxDjYngHzDVLmbuiv2syC9FRA+v0W/A==",
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@aws-sdk/core": "^3.977.9",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/client-iam",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1125.0",
|
|
4
4
|
"description": "AWS SDK for JavaScript Iam Client for Node.js, Browser and React Native",
|
|
5
5
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-iam",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@indraq/cloud-api",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@indraq/cloud-api",
|
|
9
|
-
"version": "0.4.
|
|
9
|
+
"version": "0.4.1",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@aws-sdk/client-iam": "^3.1123.0",
|
|
12
12
|
"bcryptjs": "^3.0.2",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"node_modules/@aws-sdk/client-iam": {
|
|
30
|
-
"version": "3.
|
|
31
|
-
"resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.
|
|
32
|
-
"integrity": "sha512-
|
|
30
|
+
"version": "3.1125.0",
|
|
31
|
+
"resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.1125.0.tgz",
|
|
32
|
+
"integrity": "sha512-21caO6oHSSuocXWl5RRsHA+ZHvTfCYWzBCYUdOQzs+DbYhXLT52C8LnbxDjYngHzDVLmbuiv2syC9FRA+v0W/A==",
|
|
33
33
|
"license": "Apache-2.0",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@aws-sdk/core": "^3.977.9",
|
package/cloud-api/package.json
CHANGED
package/cloud-api/src/index.ts
CHANGED
|
@@ -568,13 +568,45 @@ app.patch('/users/:id/password', ...allow('manager', 'admin'), async (req: Authe
|
|
|
568
568
|
|
|
569
569
|
app.delete('/users/:id', ...allow('manager', 'admin'), async (req: AuthedRequest, res) => {
|
|
570
570
|
const reason = requireReason(req, res); if (!reason) return;
|
|
571
|
-
const id = routeParam(req.params.id);
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
571
|
+
const id = ensureUuid(routeParam(req.params.id), 'User ID');
|
|
572
|
+
if (id === req.auth!.id) { res.status(400).json({ error: 'You cannot permanently delete your own active account.' }); return; }
|
|
573
|
+
|
|
574
|
+
const client = await pool.connect();
|
|
575
|
+
try {
|
|
576
|
+
await client.query('BEGIN');
|
|
577
|
+
const target = await client.query('SELECT id,email,name,role,is_active FROM users WHERE id=$1 FOR UPDATE', [id]);
|
|
578
|
+
if (!target.rowCount) { await client.query('ROLLBACK'); res.status(404).json({ error: 'User not found' }); return; }
|
|
579
|
+
const row = target.rows[0];
|
|
580
|
+
if (req.auth!.role === 'manager' && row.role !== 'user') { await client.query('ROLLBACK'); res.status(403).json({ error: 'Managers may only delete users.' }); return; }
|
|
581
|
+
if (row.role === 'admin') {
|
|
582
|
+
const admins = await client.query("SELECT count(*)::int AS count FROM users WHERE role='admin' AND is_active=true AND id<>$1", [id]);
|
|
583
|
+
if ((admins.rows[0]?.count || 0) < 1) { await client.query('ROLLBACK'); res.status(400).json({ error: 'The last active admin cannot be deleted.' }); return; }
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
// Preserve organization resources while removing the identity itself. Rows
|
|
587
|
+
// owned by the deleted user are reassigned to the actor; user-scoped rows
|
|
588
|
+
// with ON DELETE CASCADE are removed automatically by the final DELETE.
|
|
589
|
+
await client.query('UPDATE users SET created_by=NULL WHERE created_by=$1', [id]);
|
|
590
|
+
await client.query('UPDATE projects SET created_by=$1,updated_at=now() WHERE created_by=$2', [req.auth!.id, id]);
|
|
591
|
+
await client.query('UPDATE servers SET created_by=$1 WHERE created_by=$2', [req.auth!.id, id]);
|
|
592
|
+
await client.query('UPDATE environments SET created_by=$1,updated_at=now() WHERE created_by=$2', [req.auth!.id, id]);
|
|
593
|
+
await client.query('UPDATE project_resources SET created_by=$1,updated_at=now() WHERE created_by=$2', [req.auth!.id, id]);
|
|
594
|
+
await client.query('UPDATE project_resources SET updated_by=$1,updated_at=now() WHERE updated_by=$2', [req.auth!.id, id]);
|
|
595
|
+
await client.query('UPDATE audit_logs SET actor_id=NULL WHERE actor_id=$1', [id]);
|
|
596
|
+
|
|
597
|
+
const deleted = await client.query('DELETE FROM users WHERE id=$1 RETURNING id,email,name,role', [id]);
|
|
598
|
+
await client.query(
|
|
599
|
+
'INSERT INTO audit_logs(actor_id,action,resource_type,resource_id,reason,metadata) VALUES($1,$2,$3,$4,$5,$6)',
|
|
600
|
+
[req.auth!.id, 'user.delete', 'user', id, reason, { email: row.email, name: row.name, role: row.role, wasActive: row.is_active }]
|
|
601
|
+
);
|
|
602
|
+
await client.query('COMMIT');
|
|
603
|
+
res.json({ deleted: true, user: deleted.rows[0] });
|
|
604
|
+
} catch (error) {
|
|
605
|
+
await client.query('ROLLBACK');
|
|
606
|
+
throw error;
|
|
607
|
+
} finally {
|
|
608
|
+
client.release();
|
|
609
|
+
}
|
|
578
610
|
});
|
|
579
611
|
|
|
580
612
|
app.get('/users', ...allow('manager', 'admin'), async (req: AuthedRequest, res) => {
|
|
@@ -591,14 +623,35 @@ app.get('/users', ...allow('manager', 'admin'), async (req: AuthedRequest, res)
|
|
|
591
623
|
|
|
592
624
|
app.patch('/users/:id/role', ...allow('admin'), async (req: AuthedRequest, res) => {
|
|
593
625
|
const reason = requireReason(req, res); if (!reason) return;
|
|
594
|
-
const id = routeParam(req.params.id);
|
|
626
|
+
const id = ensureUuid(routeParam(req.params.id), 'User ID');
|
|
595
627
|
const role = String(req.body?.role || '').trim().toLowerCase();
|
|
596
628
|
if (!['user', 'manager', 'admin'].includes(role)) { res.status(400).json({ error: 'Role must be user, manager, or admin.' }); return; }
|
|
597
629
|
if (id === req.auth!.id && role !== 'admin') { res.status(400).json({ error: 'An admin cannot demote their own active session through this endpoint.' }); return; }
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
630
|
+
|
|
631
|
+
const client = await pool.connect();
|
|
632
|
+
try {
|
|
633
|
+
await client.query('BEGIN');
|
|
634
|
+
const current = await client.query('SELECT id,email,name,role,is_active FROM users WHERE id=$1 FOR UPDATE', [id]);
|
|
635
|
+
if (!current.rowCount) { await client.query('ROLLBACK'); res.status(404).json({ error: 'User not found' }); return; }
|
|
636
|
+
const previousRole = current.rows[0].role as Role;
|
|
637
|
+
if (previousRole === 'admin' && role !== 'admin') {
|
|
638
|
+
const admins = await client.query("SELECT count(*)::int AS count FROM users WHERE role='admin' AND is_active=true AND id<>$1", [id]);
|
|
639
|
+
if ((admins.rows[0]?.count || 0) < 1) { await client.query('ROLLBACK'); res.status(400).json({ error: 'The last active admin cannot be demoted.' }); return; }
|
|
640
|
+
}
|
|
641
|
+
const result = await client.query('UPDATE users SET role=$1,updated_at=now() WHERE id=$2 RETURNING id,email,name,role,is_active,updated_at', [role, id]);
|
|
642
|
+
await client.query('UPDATE managed_aws_credentials SET indraq_role=$1,updated_at=now() WHERE cloud_user_id=$2', [role, id]);
|
|
643
|
+
await client.query(
|
|
644
|
+
'INSERT INTO audit_logs(actor_id,action,resource_type,resource_id,reason,metadata) VALUES($1,$2,$3,$4,$5,$6)',
|
|
645
|
+
[req.auth!.id, 'user.role.update', 'user', id, reason, { previousRole, role }]
|
|
646
|
+
);
|
|
647
|
+
await client.query('COMMIT');
|
|
648
|
+
res.json(result.rows[0]);
|
|
649
|
+
} catch (error) {
|
|
650
|
+
await client.query('ROLLBACK');
|
|
651
|
+
throw error;
|
|
652
|
+
} finally {
|
|
653
|
+
client.release();
|
|
654
|
+
}
|
|
602
655
|
});
|
|
603
656
|
|
|
604
657
|
app.post('/users/:id/aws-credentials', ...allow('manager', 'admin'), async (req: AuthedRequest, res) => {
|
|
@@ -952,6 +1005,18 @@ app.get('/me/external-accounts', auth, async (req: AuthedRequest, res) => {
|
|
|
952
1005
|
res.json(result.rows);
|
|
953
1006
|
});
|
|
954
1007
|
|
|
1008
|
+
app.get('/users/:id/external-accounts', ...allow('manager', 'admin'), async (req: AuthedRequest, res) => {
|
|
1009
|
+
const userId = ensureUuid(routeParam(req.params.id), 'User ID');
|
|
1010
|
+
const target = await pool.query('SELECT id,role FROM users WHERE id=$1', [userId]);
|
|
1011
|
+
if (!target.rowCount) { res.status(404).json({ error: 'User not found' }); return; }
|
|
1012
|
+
if (req.auth!.role === 'manager' && target.rows[0].role !== 'user') { res.status(403).json({ error: 'Managers may inspect external identities only for normal users.' }); return; }
|
|
1013
|
+
const result = await pool.query(
|
|
1014
|
+
'SELECT provider,external_username,external_email,config,updated_at FROM managed_external_accounts WHERE cloud_user_id=$1 ORDER BY provider',
|
|
1015
|
+
[userId]
|
|
1016
|
+
);
|
|
1017
|
+
res.json(result.rows);
|
|
1018
|
+
});
|
|
1019
|
+
|
|
955
1020
|
app.put('/users/:id/external-accounts/:provider', ...allow('manager', 'admin'), async (req: AuthedRequest, res) => {
|
|
956
1021
|
const reason = requireReason(req, res); if (!reason) return;
|
|
957
1022
|
const userId = ensureUuid(routeParam(req.params.id), 'User ID');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAMrF,eAAO,MAAM,oBAAoB,QAAO,
|
|
1
|
+
{"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAMrF,eAAO,MAAM,oBAAoB,QAAO,MAmIvC,CAAC;AAuIF,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,KAAG,MAO/C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,SAAS,GAAG,SAU3D,CAAC"}
|
package/dist/cli/help-content.js
CHANGED
|
@@ -64,8 +64,8 @@ ${heading('Nginx Proxy Manager')}
|
|
|
64
64
|
${heading('Unified users')}
|
|
65
65
|
${command('indraq user list')} List/search organization users (manager/admin)
|
|
66
66
|
${command('indraq user create [username]')} Provision across configured providers
|
|
67
|
-
${command('indraq user update [username]')}
|
|
68
|
-
${command('indraq user delete [username]')}
|
|
67
|
+
${command('indraq user update [username]')} Update password/provider settings; --role syncs every linked provider
|
|
68
|
+
${command('indraq user delete [username]')} Permanently delete selected provider identities + Cloud user
|
|
69
69
|
${command('indraq password reset')} Email-OTP reset for Cloud/NPM/Jenkins
|
|
70
70
|
|
|
71
71
|
${heading('Projects, access and infrastructure')}
|
|
@@ -80,6 +80,9 @@ ${heading('Projects, access and infrastructure')}
|
|
|
80
80
|
${command('indraq access delete user')} Revoke project-resource access
|
|
81
81
|
${command('indraq prebuild')} Reconcile GHCR + Jenkins + Route53 + NPM
|
|
82
82
|
${command('indraq jenkins create-deployment')} Trigger Jenkins CREATE-DEPLOYMENT only
|
|
83
|
+
${command('indraq jenkins pipelines')} List all buildable pipelines visible to this Jenkins account
|
|
84
|
+
${command('indraq jenkins run [job]')} Inspect required/optional parameters and run any pipeline
|
|
85
|
+
${command('indraq jenkins pipeline:run [job]')} Long-form alias for indraq jenkins run
|
|
83
86
|
${command('indraq dockerfile create')} Generate Docker artifacts for an existing app
|
|
84
87
|
|
|
85
88
|
${heading('Mobile build flags')}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-content.js","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAI1B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEnD,MAAM,oBAAoB,GAAG,GAAW,EAAE,CAAC;EAChD,OAAO,CAAC,4BAA4B,CAAC;;EAErC,OAAO,CAAC,MAAM,CAAC;IACb,OAAO,CAAC,kBAAkB,CAAC;IAC3B,OAAO,CAAC,eAAe,CAAC;IACxB,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,qBAAqB,CAAC;IAC9B,OAAO,CAAC,eAAe,CAAC;IACxB,OAAO,CAAC,kBAAkB,CAAC;;EAE7B,OAAO,CAAC,0BAA0B,CAAC;IACjC,OAAO,CAAC,mBAAmB,CAAC;IAC5B,OAAO,CAAC,2BAA2B,CAAC;IACpC,OAAO,CAAC,oBAAoB,CAAC;IAC7B,OAAO,CAAC,0BAA0B,CAAC;IACnC,OAAO,CAAC,+BAA+B,CAAC;IACxC,OAAO,CAAC,uCAAuC,CAAC;IAChD,OAAO,CAAC,gCAAgC,CAAC;IACzC,OAAO,CAAC,sCAAsC,CAAC;IAC/C,OAAO,CAAC,yBAAyB,CAAC;IAClC,OAAO,CAAC,yBAAyB,CAAC;;EAEpC,OAAO,CAAC,uBAAuB,CAAC;IAC9B,OAAO,CAAC,yBAAyB,CAAC;IAClC,OAAO,CAAC,iCAAiC,CAAC;IAC1C,OAAO,CAAC,6BAA6B,CAAC;IACtC,OAAO,CAAC,0BAA0B,CAAC;IACnC,OAAO,CAAC,gCAAgC,CAAC;;EAE3C,OAAO,CAAC,qBAAqB,CAAC;IAC5B,OAAO,CAAC,kBAAkB,CAAC;IAC3B,OAAO,CAAC,mCAAmC,CAAC;IAC5C,OAAO,CAAC,mCAAmC,CAAC;IAC5C,OAAO,CAAC,mCAAmC,CAAC;IAC5C,OAAO,CAAC,yCAAyC,CAAC;IAClD,OAAO,CAAC,yBAAyB,CAAC;IAClC,OAAO,CAAC,2BAA2B,CAAC;IACpC,OAAO,CAAC,2BAA2B,CAAC;IACpC,OAAO,CAAC,kBAAkB,CAAC;IAC3B,OAAO,CAAC,kCAAkC,CAAC;IAC3C,OAAO,CAAC,4BAA4B,CAAC;IACrC,OAAO,CAAC,4BAA4B,CAAC;IACrC,OAAO,CAAC,yCAAyC,CAAC;;EAEpD,OAAO,CAAC,qBAAqB,CAAC;IAC5B,OAAO,CAAC,kCAAkC,CAAC;IAC3C,OAAO,CAAC,mCAAmC,CAAC;IAC5C,OAAO,CAAC,mCAAmC,CAAC;IAC5C,OAAO,CAAC,wCAAwC,CAAC;IACjD,OAAO,CAAC,wCAAwC,CAAC;IACjD,OAAO,CAAC,8BAA8B,CAAC;;EAEzC,OAAO,CAAC,eAAe,CAAC;IACtB,OAAO,CAAC,kBAAkB,CAAC;IAC3B,OAAO,CAAC,+BAA+B,CAAC;IACxC,OAAO,CAAC,+BAA+B,CAAC;IACxC,OAAO,CAAC,+BAA+B,CAAC;IACxC,OAAO,CAAC,uBAAuB,CAAC;;EAElC,OAAO,CAAC,qCAAqC,CAAC;IAC5C,OAAO,CAAC,yBAAyB,CAAC;IAClC,OAAO,CAAC,8BAA8B,CAAC;IACvC,OAAO,CAAC,qBAAqB,CAAC;IAC9B,OAAO,CAAC,qBAAqB,CAAC;IAC9B,OAAO,CAAC,uBAAuB,CAAC;IAChC,OAAO,CAAC,yBAAyB,CAAC;IAClC,OAAO,CAAC,4BAA4B,CAAC;IACrC,OAAO,CAAC,wBAAwB,CAAC;IACjC,OAAO,CAAC,2BAA2B,CAAC;IACpC,OAAO,CAAC,iBAAiB,CAAC;IAC1B,OAAO,CAAC,kCAAkC,CAAC;IAC3C,OAAO,CAAC,0BAA0B,CAAC;;EAErC,OAAO,CAAC,oBAAoB,CAAC;IAC3B,OAAO,CAAC,mBAAmB,CAAC;;;;;;IAM5B,OAAO,CAAC,qBAAqB,CAAC;;;IAG9B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,WAAW,CAAC;;EAEtB,OAAO,CAAC,oBAAoB,CAAC;IAC3B,OAAO,CAAC,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;EAuB7B,OAAO,CAAC,qBAAqB,CAAC;;;;;;;EAO9B,OAAO,CAAC,UAAU,CAAC;IACjB,OAAO,CAAC,kBAAkB,CAAC;IAC3B,OAAO,CAAC,mBAAmB,CAAC;IAC5B,OAAO,CAAC,oBAAoB,CAAC;IAC7B,OAAO,CAAC,mCAAmC,CAAC;IAC5C,OAAO,CAAC,0CAA0C,CAAC;IACnD,OAAO,CAAC,iEAAiE,CAAC;;EAE5E,IAAI,CAAC,yEAAyE,CAAC;CAChF,CAAC;
|
|
1
|
+
{"version":3,"file":"help-content.js","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export interface CloudConfig {
|
|
|
8
8
|
* Users do not configure this URL. A fresh `npm install -g indraq_cli`
|
|
9
9
|
* can immediately run `indraq login`.
|
|
10
10
|
*/
|
|
11
|
-
export declare const OFFICIAL_CLOUD_API_URL = "https://
|
|
11
|
+
export declare const OFFICIAL_CLOUD_API_URL = "https://cli.indraq.com";
|
|
12
12
|
/**
|
|
13
13
|
* The API URL is intentionally authoritative and built into the CLI.
|
|
14
14
|
* Existing cloud.json files may contain an older apiUrl field; it is ignored
|
|
@@ -10,7 +10,7 @@ const node_path_1 = require("node:path");
|
|
|
10
10
|
* Users do not configure this URL. A fresh `npm install -g indraq_cli`
|
|
11
11
|
* can immediately run `indraq login`.
|
|
12
12
|
*/
|
|
13
|
-
exports.OFFICIAL_CLOUD_API_URL = 'https://
|
|
13
|
+
exports.OFFICIAL_CLOUD_API_URL = 'https://cli.indraq.com';
|
|
14
14
|
const path = (0, node_path_1.join)((0, node_os_1.homedir)(), '.indraq', 'cloud.json');
|
|
15
15
|
const readStoredToken = () => {
|
|
16
16
|
if (!(0, node_fs_1.existsSync)(path))
|