Browse Source

Start to integrate licensing with sessions

master
Rory Powell 5 years ago
parent
commit
8ff9aac4f8
  1. 3
      packages/backend-core/src/cache/user.js
  2. 18
      packages/backend-core/src/cloud/accounts.js
  3. 1
      packages/worker/src/api/controllers/global/users.js

3
packages/backend-core/src/cache/user.js

@ -14,7 +14,10 @@ const populateFromDB = async (userId, tenantId) => {
if (!env.SELF_HOSTED && !env.DISABLE_ACCOUNT_PORTAL) { if (!env.SELF_HOSTED && !env.DISABLE_ACCOUNT_PORTAL) {
const account = await accounts.getAccount(user.email) const account = await accounts.getAccount(user.email)
// TODO: Break this out into it's own cache
if (account) { if (account) {
const license = await accounts.getLicense(user.tenantId)
user.license = license
user.account = account user.account = account
user.accountPortalAccess = true user.accountPortalAccess = true
} }

18
packages/backend-core/src/cloud/accounts.js

@ -22,3 +22,21 @@ exports.getAccount = async email => {
return json[0] return json[0]
} }
// TODO: Replace with licensing key
exports.getLicense = async tenantId => {
const response = await api.get(`/api/license/${tenantId}`, {
headers: {
[Headers.API_KEY]: env.ACCOUNT_PORTAL_API_KEY,
},
})
if (response.status !== 200) {
const text = await response.text()
console.error("Error getting license: ", text)
throw new Error(`Error getting license for tenant ${tenantId}`)
}
const json = await response.json()
return json
}

1
packages/worker/src/api/controllers/global/users.js

@ -170,6 +170,7 @@ exports.getSelf = async ctx => {
// forward session information not found in db // forward session information not found in db
ctx.body.account = ctx.user.account ctx.body.account = ctx.user.account
ctx.body.license = ctx.user.license
ctx.body.budibaseAccess = ctx.user.budibaseAccess ctx.body.budibaseAccess = ctx.user.budibaseAccess
ctx.body.accountPortalAccess = ctx.user.accountPortalAccess ctx.body.accountPortalAccess = ctx.user.accountPortalAccess
ctx.body.csrfToken = ctx.user.csrfToken ctx.body.csrfToken = ctx.user.csrfToken

Loading…
Cancel
Save