mirror of
https://github.com/cypress-io/cypress.git
synced 2026-02-11 01:29:59 -06:00
* chore: Remove references to desktop-gui in CI & scripts * More path updates * Remove desktop-gui cypress tests * remove add:project * remove begin:auth * remove close:browser * remove close:project * remove external:open * remove get:current:user * remove get:orgs * remove gui:error * remove get:runs * remove get:options * remove get:projects * remove get:project:statuses * remove get:project:status * remove get:dashboard:projects * remove get:record:keys * remove get:release:notes * remove get:specs * remove get:user:editor * remove set:user:editor * remove launch:browser * remove log:out * remove on:focus:tests * remove: on:menu:clicked * remove open:file * remove open:finder * remove open:project * remove on:config:changed * remove on:spec:changed * remove on:project:error * remove on:project:warning * remove ping:api:server * remove ping:baseUrl * remove remove:project * remove request:access * remove setup:dashboard:project * remove set:project:id * remove requestAccess * remove show:directory:dialog * remove show:new:spec:dialog * remove updater:check * remove updater:run * remove window:open/close * remove new:project:banner:closed * remove has:opened:cypress * remove remove:scaffolded:files * remove set:clipboard:text * remove set:prompt:shown * ipc & static method cleanup * remove packages/desktop-gui * bump yarn.lock, standardize webpack version * bump yarn.lock
70 lines
1.4 KiB
TypeScript
70 lines
1.4 KiB
TypeScript
const debug = require('debug')('cypress:server:user')
|
|
const api = require('./api')
|
|
const cache = require('./cache')
|
|
const errors = require('./errors')
|
|
|
|
export = {
|
|
get () {
|
|
return cache.getUser()
|
|
},
|
|
|
|
set (user) {
|
|
return cache.setUser(user)
|
|
},
|
|
|
|
getBaseLoginUrl () {
|
|
return api.getAuthUrls()
|
|
.get('dashboardAuthUrl')
|
|
},
|
|
|
|
logOut () {
|
|
return this.get().then((user) => {
|
|
const authToken = user && user.authToken
|
|
|
|
return cache.removeUser().then(() => {
|
|
if (authToken) {
|
|
return api.postLogout(authToken)
|
|
}
|
|
})
|
|
})
|
|
},
|
|
|
|
syncProfile (authToken) {
|
|
debug('synchronizing user profile')
|
|
|
|
return api.getMe(authToken)
|
|
.then((res) => {
|
|
debug('received /me %o', res)
|
|
const user = {
|
|
authToken,
|
|
name: res.name,
|
|
email: res.email,
|
|
}
|
|
|
|
return this.set(user)
|
|
.return(user)
|
|
})
|
|
},
|
|
|
|
ensureAuthToken () {
|
|
return this.get().then((user) => {
|
|
// return authToken if we have one
|
|
let at
|
|
|
|
if (user && (at = user.authToken)) {
|
|
debug('found authToken %s', at)
|
|
|
|
return at
|
|
}
|
|
|
|
// else throw the not logged in error
|
|
const error = errors.get('NOT_LOGGED_IN')
|
|
|
|
// tag it as api error since the user is only relevant
|
|
// in regards to the api
|
|
error.isApiError = true
|
|
throw error
|
|
})
|
|
},
|
|
}
|