@nik2208/node-auth 1.1.2 → 1.1.4

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.
@@ -134,7 +134,7 @@ function doLogin() {
134
134
  sessionStorage.setItem('admin_token', val);
135
135
  _token = val;
136
136
  document.getElementById('login-error').style.display = 'none';
137
- api('GET', '/admin/api/ping').then(() => {
137
+ api('GET', '/api/ping').then(() => {
138
138
  document.getElementById('login').style.display = 'none';
139
139
  document.getElementById('app').style.display = 'flex';
140
140
  document.getElementById('app').style.flexDirection = 'column';
@@ -153,7 +153,7 @@ function doLogout() {
153
153
  document.getElementById('secret-input').addEventListener('keydown', e => { if (e.key === 'Enter') doLogin(); });
154
154
  // Auto-login if token stored
155
155
  const stored = sessionStorage.getItem('admin_token');
156
- if (stored) { _token = stored; api('GET', '/admin/api/ping').then(() => {
156
+ if (stored) { _token = stored; api('GET', '/api/ping').then(() => {
157
157
  document.getElementById('login').style.display = 'none';
158
158
  document.getElementById('app').style.display = 'flex';
159
159
  document.getElementById('app').style.flexDirection = 'column';
@@ -218,7 +218,7 @@ async function renderUsers() {
218
218
  const main = document.getElementById('main');
219
219
  main.innerHTML = '<div class="card"><div class="card-header"><h2>Users</h2><span class="meta"><span class="spinner"></span></span></div></div>';
220
220
  try {
221
- const { users, total } = await api('GET', '/admin/api/users?limit=' + PAGE_SIZE + '&offset=' + (_state.users.page * PAGE_SIZE));
221
+ const { users, total } = await api('GET', '/api/users?limit=' + PAGE_SIZE + '&offset=' + (_state.users.page * PAGE_SIZE));
222
222
  const hasMore = (_state.users.page + 1) * PAGE_SIZE < total;
223
223
  main.innerHTML = \`
224
224
  <div class="card">
@@ -250,7 +250,7 @@ async function renderUsers() {
250
250
  async function deleteUser(id, email) {
251
251
  if (!confirm('Delete user ' + email + '? This cannot be undone.')) return;
252
252
  try {
253
- await api('DELETE', '/admin/api/users/' + encodeURIComponent(id));
253
+ await api('DELETE', '/api/users/' + encodeURIComponent(id));
254
254
  flash('User deleted');
255
255
  renderUsers();
256
256
  } catch (e) { flash(e.message, 'error'); }
@@ -261,7 +261,7 @@ async function renderSessions() {
261
261
  const main = document.getElementById('main');
262
262
  main.innerHTML = '<div class="card"><div class="card-header"><h2>Sessions</h2><span class="meta"><span class="spinner"></span></span></div></div>';
263
263
  try {
264
- const { sessions, total } = await api('GET', '/admin/api/sessions?limit=' + PAGE_SIZE + '&offset=' + (_state.sessions.page * PAGE_SIZE));
264
+ const { sessions, total } = await api('GET', '/api/sessions?limit=' + PAGE_SIZE + '&offset=' + (_state.sessions.page * PAGE_SIZE));
265
265
  const hasMore = (_state.sessions.page + 1) * PAGE_SIZE < total;
266
266
  main.innerHTML = \`
267
267
  <div class="card">
@@ -291,7 +291,7 @@ async function renderSessions() {
291
291
  }
292
292
  async function revokeSession(handle) {
293
293
  try {
294
- await api('DELETE', '/admin/api/sessions/' + encodeURIComponent(handle));
294
+ await api('DELETE', '/api/sessions/' + encodeURIComponent(handle));
295
295
  flash('Session revoked');
296
296
  renderSessions();
297
297
  } catch (e) { flash(e.message, 'error'); }
@@ -302,7 +302,7 @@ async function renderRoles() {
302
302
  const main = document.getElementById('main');
303
303
  main.innerHTML = '<div class="card"><div class="card-header"><h2>Roles</h2><span class="meta"><span class="spinner"></span></span></div></div>';
304
304
  try {
305
- const { roles } = await api('GET', '/admin/api/roles');
305
+ const { roles } = await api('GET', '/api/roles');
306
306
  let html = '<div class="card"><div class="card-header"><h2>Roles & Permissions</h2></div>';
307
307
  if (roles.length === 0) {
308
308
  html += '<div class="empty">No roles defined</div>';
@@ -335,7 +335,7 @@ async function createRole() {
335
335
  const perms = document.getElementById('new-role-perms').value.split(',').map(s => s.trim()).filter(Boolean);
336
336
  if (!name) return;
337
337
  try {
338
- await api('POST', '/admin/api/roles', { name, permissions: perms });
338
+ await api('POST', '/api/roles', { name, permissions: perms });
339
339
  flash('Role created');
340
340
  renderRoles();
341
341
  } catch (e) { flash(e.message, 'error'); }
@@ -343,7 +343,7 @@ async function createRole() {
343
343
  async function deleteRole(name) {
344
344
  if (!confirm('Delete role "' + name + '"?')) return;
345
345
  try {
346
- await api('DELETE', '/admin/api/roles/' + encodeURIComponent(name));
346
+ await api('DELETE', '/api/roles/' + encodeURIComponent(name));
347
347
  flash('Role deleted');
348
348
  renderRoles();
349
349
  } catch (e) { flash(e.message, 'error'); }
@@ -354,7 +354,7 @@ async function renderTenants() {
354
354
  const main = document.getElementById('main');
355
355
  main.innerHTML = '<div class="card"><div class="card-header"><h2>Tenants</h2><span class="meta"><span class="spinner"></span></span></div></div>';
356
356
  try {
357
- const { tenants } = await api('GET', '/admin/api/tenants');
357
+ const { tenants } = await api('GET', '/api/tenants');
358
358
  let html = '<div class="card"><div class="card-header"><h2>Tenants</h2><span class="meta">' + tenants.length + ' total</span></div>';
359
359
  html += '<div class="table-wrap"><table><thead><tr><th>ID</th><th>Name</th><th>Status</th><th>Created</th><th></th></tr></thead><tbody>';
360
360
  if (tenants.length === 0) {
@@ -387,7 +387,7 @@ async function createTenant() {
387
387
  const name = document.getElementById('new-tenant-name').value.trim();
388
388
  if (!name) return;
389
389
  try {
390
- await api('POST', '/admin/api/tenants', { name, isActive: true });
390
+ await api('POST', '/api/tenants', { name, isActive: true });
391
391
  flash('Tenant created');
392
392
  renderTenants();
393
393
  } catch (e) { flash(e.message, 'error'); }
@@ -395,7 +395,7 @@ async function createTenant() {
395
395
  async function deleteTenant(id) {
396
396
  if (!confirm('Delete tenant ' + id + '?')) return;
397
397
  try {
398
- await api('DELETE', '/admin/api/tenants/' + encodeURIComponent(id));
398
+ await api('DELETE', '/api/tenants/' + encodeURIComponent(id));
399
399
  flash('Tenant deleted');
400
400
  renderTenants();
401
401
  } catch (e) { flash(e.message, 'error'); }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nik2208/node-auth",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Database-agnostic JWT authentication library for Node.js",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {