37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const LeaguesService = require('../services/leagues');
|
|
const UsersService = require('../services/users');
|
|
const { authenticateJWT } = require('../auth/auth');
|
|
|
|
// POST /api/admin/onboarding
|
|
router.post(
|
|
'/',
|
|
async (req, res, next) => {
|
|
try {
|
|
const { leagueName, adminFirstName, adminLastName, adminEmail, adminPassword } = req.body;
|
|
// Create new league
|
|
const league = await LeaguesService.create({ name: leagueName }, req.currentUser);
|
|
// Create league administrator linked to the new league
|
|
const user = await UsersService.create(
|
|
{
|
|
firstName: adminFirstName,
|
|
lastName: adminLastName,
|
|
email: adminEmail,
|
|
password: adminPassword,
|
|
leagueId: league.id,
|
|
role: 'League Administrator',
|
|
},
|
|
req.currentUser,
|
|
false,
|
|
req.get('host'),
|
|
);
|
|
res.status(201).json({ league, user });
|
|
} catch (error) {
|
|
next(error);
|
|
}
|
|
},
|
|
);
|
|
|
|
module.exports = router;
|