@adonisjs/auth 9.5.0 → 9.6.0

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/build/index.js CHANGED
@@ -59,8 +59,8 @@ __export(symbols_exports, {
59
59
  GUARD_KNOWN_EVENTS: () => GUARD_KNOWN_EVENTS,
60
60
  PROVIDER_REAL_USER: () => PROVIDER_REAL_USER
61
61
  });
62
- var PROVIDER_REAL_USER = Symbol.for("PROVIDER_REAL_USER");
63
- var GUARD_KNOWN_EVENTS = Symbol.for("GUARD_KNOWN_EVENTS");
62
+ var PROVIDER_REAL_USER = /* @__PURE__ */ Symbol.for("PROVIDER_REAL_USER");
63
+ var GUARD_KNOWN_EVENTS = /* @__PURE__ */ Symbol.for("GUARD_KNOWN_EVENTS");
64
64
 
65
65
  // src/define_config.ts
66
66
  import { configProvider } from "@adonisjs/core";
@@ -2,7 +2,7 @@ import type { HttpContext } from '@adonisjs/core/http';
2
2
  import type { EmitterLike } from '@adonisjs/core/types/events';
3
3
  import type { AccessToken } from './access_token.js';
4
4
  import type { AuthClientResponse, GuardContract } from '../../src/types.js';
5
- import { GUARD_KNOWN_EVENTS, PROVIDER_REAL_USER } from '../../src/symbols.js';
5
+ import { GUARD_KNOWN_EVENTS, type PROVIDER_REAL_USER } from '../../src/symbols.js';
6
6
  import type { AccessTokensGuardEvents, AccessTokensUserProviderContract } from './types.js';
7
7
  /**
8
8
  * Implementation of access tokens guard for the Auth layer. The heavy lifting
@@ -808,7 +808,29 @@ var DbAccessTokensProvider = class _DbAccessTokensProvider {
808
808
  return affectedRows;
809
809
  }
810
810
  /**
811
- * Returns all the tokens a given user
811
+ * Delete all tokens for a given user
812
+ *
813
+ * @param user - The user instance to delete tokens for
814
+ *
815
+ * @example
816
+ * const deletedCount = await provider.deleteAll(user)
817
+ * console.log('Deleted tokens:', deletedCount)
818
+ */
819
+ async deleteAll(user) {
820
+ this.#ensureIsPersisted(user);
821
+ const queryClient = await this.getDb();
822
+ const affectedRows = await queryClient.query().from(this.table).where({ tokenable_id: user.$primaryKeyValue, type: this.type }).del().exec();
823
+ return affectedRows;
824
+ }
825
+ /**
826
+ * Returns all the tokens for a given user
827
+ *
828
+ * @param user - The user instance to get tokens for
829
+ *
830
+ * @example
831
+ * const tokens = await provider.all(user)
832
+ * console.log('User has', tokens.length, 'tokens')
833
+ * tokens.forEach(token => console.log(token.name))
812
834
  */
813
835
  async all(user) {
814
836
  this.#ensureIsPersisted(user);
@@ -62,7 +62,24 @@ export declare class DbAccessTokensProvider<TokenableModel extends LucidModel> i
62
62
  */
63
63
  delete(user: InstanceType<TokenableModel>, identifier: string | number | BigInt): Promise<number>;
64
64
  /**
65
- * Returns all the tokens a given user
65
+ * Delete all tokens for a given user
66
+ *
67
+ * @param user - The user instance to delete tokens for
68
+ *
69
+ * @example
70
+ * const deletedCount = await provider.deleteAll(user)
71
+ * console.log('Deleted tokens:', deletedCount)
72
+ */
73
+ deleteAll(user: InstanceType<TokenableModel>): Promise<number>;
74
+ /**
75
+ * Returns all the tokens for a given user
76
+ *
77
+ * @param user - The user instance to get tokens for
78
+ *
79
+ * @example
80
+ * const tokens = await provider.all(user)
81
+ * console.log('User has', tokens.length, 'tokens')
82
+ * tokens.forEach(token => console.log(token.name))
66
83
  */
67
84
  all(user: InstanceType<TokenableModel>): Promise<AccessToken[]>;
68
85
  /**
@@ -1,5 +1,5 @@
1
- import { Secret } from '@adonisjs/core/helpers';
2
- import { AccessToken } from '../access_token.js';
1
+ import { type Secret } from '@adonisjs/core/helpers';
2
+ import { type AccessToken } from '../access_token.js';
3
3
  import { PROVIDER_REAL_USER } from '../../../src/symbols.js';
4
4
  import type { LucidTokenable, AccessTokensGuardUser, AccessTokensUserProviderContract, AccessTokensLucidUserProviderOptions } from '../types.js';
5
5
  /**
@@ -1,7 +1,7 @@
1
1
  import type { HttpContext } from '@adonisjs/core/http';
2
2
  import type { EmitterLike } from '@adonisjs/core/types/events';
3
3
  import type { AuthClientResponse, GuardContract } from '../../src/types.js';
4
- import { GUARD_KNOWN_EVENTS, PROVIDER_REAL_USER } from '../../src/symbols.js';
4
+ import { GUARD_KNOWN_EVENTS, type PROVIDER_REAL_USER } from '../../src/symbols.js';
5
5
  import type { BasicAuthGuardEvents, BasicAuthUserProviderContract } from './types.js';
6
6
  /**
7
7
  * BasicAuth guard implements the HTTP Authentication protocol
@@ -1,7 +1,7 @@
1
1
  import type { HttpContext } from '@adonisjs/core/http';
2
2
  import type { EmitterLike } from '@adonisjs/core/types/events';
3
3
  import type { AuthClientResponse, GuardContract } from '../../src/types.js';
4
- import { GUARD_KNOWN_EVENTS, PROVIDER_REAL_USER } from '../../src/symbols.js';
4
+ import { GUARD_KNOWN_EVENTS, type PROVIDER_REAL_USER } from '../../src/symbols.js';
5
5
  import type { SessionGuardEvents, SessionGuardOptions, SessionUserProviderContract, SessionWithTokensUserProviderContract } from './types.js';
6
6
  /**
7
7
  * Session guard uses AdonisJS session store to track logged-in
@@ -390,16 +390,16 @@ var SessionGuard = class {
390
390
  await userProvider.deleteRemeberToken(this.user, token.identifier);
391
391
  }
392
392
  }
393
- this.user = void 0;
394
- this.viaRemember = false;
395
- this.isAuthenticated = false;
396
- this.isLoggedOut = true;
397
393
  this.#emitter.emit("session_auth:logged_out", {
398
394
  ctx: this.#ctx,
399
395
  guardName: this.#name,
400
396
  user: this.user || null,
401
397
  sessionId: session.sessionId
402
398
  });
399
+ this.user = void 0;
400
+ this.viaRemember = false;
401
+ this.isAuthenticated = false;
402
+ this.isLoggedOut = true;
403
403
  }
404
404
  /**
405
405
  * Authenticate the current HTTP request by verifying the bearer
@@ -2,7 +2,7 @@ import type { Secret } from '@adonisjs/core/helpers';
2
2
  import type { HttpContext } from '@adonisjs/core/http';
3
3
  import type { Exception } from '@adonisjs/core/exceptions';
4
4
  import type { LucidModel } from '@adonisjs/lucid/types/model';
5
- import { PROVIDER_REAL_USER } from '../../src/symbols.js';
5
+ import { type PROVIDER_REAL_USER } from '../../src/symbols.js';
6
6
  import type { RememberMeToken } from './remember_me_token.js';
7
7
  /**
8
8
  * Options accepted by the tokens provider that uses lucid
@@ -1,5 +1,5 @@
1
- import { Secret } from '@adonisjs/core/helpers';
2
- import { RememberMeToken } from '../remember_me_token.js';
1
+ import { type Secret } from '@adonisjs/core/helpers';
2
+ import { type RememberMeToken } from '../remember_me_token.js';
3
3
  import { PROVIDER_REAL_USER } from '../../../src/symbols.js';
4
4
  import type { SessionGuardUser, LucidAuthenticatable, SessionLucidUserProviderOptions, SessionUserProviderContract } from '../types.js';
5
5
  /**
@@ -1,3 +1,3 @@
1
- import { AuthService } from '../src/types.js';
1
+ import { type AuthService } from '../src/types.js';
2
2
  declare let auth: AuthService;
3
3
  export { auth as default };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@adonisjs/auth",
3
3
  "description": "Official authentication provider for Adonis framework",
4
- "version": "9.5.0",
4
+ "version": "9.6.0",
5
5
  "engines": {
6
6
  "node": ">=18.16.0"
7
7
  },