feat: Implement API endpoint for user trial info
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
import { renderObject } from '../../../../helpers/renderer.js';
|
||||||
|
|
||||||
|
export default async (request, response) => {
|
||||||
|
const inTrial = await request.currentUser.inTrial();
|
||||||
|
|
||||||
|
const hasActiveSubscription =
|
||||||
|
await request.currentUser.hasActiveSubscription();
|
||||||
|
|
||||||
|
const trialInfo = {
|
||||||
|
inTrial,
|
||||||
|
hasActiveSubscription,
|
||||||
|
expireAt: request.currentUser.trialExpiryDate,
|
||||||
|
};
|
||||||
|
|
||||||
|
renderObject(response, trialInfo);
|
||||||
|
};
|
@@ -1,14 +1,22 @@
|
|||||||
import { Router } from 'express';
|
import { Router } from 'express';
|
||||||
import { authenticateUser } from '../../../helpers/authentication.js';
|
import { authenticateUser } from '../../../helpers/authentication.js';
|
||||||
import { authorizeUser } from '../../../helpers/authorization.js';
|
import { authorizeUser } from '../../../helpers/authorization.js';
|
||||||
|
import checkIsCloud from '../../../helpers/check-is-cloud.js';
|
||||||
import getCurrentUserAction from '../../../controllers/api/v1/users/get-current-user.js';
|
import getCurrentUserAction from '../../../controllers/api/v1/users/get-current-user.js';
|
||||||
import getUserAction from '../../../controllers/api/v1/users/get-user.js';
|
import getUserAction from '../../../controllers/api/v1/users/get-user.js';
|
||||||
import getUsersAction from '../../../controllers/api/v1/users/get-users.js';
|
import getUsersAction from '../../../controllers/api/v1/users/get-users.js';
|
||||||
|
import getUserTrialAction from '../../../controllers/api/v1/users/get-user-trial.js';
|
||||||
|
|
||||||
const router = Router();
|
const router = Router();
|
||||||
|
|
||||||
router.get('/', authenticateUser, authorizeUser, getUsersAction);
|
router.get('/', authenticateUser, authorizeUser, getUsersAction);
|
||||||
router.get('/me', authenticateUser, getCurrentUserAction);
|
router.get('/me', authenticateUser, getCurrentUserAction);
|
||||||
router.get('/:userId', authenticateUser, authorizeUser, getUserAction);
|
router.get('/:userId', authenticateUser, authorizeUser, getUserAction);
|
||||||
|
router.get(
|
||||||
|
'/:userId/trial',
|
||||||
|
authenticateUser,
|
||||||
|
checkIsCloud,
|
||||||
|
getUserTrialAction
|
||||||
|
);
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
Reference in New Issue
Block a user