Skip to content

Commit c8456ef

Browse files
committed
chore: cleans broken tests
1 parent 076b4b9 commit c8456ef

File tree

17 files changed

+5641
-445
lines changed

17 files changed

+5641
-445
lines changed

lib/Auth.js

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
'use strict'
2+
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault')
3+
Object.defineProperty(exports, '__esModule', { value: !0 }), (exports.Auth = void 0)
4+
var _asyncToGenerator2 = _interopRequireDefault(require('@babel/runtime/helpers/asyncToGenerator')),
5+
_superagent = _interopRequireDefault(require('superagent')),
6+
isBrowser = () => 'undefined' != typeof window,
7+
storageKey = 'supabase.auth.token'
8+
class Auth {
9+
constructor(a, b) {
10+
var c = Math.round,
11+
d = this,
12+
e =
13+
2 < arguments.length && void 0 !== arguments[2]
14+
? arguments[2]
15+
: { autoRefreshToken: !0, persistSession: !0 }
16+
;(this.authUrl = a),
17+
(this.accessToken = b),
18+
(this.refreshToken = null),
19+
(this.supabaseKey = b),
20+
(this.currentUser = null),
21+
(this.autoRefreshToken = !(e.autoRefreshToken !== void 0) || e.autoRefreshToken),
22+
(this.persistSession = !(e.persistSession !== void 0) || e.persistSession),
23+
(this.signup = /*#__PURE__*/ (function () {
24+
var b = (0, _asyncToGenerator2.default)(function* (b, e) {
25+
d.removeSavedSession() // clean out the old session before attempting
26+
var f = yield _superagent.default
27+
.post(''.concat(a, '/signup'), { email: b, password: e })
28+
.set('accept', 'json')
29+
.set('apikey', d.supabaseKey)
30+
if (200 === f.status && f.body.user.confirmed_at) {
31+
;(d.accessToken = f.body.access_token),
32+
(d.refreshToken = f.body.refresh_token),
33+
(d.currentUser = f.body.user)
34+
var g = f.body.expires_in
35+
if (
36+
(d.autoRefreshToken && g && setTimeout(d.callRefreshToken, 1e3 * (g - 60)),
37+
d.persistSession)
38+
) {
39+
var h = c(Date.now() / 1e3)
40+
d.saveSession(d.accessToken, d.refreshToken, h + g, d.currentUser)
41+
}
42+
}
43+
return f
44+
})
45+
return function () {
46+
return b.apply(this, arguments)
47+
}
48+
})()),
49+
(this.login = /*#__PURE__*/ (function () {
50+
var b = (0, _asyncToGenerator2.default)(function* (b, e) {
51+
d.removeSavedSession() // clean out the old session before attempting
52+
var f = yield _superagent.default
53+
.post(''.concat(a, '/token?grant_type=password'), { email: b, password: e })
54+
.set('accept', 'json')
55+
.set('apikey', d.supabaseKey)
56+
if (200 === f.status) {
57+
;(d.accessToken = f.body.access_token),
58+
(d.refreshToken = f.body.refresh_token),
59+
(d.currentUser = f.body.user)
60+
var g = f.body.expires_in
61+
if (
62+
(d.autoRefreshToken && g && setTimeout(d.callRefreshToken, 1e3 * (g - 60)),
63+
d.persistSession)
64+
) {
65+
var h = c(Date.now() / 1e3)
66+
d.saveSession(d.accessToken, d.refreshToken, h + g, d.currentUser)
67+
}
68+
}
69+
return f
70+
})
71+
return function () {
72+
return b.apply(this, arguments)
73+
}
74+
})()),
75+
(this.callRefreshToken = /*#__PURE__*/ (0, _asyncToGenerator2.default)(function* () {
76+
var b = yield _superagent.default
77+
.post(''.concat(a, '/token?grant_type=refresh_token'), { refresh_token: d.refreshToken })
78+
.set('accept', 'json')
79+
.set('apikey', d.supabaseKey)
80+
if (200 === b.status) {
81+
;(d.accessToken = b.body.access_token), (d.refreshToken = b.body.refresh_token)
82+
var e = b.body.expires_in
83+
if (
84+
(d.autoRefreshToken && e && setTimeout(d.callRefreshToken, 1e3 * (e - 60)),
85+
d.persistSession)
86+
) {
87+
var f = c(Date.now() / 1e3)
88+
d.saveSession(d.accessToken, d.refreshToken, f + e, d.currentUser)
89+
}
90+
}
91+
return b
92+
})),
93+
(this.logout = /*#__PURE__*/ (0, _asyncToGenerator2.default)(function* () {
94+
yield _superagent.default
95+
.post(''.concat(a, '/logout'))
96+
.set('Authorization', 'Bearer '.concat(d.accessToken))
97+
.set('apikey', d.supabaseKey),
98+
d.removeSavedSession()
99+
})),
100+
(this.user = /*#__PURE__*/ (0, _asyncToGenerator2.default)(function* () {
101+
if (d.currentUser) return d.currentUser
102+
var b = yield _superagent.default
103+
.get(''.concat(a, '/user'))
104+
.set('Authorization', 'Bearer '.concat(d.accessToken))
105+
.set('apikey', d.supabaseKey)
106+
return (
107+
200 === b.status &&
108+
((d.currentUser = b.body),
109+
(d.currentUser.access_token = d.accessToken),
110+
(d.currentUser.refresh_token = d.refreshToken)),
111+
d.currentUser
112+
)
113+
})),
114+
(this.saveSession = (a, b, c, d) => {
115+
isBrowser() &&
116+
localStorage.setItem(
117+
storageKey,
118+
JSON.stringify({ accessToken: a, refreshToken: b, expiresAt: c, currentUser: d })
119+
)
120+
}),
121+
(this.removeSavedSession = () => {
122+
;(this.currentUser = null),
123+
(this.refreshToken = null),
124+
(this.accessToken = this.supabaseKey),
125+
isBrowser() && localStorage.removeItem(storageKey)
126+
}),
127+
(this.authHeader = () => {
128+
var a = isBrowser() && localStorage.getItem(storageKey),
129+
b = a ? JSON.parse(a) : null
130+
return (null === b || void 0 === b ? void 0 : b.accessToken)
131+
? 'Bearer '.concat(b.accessToken)
132+
: this.accessToken
133+
? 'Bearer '.concat(this.accessToken)
134+
: null
135+
}),
136+
(this.recoverSession = () => {
137+
var a = isBrowser() && localStorage.getItem(storageKey)
138+
if (a)
139+
try {
140+
var b = JSON.parse(a),
141+
{ accessToken: d, refreshToken: e, currentUser: f, expiresAt: g } = b,
142+
h = c(Date.now() / 1e3)
143+
g < h
144+
? (console.log('saved session has expired'), this.removeSavedSession())
145+
: ((this.accessToken = d),
146+
(this.refreshToken = e),
147+
(this.currentUser = f),
148+
setTimeout(this.callRefreshToken, 1e3 * (g - h - 60)))
149+
} catch (a) {
150+
return console.error(a), null
151+
}
152+
return null
153+
}),
154+
this.recoverSession()
155+
}
156+
}
157+
exports.Auth = Auth

lib/Realtime.js

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
'use strict'
2+
var _interopRequireWildcard = require('@babel/runtime/helpers/interopRequireWildcard')
3+
Object.defineProperty(exports, '__esModule', { value: !0 }), (exports.default = void 0)
4+
var _realtimeJs = require('@supabase/realtime-js'),
5+
ChangeMapper = _interopRequireWildcard(require('./utils/ChangeMapper'))
6+
class Realtime {
7+
constructor(a, b, c, d, e, f, g, h) {
8+
;(this.tableName = a),
9+
(this.realtimeUrl = b),
10+
(this.schema = c),
11+
(this.apikey = d),
12+
(this.uuid = e),
13+
(this.socket = null),
14+
(this.channel = null),
15+
(this.listeners = {}),
16+
(this.queryFilters = h),
17+
this.on(f, g)
18+
}
19+
/**
20+
* REALTIME FUNCTIONALITY
21+
*/ createListener() {
22+
var a = ''.concat(this.realtimeUrl),
23+
b = ''
24+
this.queryFilters.forEach((a) => {
25+
switch (a.filter) {
26+
case 'filter':
27+
'eq' === a.operator &&
28+
(b = ':'.concat(a.columnName, '=').concat(a.operator, '.').concat(a.criteria))
29+
break
30+
default:
31+
}
32+
})
33+
var c =
34+
'*' == this.tableName
35+
? 'realtime:*'
36+
: 'realtime:'.concat(this.schema, ':').concat(this.tableName).concat(b)
37+
;(this.socket = new _realtimeJs.Socket(a, { params: { apikey: this.apikey } })),
38+
(this.channel = this.socket.channel(c)),
39+
this.socket.onOpen(() => {
40+
console.debug(''.concat(this.realtimeUrl, ': REALTIME CONNECTED'))
41+
}),
42+
this.socket.onClose(() => {
43+
console.debug(''.concat(this.realtimeUrl, ': REALTIME DISCONNECTED'))
44+
})
45+
}
46+
on(a, b) {
47+
return (
48+
null == this.socket && this.createListener(),
49+
this.channel.on(a, (a) => {
50+
var c = { schema: a.schema, table: a.table, commit_timestamp: a.commit_timestamp },
51+
d = {},
52+
e = {},
53+
f = {}
54+
switch (a.type) {
55+
case 'INSERT':
56+
;(d = ChangeMapper.convertChangeData(a.columns, a.record)),
57+
(c.eventType = 'INSERT'),
58+
(c.new = d)
59+
break
60+
case 'UPDATE':
61+
;(e = ChangeMapper.convertChangeData(a.columns, a.old_record)),
62+
(d = ChangeMapper.convertChangeData(a.columns, a.record)),
63+
Object.keys(e).forEach((a) => {
64+
null != e[a] && (f[a] = e[a])
65+
}),
66+
(c.eventType = 'UPDATE'),
67+
(c.old = f),
68+
(c.new = d)
69+
break
70+
case 'DELETE':
71+
;(e = ChangeMapper.convertChangeData(a.columns, a.old_record)),
72+
Object.keys(e).forEach((a) => {
73+
null != e[a] && (f[a] = e[a])
74+
}),
75+
(c.eventType = 'DELETE'),
76+
(c.old = f)
77+
break
78+
default:
79+
}
80+
b(c)
81+
}),
82+
(this.listeners[a] = b),
83+
this
84+
)
85+
}
86+
subscribe() {
87+
return (
88+
null == this.socket && this.createListener(),
89+
this.socket.connect(),
90+
'joined' !== this.channel.state &&
91+
this.channel
92+
.join()
93+
.receive('ok', (a) =>
94+
console.debug(''.concat(this.realtimeUrl, ': Joined Realtime successfully '), a)
95+
)
96+
.receive('error', (a) =>
97+
console.debug(''.concat(this.realtimeUrl, ': Unable to join '), a)
98+
)
99+
.receive('timeout', () =>
100+
console.debug(''.concat(this.realtimeUrl, ': Network timeout. Still waiting...'))
101+
),
102+
this
103+
)
104+
}
105+
unsubscribe() {
106+
return this.socket && this.socket.disconnect(), this
107+
}
108+
}
109+
var _default = Realtime
110+
exports.default = _default

0 commit comments

Comments
 (0)