@quatrain/auth-supabase 1.2.7 → 1.2.10-pr25.209

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.
@@ -14,6 +14,10 @@ export declare class SupabaseAuthAdapter extends AbstractAuthAdapter {
14
14
  */
15
15
  static factory(config: any): SupabaseAuthAdapter | null;
16
16
  constructor(params?: AuthParameters);
17
+ /**
18
+ * Returns the underlying Supabase Client instance.
19
+ */
20
+ get client(): any;
17
21
  /**
18
22
  * Register new user in authentication
19
23
  * @param user
@@ -1,37 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -45,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
45
12
  exports.SupabaseAuthAdapter = void 0;
46
13
  const auth_1 = require("@quatrain/auth");
47
14
  const supabase_js_1 = require("@supabase/supabase-js");
48
- const nativeFetch = __importStar(require("node-fetch-native"));
49
15
  // Create a single supabase client for interacting with your database
50
16
  /**
51
17
  * Authentication adapter implementing the Supabase SDK ecosystem.
@@ -73,6 +39,12 @@ class SupabaseAuthAdapter extends auth_1.AbstractAuthAdapter {
73
39
  });
74
40
  auth_1.Auth.info(`Created Supabase client for ${params.config.supabaseUrl}`);
75
41
  }
42
+ /**
43
+ * Returns the underlying Supabase Client instance.
44
+ */
45
+ get client() {
46
+ return this._client;
47
+ }
76
48
  /**
77
49
  * Register new user in authentication
78
50
  * @param user
@@ -128,7 +100,7 @@ class SupabaseAuthAdapter extends auth_1.AbstractAuthAdapter {
128
100
  refreshToken(refreshToken) {
129
101
  return __awaiter(this, void 0, void 0, function* () {
130
102
  const url = `${this._params.config.supabaseUrl}/auth/v1/token?grant_type=refresh_token`;
131
- const response = yield nativeFetch.fetch(url, {
103
+ const response = yield fetch(url, {
132
104
  method: 'POST',
133
105
  headers: {
134
106
  apikey: this._params.config.supabaseKey,
@@ -1,37 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -45,10 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
45
12
  const SupabaseAuthAdapter_1 = require("./SupabaseAuthAdapter");
46
13
  const auth_1 = require("@quatrain/auth");
47
14
  const supabase_js_1 = require("@supabase/supabase-js");
48
- const nativeFetch = __importStar(require("node-fetch-native"));
49
15
  // Mock the dependencies
50
16
  jest.mock('@supabase/supabase-js');
51
- jest.mock('node-fetch-native');
52
17
  describe('SupabaseAuthAdapter', () => {
53
18
  let adapter;
54
19
  let mockSupabaseClient;
@@ -57,6 +22,7 @@ describe('SupabaseAuthAdapter', () => {
57
22
  beforeEach(() => {
58
23
  // Clear all mocks before each test
59
24
  jest.clearAllMocks();
25
+ global.fetch = jest.fn();
60
26
  // Create mock Supabase client structure
61
27
  mockAuthAdmin = {
62
28
  createUser: jest.fn(),
@@ -208,9 +174,9 @@ describe('SupabaseAuthAdapter', () => {
208
174
  const mockFetchResponse = {
209
175
  json: jest.fn().mockResolvedValue(mockResponse),
210
176
  };
211
- nativeFetch.fetch.mockResolvedValue(mockFetchResponse);
177
+ global.fetch.mockResolvedValue(mockFetchResponse);
212
178
  const result = yield adapter.refreshToken('old-refresh-token');
213
- expect(nativeFetch.fetch).toHaveBeenCalledWith('https://test.supabase.co/auth/v1/token?grant_type=refresh_token', {
179
+ expect(global.fetch).toHaveBeenCalledWith('https://test.supabase.co/auth/v1/token?grant_type=refresh_token', {
214
180
  method: 'POST',
215
181
  headers: {
216
182
  apikey: 'test-key-123',
@@ -228,9 +194,9 @@ describe('SupabaseAuthAdapter', () => {
228
194
  const mockFetchResponse = {
229
195
  json: jest.fn().mockResolvedValue({}),
230
196
  };
231
- nativeFetch.fetch.mockResolvedValue(mockFetchResponse);
197
+ global.fetch.mockResolvedValue(mockFetchResponse);
232
198
  yield adapter.refreshToken('refresh-token');
233
- const callArgs = nativeFetch.fetch.mock.calls[0];
199
+ const callArgs = global.fetch.mock.calls[0];
234
200
  expect(callArgs[0]).toBe('https://test.supabase.co/auth/v1/token?grant_type=refresh_token');
235
201
  }));
236
202
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quatrain/auth-supabase",
3
- "version": "1.2.7",
3
+ "version": "1.2.10-pr25.0209",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,11 +19,10 @@
19
19
  },
20
20
  "author": "Quatrain Développement SAS <developers@quatrain.com>",
21
21
  "dependencies": {
22
- "@quatrain/api": "^1.1.6",
23
- "@quatrain/auth": "^1.2.5",
24
- "@quatrain/backend": "^1.2.14",
25
- "@supabase/supabase-js": "^2.87.3",
26
- "node-fetch-native": "^1.6.4"
22
+ "@quatrain/api": "^1.1.7",
23
+ "@quatrain/auth": "^1.2.11",
24
+ "@quatrain/backend": "^1.2.17",
25
+ "@supabase/supabase-js": "^2.108.2"
27
26
  },
28
27
  "devDependencies": {
29
28
  "@tsconfig/recommended": "^1.0.1",
@@ -38,6 +37,7 @@
38
37
  "typescript": "^5.2.2"
39
38
  },
40
39
  "scripts": {
40
+ "test": "jest",
41
41
  "test-ci": "jest --runInBand",
42
42
  "build": "tsc",
43
43
  "wbuild": "tsc --watch",
@@ -2,11 +2,9 @@ import { SupabaseAuthAdapter } from './SupabaseAuthAdapter'
2
2
  import { User } from '@quatrain/backend'
3
3
  import { AuthenticationError } from '@quatrain/auth'
4
4
  import { createClient } from '@supabase/supabase-js'
5
- import * as nativeFetch from 'node-fetch-native'
6
5
 
7
6
  // Mock the dependencies
8
7
  jest.mock('@supabase/supabase-js')
9
- jest.mock('node-fetch-native')
10
8
 
11
9
  describe('SupabaseAuthAdapter', () => {
12
10
  let adapter: SupabaseAuthAdapter
@@ -17,6 +15,7 @@ describe('SupabaseAuthAdapter', () => {
17
15
  beforeEach(() => {
18
16
  // Clear all mocks before each test
19
17
  jest.clearAllMocks()
18
+ global.fetch = jest.fn()
20
19
 
21
20
  // Create mock Supabase client structure
22
21
  mockAuthAdmin = {
@@ -225,11 +224,11 @@ describe('SupabaseAuthAdapter', () => {
225
224
  json: jest.fn().mockResolvedValue(mockResponse),
226
225
  }
227
226
 
228
- ;(nativeFetch.fetch as unknown as jest.Mock).mockResolvedValue(mockFetchResponse)
227
+ ;(global.fetch as unknown as jest.Mock).mockResolvedValue(mockFetchResponse)
229
228
 
230
229
  const result = await adapter.refreshToken('old-refresh-token')
231
230
 
232
- expect(nativeFetch.fetch).toHaveBeenCalledWith(
231
+ expect(global.fetch).toHaveBeenCalledWith(
233
232
  'https://test.supabase.co/auth/v1/token?grant_type=refresh_token',
234
233
  {
235
234
  method: 'POST',
@@ -253,11 +252,11 @@ describe('SupabaseAuthAdapter', () => {
253
252
  json: jest.fn().mockResolvedValue({}),
254
253
  }
255
254
 
256
- ;(nativeFetch.fetch as unknown as jest.Mock).mockResolvedValue(mockFetchResponse)
255
+ ;(global.fetch as unknown as jest.Mock).mockResolvedValue(mockFetchResponse)
257
256
 
258
257
  await adapter.refreshToken('refresh-token')
259
258
 
260
- const callArgs = (nativeFetch.fetch as unknown as jest.Mock).mock.calls[0]
259
+ const callArgs = (global.fetch as unknown as jest.Mock).mock.calls[0]
261
260
  expect(callArgs[0]).toBe(
262
261
  'https://test.supabase.co/auth/v1/token?grant_type=refresh_token'
263
262
  )
@@ -7,7 +7,6 @@ import {
7
7
  } from '@quatrain/auth'
8
8
 
9
9
  import { createClient } from '@supabase/supabase-js'
10
- import * as nativeFetch from 'node-fetch-native'
11
10
 
12
11
  // Create a single supabase client for interacting with your database
13
12
  /**
@@ -45,6 +44,13 @@ export class SupabaseAuthAdapter extends AbstractAuthAdapter {
45
44
  Auth.info(`Created Supabase client for ${params.config.supabaseUrl}`)
46
45
  }
47
46
 
47
+ /**
48
+ * Returns the underlying Supabase Client instance.
49
+ */
50
+ public get client(): any {
51
+ return this._client
52
+ }
53
+
48
54
  /**
49
55
  * Register new user in authentication
50
56
  * @param user
@@ -104,7 +110,7 @@ export class SupabaseAuthAdapter extends AbstractAuthAdapter {
104
110
  */
105
111
  async refreshToken(refreshToken: string) {
106
112
  const url = `${this._params.config.supabaseUrl}/auth/v1/token?grant_type=refresh_token`
107
- const response = await nativeFetch.fetch(url, {
113
+ const response = await fetch(url, {
108
114
  method: 'POST',
109
115
  headers: {
110
116
  apikey: this._params.config.supabaseKey,