generated from azures04/Base-REST-API
Introduce bootstrap entrypoint and prestartup to ping DB and generate/manage RSA keypair. Add security module for key IO. Implement JWT-based access and refresh tokens (tokensService) with refresh_tokens table and repo. Add auth, provider and user services, and refresh-token management. Update repositories (users, credentials, providers, servers) with SQL fixes and new helper methods. Move DDL execution to bootstrap (remove from server). Update package.json main and add dependencies (bcryptjs, jsonwebtoken). Update .env.example and .gitignore accordingly.
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
const providersRepo = require("../repositories/providersRepo")
|
|
|
|
async function getAvailableProviders() {
|
|
return await providersRepo.listEnabled()
|
|
}
|
|
|
|
async function getProviders() {
|
|
return await providersRepo.listAll()
|
|
}
|
|
|
|
async function enableProvider({ providerId }) {
|
|
return await providersRepo.setEnabled(providerId, true)
|
|
}
|
|
|
|
async function disableProvider({ providerId }) {
|
|
return await providersRepo.setEnabled(providerId, false)
|
|
}
|
|
|
|
async function createProvider({ name, issuerLogo, issuerURL }) {
|
|
return await providersRepo.create(name, issuerLogo, issuerURL)
|
|
}
|
|
|
|
async function updateProvider({ id, name, issuerLogo = undefined, issuerURL = undefined }) {
|
|
return await providersRepo.updateProvider(id, name, issuerLogo, issuerURL)
|
|
}
|
|
|
|
async function deleteProvider({ id }) {
|
|
return await providersRepo.remove(id)
|
|
}
|
|
|
|
async function getProvider({ id = undefined, name = undefined }) {
|
|
if (typeof id != "undefined") {
|
|
return await providersRepo.findById(id)
|
|
} else if (typeof name != "undefined") {
|
|
return await providersRepo.findByName(name)
|
|
}
|
|
return undefined
|
|
}
|
|
|
|
module.exports = {
|
|
getProvider,
|
|
getProviders,
|
|
enableProvider,
|
|
updateProvider,
|
|
createProvider,
|
|
deleteProvider,
|
|
disableProvider,
|
|
getAvailableProviders,
|
|
} |