propro-utils 1.5.29 → 1.5.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/middlewares/access_token.js +3 -2
- package/middlewares/account_info.js +50 -10
- package/package.json +1 -1
- package/src/index.js +9 -2
- package/src/server/index.js +8 -6
- package/utils/serviceManager.js +49 -0
- package/coverage/clover.xml +0 -212
- package/coverage/coverage-final.json +0 -8
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -161
- package/coverage/lcov-report/middlewares/access_token.js.html +0 -343
- package/coverage/lcov-report/middlewares/account_info.js.html +0 -334
- package/coverage/lcov-report/middlewares/index.html +0 -131
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/src/server/index.html +0 -116
- package/coverage/lcov-report/src/server/index.js.html +0 -664
- package/coverage/lcov-report/src/server/middleware/index.html +0 -131
- package/coverage/lcov-report/src/server/middleware/validateEnv.js.html +0 -139
- package/coverage/lcov-report/src/server/middleware/verifyToken.js.html +0 -604
- package/coverage/lcov-report/utils/index.html +0 -131
- package/coverage/lcov-report/utils/redis.js.html +0 -133
- package/coverage/lcov-report/utils/testUtils.js.html +0 -172
- package/coverage/lcov-report/verifyToken.js.html +0 -589
- package/coverage/lcov.info +0 -361
|
@@ -33,7 +33,7 @@ const { checkIfUserExists } = require('./account_info');
|
|
|
33
33
|
* res.json({ message: 'You have access to protected data' });
|
|
34
34
|
* });
|
|
35
35
|
*/
|
|
36
|
-
const authValidation = (
|
|
36
|
+
const authValidation = (requiredPermissions = []) => {
|
|
37
37
|
return async (req, res, next) => {
|
|
38
38
|
try {
|
|
39
39
|
const accessToken =
|
|
@@ -54,6 +54,7 @@ const authValidation = (redisClient, userSchema, requiredPermissions = []) => {
|
|
|
54
54
|
);
|
|
55
55
|
return response.data;
|
|
56
56
|
};
|
|
57
|
+
const redisClient = await ServiceManager.getService('RedisClient');
|
|
57
58
|
const cacheKey = `account:permissions:${accessToken}`;
|
|
58
59
|
const { accountId, validPermissions } = await getOrSetCache(
|
|
59
60
|
redisClient,
|
|
@@ -68,7 +69,7 @@ const authValidation = (redisClient, userSchema, requiredPermissions = []) => {
|
|
|
68
69
|
|
|
69
70
|
req.account = accountId;
|
|
70
71
|
|
|
71
|
-
const user = await checkIfUserExists(
|
|
72
|
+
const user = await checkIfUserExists(accountId);
|
|
72
73
|
if (!user) {
|
|
73
74
|
return res.status(403).json({ error: 'User not found' });
|
|
74
75
|
}
|
|
@@ -58,21 +58,61 @@ const getAccountProfile = async (redisClient, userSchema, accountId) => {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
62
|
-
* If the user does not exist, creates a new user with the given account ID.
|
|
61
|
+
* Creates a new user global styles document.
|
|
63
62
|
*
|
|
64
|
-
* @param {
|
|
65
|
-
* @param {string} accountId - The account ID of the user
|
|
66
|
-
* @returns {Promise<
|
|
63
|
+
* @param {Object} userStyleSchema - The user style schema to perform the operation on.
|
|
64
|
+
* @param {string} accountId - The account ID of the user.
|
|
65
|
+
* @returns {Promise<Object>} A promise that resolves to the created user global styles object.
|
|
67
66
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (user) return user;
|
|
71
|
-
return await userSchema.create({
|
|
67
|
+
async function createUserGlobalStyles(userStyleSchema, accountId) {
|
|
68
|
+
return await userStyleSchema.create({
|
|
72
69
|
accountId,
|
|
73
70
|
id: uuidv4(),
|
|
74
|
-
|
|
71
|
+
styleShortcuts: [],
|
|
75
72
|
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Checks if a user exists based on the given account ID.
|
|
77
|
+
* If the user does not exist, creates a new user with the given account ID.
|
|
78
|
+
*
|
|
79
|
+
* @param {string} accountId - The account ID of the user to check/create.
|
|
80
|
+
* @returns {Promise<Object>} A promise that resolves to the user object.
|
|
81
|
+
* @throws {Error} If there's an issue with database operations.
|
|
82
|
+
*/
|
|
83
|
+
const checkIfUserExists = async accountId => {
|
|
84
|
+
try {
|
|
85
|
+
const userSchema = await ServiceManager.getService('UserSchema');
|
|
86
|
+
const userStyleSchema = await ServiceManager.getService('UserStyleSchema');
|
|
87
|
+
let user = await userSchema.findOne({ accountId });
|
|
88
|
+
|
|
89
|
+
if (user) {
|
|
90
|
+
if (!user.userGlobalStyles) {
|
|
91
|
+
user.userGlobalStyles = await createUserGlobalStyles(
|
|
92
|
+
userStyleSchema,
|
|
93
|
+
accountId
|
|
94
|
+
);
|
|
95
|
+
await user.save();
|
|
96
|
+
}
|
|
97
|
+
return user;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const userGlobalStyles = await createUserGlobalStyles(
|
|
101
|
+
userStyleSchema,
|
|
102
|
+
accountId
|
|
103
|
+
);
|
|
104
|
+
user = await userSchema.create({
|
|
105
|
+
accountId,
|
|
106
|
+
id: uuidv4(),
|
|
107
|
+
verified: false,
|
|
108
|
+
userGlobalStyles,
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
return user;
|
|
112
|
+
} catch (error) {
|
|
113
|
+
console.error('Error in getOrCreateUser:', error);
|
|
114
|
+
throw new Error('Failed to get or create user');
|
|
115
|
+
}
|
|
76
116
|
};
|
|
77
117
|
|
|
78
118
|
module.exports = {
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const {
|
|
2
2
|
validateEnvironmentVariables,
|
|
3
3
|
} = require('./server/middleware/validateEnv');
|
|
4
|
-
const
|
|
4
|
+
const ServiceManager = require('../utils/serviceManager');
|
|
5
5
|
const ClientAuth = require('./client/index');
|
|
6
6
|
|
|
7
7
|
let _serverAuth, _clientAuth;
|
|
@@ -29,6 +29,7 @@ let _serverAuth, _clientAuth;
|
|
|
29
29
|
* @param {boolean} [options.useClientAuth=false] - A boolean flag to enable client-side authentication.
|
|
30
30
|
* @param {Object} [options.clientOptions={}] - Configuration options for client-side authentication.
|
|
31
31
|
* @param {Schema} [userSchema] - The user schema to perform the operations on.
|
|
32
|
+
* @param {Schema} [userStyleSchema] - The user style schema to perform the operations on.
|
|
32
33
|
* @param {RedisClient} [redisClient] - The Redis client used for caching.
|
|
33
34
|
*
|
|
34
35
|
* @returns {Function} An Express middleware function.
|
|
@@ -48,9 +49,10 @@ let _serverAuth, _clientAuth;
|
|
|
48
49
|
* ```
|
|
49
50
|
*/
|
|
50
51
|
class ProProAuthMiddleware {
|
|
51
|
-
constructor(options = {}, userSchema, redisClient) {
|
|
52
|
+
constructor(options = {}, userSchema, userStyleSchema, redisClient) {
|
|
52
53
|
this.options = options;
|
|
53
54
|
this.userSchema = userSchema;
|
|
55
|
+
this.userStyleSchema = userStyleSchema;
|
|
54
56
|
this.redisClient = redisClient;
|
|
55
57
|
this.serverAuth = null;
|
|
56
58
|
this.clientAuth = null;
|
|
@@ -80,9 +82,14 @@ class ProProAuthMiddleware {
|
|
|
80
82
|
this.serverAuth = new ServerAuth(
|
|
81
83
|
this.options.serverOptions,
|
|
82
84
|
this.userSchema,
|
|
85
|
+
this.userStyleSchema,
|
|
83
86
|
this.redisClient
|
|
84
87
|
);
|
|
85
88
|
}
|
|
89
|
+
|
|
90
|
+
ServiceManager.registerService('UserSchema', UserSchema);
|
|
91
|
+
ServiceManager.registerService('UserStyleSchema', UserStyleSchema);
|
|
92
|
+
ServiceManager.registerService('RedisClient', RedisClient);
|
|
86
93
|
return this.serverAuth.middleware();
|
|
87
94
|
}
|
|
88
95
|
|
package/src/server/index.js
CHANGED
|
@@ -28,11 +28,12 @@ const upload = multer().single('file');
|
|
|
28
28
|
* @param {string} [options.appName=process.env.APP_NAME] - The application name.
|
|
29
29
|
* @param {string} [options.appUrl] - The URL of the client application.
|
|
30
30
|
* @param {Schema} [userSchema] - The user schema to perform the operations on.
|
|
31
|
+
* @param {Schema} [userStyleSchema] - The user style schema to perform the operations on.
|
|
31
32
|
* @param {RedisClient} [redisClient] - The Redis client used for caching.
|
|
32
33
|
* @returns {Function} - Express middleware function.
|
|
33
34
|
*/
|
|
34
35
|
class AuthMiddleware {
|
|
35
|
-
constructor(options = {}, userSchema, redisClient) {
|
|
36
|
+
constructor(options = {}, userSchema, userStyleSchema, redisClient) {
|
|
36
37
|
this.options = {
|
|
37
38
|
secret: options.secret || 'RESTFULAPIs',
|
|
38
39
|
authUrl: options.authUrl || process.env.AUTH_URL,
|
|
@@ -45,6 +46,7 @@ class AuthMiddleware {
|
|
|
45
46
|
};
|
|
46
47
|
this.userSchema = userSchema;
|
|
47
48
|
this.redisClient = redisClient;
|
|
49
|
+
this.userStyleSchema = userStyleSchema;
|
|
48
50
|
this.router = Router();
|
|
49
51
|
this.initializeRoutes();
|
|
50
52
|
}
|
|
@@ -85,7 +87,7 @@ class AuthMiddleware {
|
|
|
85
87
|
|
|
86
88
|
const { account, tokens } = response.data;
|
|
87
89
|
console.log('account:', account);
|
|
88
|
-
const user = await checkIfUserExists(
|
|
90
|
+
const user = await checkIfUserExists(account.accountId);
|
|
89
91
|
console.log('user:', user);
|
|
90
92
|
|
|
91
93
|
if (returnTokens === 'true') {
|
|
@@ -123,7 +125,7 @@ class AuthMiddleware {
|
|
|
123
125
|
);
|
|
124
126
|
|
|
125
127
|
const { account, tokens } = response.data;
|
|
126
|
-
const user = await checkIfUserExists(
|
|
128
|
+
const user = await checkIfUserExists(account.accountId);
|
|
127
129
|
|
|
128
130
|
if (returnTokens === 'true') {
|
|
129
131
|
res.status(response.status).json({ account, user, tokens });
|
|
@@ -151,7 +153,7 @@ class AuthMiddleware {
|
|
|
151
153
|
this.options.redirectUri
|
|
152
154
|
);
|
|
153
155
|
|
|
154
|
-
const user = await checkIfUserExists(
|
|
156
|
+
const user = await checkIfUserExists(account.accountId);
|
|
155
157
|
|
|
156
158
|
if (!user) {
|
|
157
159
|
throw new Error('User not found');
|
|
@@ -186,7 +188,7 @@ class AuthMiddleware {
|
|
|
186
188
|
.json({ error: 'Invalid or expired refresh token' });
|
|
187
189
|
}
|
|
188
190
|
|
|
189
|
-
const user = await checkIfUserExists(
|
|
191
|
+
const user = await checkIfUserExists(account.accountId);
|
|
190
192
|
|
|
191
193
|
const { returnTokens } = req.query;
|
|
192
194
|
if (returnTokens === 'true') {
|
|
@@ -370,7 +372,7 @@ class AuthMiddleware {
|
|
|
370
372
|
let formattedAuthUrl = formatRedirectUrl(this.options.authUrl) + path;
|
|
371
373
|
|
|
372
374
|
if (!accessToken) {
|
|
373
|
-
formattedAuthUrl = `${formattedAuthUrl}
|
|
375
|
+
formattedAuthUrl = `${formattedAuthUrl}?clientId=${this.options.clientId}&redirectUri=${this.options.redirectUri}`;
|
|
374
376
|
}
|
|
375
377
|
|
|
376
378
|
const data = req.file ? formData : req.body;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This is a simple service manager that allows you to register services and get them later.
|
|
3
|
+
It's useful when you have services that are created asynchronously and you want to make sure
|
|
4
|
+
that they are available when needed.
|
|
5
|
+
The service manager is a singleton, so you can import it anywhere in your application and
|
|
6
|
+
register/get services.
|
|
7
|
+
Example usage:
|
|
8
|
+
```
|
|
9
|
+
const serviceManager = require('./serviceManager');
|
|
10
|
+
const myService = require('./myService');
|
|
11
|
+
serviceManager.registerService('myService', myService);
|
|
12
|
+
const service = serviceManager.getService('myService');
|
|
13
|
+
```
|
|
14
|
+
In the example above, we register a service called 'myService' and then get it using the
|
|
15
|
+
`getService` method.
|
|
16
|
+
If the service is not registered yet, the `getService` method will return a promise that will
|
|
17
|
+
resolve once the service is registered.
|
|
18
|
+
This way, you can make sure that the service is available when needed.
|
|
19
|
+
*/
|
|
20
|
+
class ServiceManager {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.services = {};
|
|
23
|
+
this.servicePromises = {};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
registerService(name, service) {
|
|
27
|
+
this.services[name] = service;
|
|
28
|
+
if (this.servicePromises[name]) {
|
|
29
|
+
this.servicePromises[name].resolve(service);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
getService(name) {
|
|
34
|
+
if (this.services[name]) {
|
|
35
|
+
return this.services[name];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!this.servicePromises[name]) {
|
|
39
|
+
this.servicePromises[name] = {};
|
|
40
|
+
this.servicePromises[name].promise = new Promise(resolve => {
|
|
41
|
+
this.servicePromises[name].resolve = resolve;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return this.servicePromises[name].promise;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
module.exports = new ServiceManager();
|
package/coverage/clover.xml
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="1709296502031" clover="3.2.0">
|
|
3
|
-
<project timestamp="1709296502031" name="All files">
|
|
4
|
-
<metrics statements="173" coveredstatements="80" conditionals="83" coveredconditionals="30" methods="21" coveredmethods="14" elements="277" coveredelements="124" complexity="0" loc="173" ncloc="173" packages="4" files="7" classes="7"/>
|
|
5
|
-
<package name="middlewares">
|
|
6
|
-
<metrics statements="53" coveredstatements="13" conditionals="25" coveredconditionals="0" methods="6" coveredmethods="0"/>
|
|
7
|
-
<file name="access_token.js" path="/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/middlewares/access_token.js">
|
|
8
|
-
<metrics statements="27" coveredstatements="6" conditionals="13" coveredconditionals="0" methods="3" coveredmethods="0"/>
|
|
9
|
-
<line num="1" count="1" type="stmt"/>
|
|
10
|
-
<line num="2" count="1" type="stmt"/>
|
|
11
|
-
<line num="3" count="1" type="stmt"/>
|
|
12
|
-
<line num="4" count="1" type="stmt"/>
|
|
13
|
-
<line num="36" count="1" type="cond" truecount="0" falsecount="1"/>
|
|
14
|
-
<line num="37" count="0" type="stmt"/>
|
|
15
|
-
<line num="38" count="0" type="stmt"/>
|
|
16
|
-
<line num="40" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
17
|
-
<line num="43" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
18
|
-
<line num="44" count="0" type="stmt"/>
|
|
19
|
-
<line num="47" count="0" type="stmt"/>
|
|
20
|
-
<line num="48" count="0" type="stmt"/>
|
|
21
|
-
<line num="55" count="0" type="stmt"/>
|
|
22
|
-
<line num="57" count="0" type="stmt"/>
|
|
23
|
-
<line num="58" count="0" type="stmt"/>
|
|
24
|
-
<line num="65" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
25
|
-
<line num="66" count="0" type="stmt"/>
|
|
26
|
-
<line num="69" count="0" type="stmt"/>
|
|
27
|
-
<line num="71" count="0" type="stmt"/>
|
|
28
|
-
<line num="72" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
29
|
-
<line num="73" count="0" type="stmt"/>
|
|
30
|
-
<line num="75" count="0" type="stmt"/>
|
|
31
|
-
<line num="76" count="0" type="stmt"/>
|
|
32
|
-
<line num="78" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
33
|
-
<line num="79" count="0" type="stmt"/>
|
|
34
|
-
<line num="81" count="0" type="stmt"/>
|
|
35
|
-
<line num="86" count="1" type="stmt"/>
|
|
36
|
-
</file>
|
|
37
|
-
<file name="account_info.js" path="/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/middlewares/account_info.js">
|
|
38
|
-
<metrics statements="26" coveredstatements="7" conditionals="12" coveredconditionals="0" methods="3" coveredmethods="0"/>
|
|
39
|
-
<line num="1" count="3" type="stmt"/>
|
|
40
|
-
<line num="2" count="3" type="stmt"/>
|
|
41
|
-
<line num="3" count="3" type="stmt"/>
|
|
42
|
-
<line num="4" count="3" type="stmt"/>
|
|
43
|
-
<line num="16" count="3" type="stmt"/>
|
|
44
|
-
<line num="17" count="0" type="stmt"/>
|
|
45
|
-
<line num="19" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
46
|
-
<line num="21" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
47
|
-
<line num="22" count="0" type="stmt"/>
|
|
48
|
-
<line num="25" count="0" type="stmt"/>
|
|
49
|
-
<line num="26" count="0" type="stmt"/>
|
|
50
|
-
<line num="37" count="0" type="stmt"/>
|
|
51
|
-
<line num="39" count="0" type="stmt"/>
|
|
52
|
-
<line num="40" count="0" type="stmt"/>
|
|
53
|
-
<line num="47" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
54
|
-
<line num="48" count="0" type="stmt"/>
|
|
55
|
-
<line num="51" count="0" type="stmt"/>
|
|
56
|
-
<line num="53" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
57
|
-
<line num="54" count="0" type="stmt"/>
|
|
58
|
-
<line num="56" count="0" type="stmt"/>
|
|
59
|
-
<line num="68" count="3" type="stmt"/>
|
|
60
|
-
<line num="69" count="0" type="stmt"/>
|
|
61
|
-
<line num="70" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
62
|
-
<line num="71" count="0" type="stmt"/>
|
|
63
|
-
<line num="77" count="0" type="stmt"/>
|
|
64
|
-
<line num="80" count="3" type="stmt"/>
|
|
65
|
-
</file>
|
|
66
|
-
</package>
|
|
67
|
-
<package name="src.server">
|
|
68
|
-
<metrics statements="49" coveredstatements="15" conditionals="27" coveredconditionals="9" methods="3" coveredmethods="3"/>
|
|
69
|
-
<file name="index.js" path="/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/index.js">
|
|
70
|
-
<metrics statements="49" coveredstatements="15" conditionals="27" coveredconditionals="9" methods="3" coveredmethods="3"/>
|
|
71
|
-
<line num="1" count="2" type="stmt"/>
|
|
72
|
-
<line num="5" count="2" type="stmt"/>
|
|
73
|
-
<line num="6" count="2" type="stmt"/>
|
|
74
|
-
<line num="7" count="2" type="stmt"/>
|
|
75
|
-
<line num="32" count="2" type="stmt"/>
|
|
76
|
-
<line num="36" count="2" type="stmt"/>
|
|
77
|
-
<line num="37" count="1" type="stmt"/>
|
|
78
|
-
<line num="38" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
79
|
-
<line num="41" count="0" type="stmt"/>
|
|
80
|
-
<line num="44" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
81
|
-
<line num="45" count="1" type="stmt"/>
|
|
82
|
-
<line num="51" count="1" type="stmt"/>
|
|
83
|
-
<line num="54" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
84
|
-
<line num="55" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
85
|
-
<line num="56" count="0" type="stmt"/>
|
|
86
|
-
<line num="58" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
87
|
-
<line num="59" count="0" type="stmt"/>
|
|
88
|
-
<line num="65" count="0" type="stmt"/>
|
|
89
|
-
<line num="70" count="0" type="stmt"/>
|
|
90
|
-
<line num="72" count="0" type="stmt"/>
|
|
91
|
-
<line num="84" count="0" type="stmt"/>
|
|
92
|
-
<line num="86" count="0" type="cond" truecount="0" falsecount="5"/>
|
|
93
|
-
<line num="87" count="0" type="stmt"/>
|
|
94
|
-
<line num="92" count="0" type="stmt"/>
|
|
95
|
-
<line num="95" count="0" type="stmt"/>
|
|
96
|
-
<line num="97" count="0" type="stmt"/>
|
|
97
|
-
<line num="104" count="0" type="stmt"/>
|
|
98
|
-
<line num="106" count="0" type="stmt"/>
|
|
99
|
-
<line num="112" count="0" type="stmt"/>
|
|
100
|
-
<line num="117" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
101
|
-
<line num="118" count="0" type="stmt"/>
|
|
102
|
-
<line num="119" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
103
|
-
<line num="120" count="0" type="stmt"/>
|
|
104
|
-
<line num="123" count="0" type="stmt"/>
|
|
105
|
-
<line num="131" count="0" type="stmt"/>
|
|
106
|
-
<line num="133" count="0" type="stmt"/>
|
|
107
|
-
<line num="136" count="0" type="stmt"/>
|
|
108
|
-
<line num="139" count="0" type="stmt"/>
|
|
109
|
-
<line num="146" count="0" type="stmt"/>
|
|
110
|
-
<line num="148" count="0" type="stmt"/>
|
|
111
|
-
<line num="154" count="0" type="stmt"/>
|
|
112
|
-
<line num="156" count="0" type="stmt"/>
|
|
113
|
-
<line num="158" count="0" type="stmt"/>
|
|
114
|
-
<line num="160" count="0" type="stmt"/>
|
|
115
|
-
<line num="163" count="0" type="stmt"/>
|
|
116
|
-
<line num="178" count="1" type="stmt"/>
|
|
117
|
-
<line num="186" count="1" type="stmt"/>
|
|
118
|
-
<line num="188" count="1" type="stmt"/>
|
|
119
|
-
<line num="193" count="2" type="stmt"/>
|
|
120
|
-
</file>
|
|
121
|
-
</package>
|
|
122
|
-
<package name="src.server.middleware">
|
|
123
|
-
<metrics statements="55" coveredstatements="36" conditionals="23" coveredconditionals="13" methods="10" coveredmethods="9"/>
|
|
124
|
-
<file name="validateEnv.js" path="/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/middleware/validateEnv.js">
|
|
125
|
-
<metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="2" coveredmethods="2"/>
|
|
126
|
-
<line num="8" count="6" type="stmt"/>
|
|
127
|
-
<line num="9" count="2" type="cond" truecount="2" falsecount="0"/>
|
|
128
|
-
<line num="10" count="1" type="stmt"/>
|
|
129
|
-
<line num="16" count="1" type="stmt"/>
|
|
130
|
-
</file>
|
|
131
|
-
<file name="verifyToken.js" path="/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/middleware/verifyToken.js">
|
|
132
|
-
<metrics statements="51" coveredstatements="32" conditionals="21" coveredconditionals="11" methods="8" coveredmethods="7"/>
|
|
133
|
-
<line num="1" count="3" type="stmt"/>
|
|
134
|
-
<line num="2" count="3" type="stmt"/>
|
|
135
|
-
<line num="3" count="3" type="stmt"/>
|
|
136
|
-
<line num="12" count="2" type="stmt"/>
|
|
137
|
-
<line num="13" count="2" type="stmt"/>
|
|
138
|
-
<line num="15" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
139
|
-
<line num="16" count="0" type="stmt"/>
|
|
140
|
-
<line num="17" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
141
|
-
<line num="19" count="1" type="stmt"/>
|
|
142
|
-
<line num="29" count="2" type="stmt"/>
|
|
143
|
-
<line num="30" count="2" type="stmt"/>
|
|
144
|
-
<line num="33" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
145
|
-
<line num="35" count="2" type="stmt"/>
|
|
146
|
-
<line num="55" count="0" type="stmt"/>
|
|
147
|
-
<line num="56" count="0" type="stmt"/>
|
|
148
|
-
<line num="57" count="0" type="stmt"/>
|
|
149
|
-
<line num="71" count="0" type="stmt"/>
|
|
150
|
-
<line num="73" count="0" type="stmt"/>
|
|
151
|
-
<line num="74" count="0" type="stmt"/>
|
|
152
|
-
<line num="83" count="3" type="stmt"/>
|
|
153
|
-
<line num="84" count="3" type="stmt"/>
|
|
154
|
-
<line num="85" count="3" type="stmt"/>
|
|
155
|
-
<line num="86" count="3" type="cond" truecount="2" falsecount="0"/>
|
|
156
|
-
<line num="87" count="1" type="stmt"/>
|
|
157
|
-
<line num="91" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
158
|
-
<line num="92" count="0" type="stmt"/>
|
|
159
|
-
<line num="93" count="0" type="stmt"/>
|
|
160
|
-
<line num="96" count="2" type="stmt"/>
|
|
161
|
-
<line num="97" count="2" type="stmt"/>
|
|
162
|
-
<line num="98" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
163
|
-
<line num="99" count="1" type="stmt"/>
|
|
164
|
-
<line num="101" count="0" type="stmt"/>
|
|
165
|
-
<line num="102" count="0" type="stmt"/>
|
|
166
|
-
<line num="103" count="0" type="stmt"/>
|
|
167
|
-
<line num="105" count="1" type="stmt"/>
|
|
168
|
-
<line num="106" count="1" type="stmt"/>
|
|
169
|
-
<line num="115" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
170
|
-
<line num="116" count="0" type="stmt"/>
|
|
171
|
-
<line num="119" count="0" type="stmt"/>
|
|
172
|
-
<line num="120" count="0" type="stmt"/>
|
|
173
|
-
<line num="121" count="0" type="stmt"/>
|
|
174
|
-
<line num="123" count="1" type="stmt"/>
|
|
175
|
-
<line num="136" count="4" type="stmt"/>
|
|
176
|
-
<line num="137" count="6" type="stmt"/>
|
|
177
|
-
<line num="150" count="5" type="cond" truecount="2" falsecount="0"/>
|
|
178
|
-
<line num="154" count="2" type="cond" truecount="2" falsecount="0"/>
|
|
179
|
-
<line num="155" count="1" type="stmt"/>
|
|
180
|
-
<line num="157" count="1" type="stmt"/>
|
|
181
|
-
<line num="160" count="3" type="stmt"/>
|
|
182
|
-
<line num="163" count="5" type="stmt"/>
|
|
183
|
-
<line num="166" count="3" type="stmt"/>
|
|
184
|
-
</file>
|
|
185
|
-
</package>
|
|
186
|
-
<package name="utils">
|
|
187
|
-
<metrics statements="16" coveredstatements="16" conditionals="8" coveredconditionals="8" methods="2" coveredmethods="2"/>
|
|
188
|
-
<file name="redis.js" path="/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/utils/redis.js">
|
|
189
|
-
<metrics statements="11" coveredstatements="11" conditionals="3" coveredconditionals="3" methods="1" coveredmethods="1"/>
|
|
190
|
-
<line num="1" count="4" type="cond" truecount="1" falsecount="0"/>
|
|
191
|
-
<line num="2" count="5" type="stmt"/>
|
|
192
|
-
<line num="3" count="5" type="stmt"/>
|
|
193
|
-
<line num="4" count="4" type="cond" truecount="2" falsecount="0"/>
|
|
194
|
-
<line num="5" count="1" type="stmt"/>
|
|
195
|
-
<line num="6" count="1" type="stmt"/>
|
|
196
|
-
<line num="8" count="3" type="stmt"/>
|
|
197
|
-
<line num="9" count="2" type="stmt"/>
|
|
198
|
-
<line num="10" count="1" type="stmt"/>
|
|
199
|
-
<line num="12" count="3" type="stmt"/>
|
|
200
|
-
<line num="16" count="4" type="stmt"/>
|
|
201
|
-
</file>
|
|
202
|
-
<file name="testUtils.js" path="/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/utils/testUtils.js">
|
|
203
|
-
<metrics statements="5" coveredstatements="5" conditionals="5" coveredconditionals="5" methods="1" coveredmethods="1"/>
|
|
204
|
-
<line num="11" count="2" type="stmt"/>
|
|
205
|
-
<line num="16" count="2" type="stmt"/>
|
|
206
|
-
<line num="22" count="2" type="stmt"/>
|
|
207
|
-
<line num="24" count="2" type="stmt"/>
|
|
208
|
-
<line num="27" count="2" type="stmt"/>
|
|
209
|
-
</file>
|
|
210
|
-
</package>
|
|
211
|
-
</project>
|
|
212
|
-
</coverage>
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
{"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/middlewares/access_token.js": {"path":"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/middlewares/access_token.js","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":27}},"1":{"start":{"line":2,"column":14},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":24},"end":{"line":3,"column":49}},"3":{"start":{"line":4,"column":28},"end":{"line":4,"column":53}},"4":{"start":{"line":36,"column":23},"end":{"line":84,"column":1}},"5":{"start":{"line":37,"column":4},"end":{"line":83,"column":6}},"6":{"start":{"line":38,"column":8},"end":{"line":82,"column":9}},"7":{"start":{"line":40,"column":16},"end":{"line":41,"column":56}},"8":{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},"9":{"start":{"line":44,"column":16},"end":{"line":44,"column":81}},"10":{"start":{"line":47,"column":36},"end":{"line":56,"column":13}},"11":{"start":{"line":48,"column":33},"end":{"line":54,"column":17}},"12":{"start":{"line":55,"column":16},"end":{"line":55,"column":37}},"13":{"start":{"line":57,"column":29},"end":{"line":57,"column":65}},"14":{"start":{"line":58,"column":50},"end":{"line":63,"column":13}},"15":{"start":{"line":65,"column":12},"end":{"line":67,"column":13}},"16":{"start":{"line":66,"column":16},"end":{"line":66,"column":76}},"17":{"start":{"line":69,"column":12},"end":{"line":69,"column":36}},"18":{"start":{"line":71,"column":25},"end":{"line":71,"column":71}},"19":{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},"20":{"start":{"line":73,"column":16},"end":{"line":73,"column":71}},"21":{"start":{"line":75,"column":12},"end":{"line":75,"column":31}},"22":{"start":{"line":76,"column":12},"end":{"line":76,"column":19}},"23":{"start":{"line":78,"column":12},"end":{"line":80,"column":13}},"24":{"start":{"line":79,"column":16},"end":{"line":79,"column":61}},"25":{"start":{"line":81,"column":12},"end":{"line":81,"column":54}},"26":{"start":{"line":86,"column":0},"end":{"line":86,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":36,"column":23},"end":{"line":36,"column":24}},"loc":{"start":{"line":36,"column":78},"end":{"line":84,"column":1}},"line":36},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":11},"end":{"line":37,"column":12}},"loc":{"start":{"line":37,"column":37},"end":{"line":83,"column":5}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":47,"column":36},"end":{"line":47,"column":37}},"loc":{"start":{"line":47,"column":48},"end":{"line":56,"column":13}},"line":47}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":49},"end":{"line":36,"column":73}},"type":"default-arg","locations":[{"start":{"line":36,"column":71},"end":{"line":36,"column":73}}],"line":36},"1":{"loc":{"start":{"line":40,"column":16},"end":{"line":41,"column":56}},"type":"binary-expr","locations":[{"start":{"line":40,"column":16},"end":{"line":40,"column":45}},{"start":{"line":41,"column":16},"end":{"line":41,"column":56}}],"line":40},"2":{"loc":{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},"type":"if","locations":[{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},{"start":{},"end":{}}],"line":43},"3":{"loc":{"start":{"line":65,"column":12},"end":{"line":67,"column":13}},"type":"if","locations":[{"start":{"line":65,"column":12},"end":{"line":67,"column":13}},{"start":{},"end":{}}],"line":65},"4":{"loc":{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},"type":"if","locations":[{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},{"start":{},"end":{}}],"line":72},"5":{"loc":{"start":{"line":78,"column":12},"end":{"line":80,"column":13}},"type":"if","locations":[{"start":{"line":78,"column":12},"end":{"line":80,"column":13}},{"start":{},"end":{}}],"line":78},"6":{"loc":{"start":{"line":78,"column":16},"end":{"line":78,"column":55}},"type":"binary-expr","locations":[{"start":{"line":78,"column":16},"end":{"line":78,"column":30}},{"start":{"line":78,"column":34},"end":{"line":78,"column":55}}],"line":78}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":1},"f":{"0":0,"1":0,"2":0},"b":{"0":[0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"inputSourceMap":null,"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"125b6d7baddbd4ee6ad212919e9428e31f208bb3"}
|
|
2
|
-
,"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/middlewares/account_info.js": {"path":"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/middlewares/account_info.js","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":27}},"1":{"start":{"line":2,"column":14},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":23},"end":{"line":4,"column":38}},"4":{"start":{"line":16,"column":26},"end":{"line":58,"column":1}},"5":{"start":{"line":17,"column":2},"end":{"line":57,"column":3}},"6":{"start":{"line":19,"column":6},"end":{"line":19,"column":79}},"7":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"8":{"start":{"line":22,"column":6},"end":{"line":22,"column":50}},"9":{"start":{"line":25,"column":28},"end":{"line":38,"column":5}},"10":{"start":{"line":26,"column":23},"end":{"line":36,"column":7}},"11":{"start":{"line":37,"column":6},"end":{"line":37,"column":27}},"12":{"start":{"line":39,"column":21},"end":{"line":39,"column":48}},"13":{"start":{"line":40,"column":28},"end":{"line":45,"column":5}},"14":{"start":{"line":47,"column":4},"end":{"line":49,"column":5}},"15":{"start":{"line":48,"column":6},"end":{"line":48,"column":45}},"16":{"start":{"line":51,"column":4},"end":{"line":51,"column":23}},"17":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"18":{"start":{"line":54,"column":6},"end":{"line":54,"column":51}},"19":{"start":{"line":56,"column":4},"end":{"line":56,"column":46}},"20":{"start":{"line":68,"column":26},"end":{"line":78,"column":1}},"21":{"start":{"line":69,"column":15},"end":{"line":69,"column":54}},"22":{"start":{"line":70,"column":2},"end":{"line":76,"column":3}},"23":{"start":{"line":71,"column":4},"end":{"line":75,"column":7}},"24":{"start":{"line":77,"column":2},"end":{"line":77,"column":14}},"25":{"start":{"line":80,"column":0},"end":{"line":83,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":26},"end":{"line":16,"column":27}},"loc":{"start":{"line":16,"column":72},"end":{"line":58,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":28},"end":{"line":25,"column":29}},"loc":{"start":{"line":25,"column":40},"end":{"line":38,"column":5}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":68,"column":26},"end":{"line":68,"column":27}},"loc":{"start":{"line":68,"column":59},"end":{"line":78,"column":1}},"line":68}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":6},"end":{"line":19,"column":79}},"type":"binary-expr","locations":[{"start":{"line":19,"column":6},"end":{"line":19,"column":35}},{"start":{"line":19,"column":39},"end":{"line":19,"column":79}}],"line":19},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":23,"column":5}},{"start":{},"end":{}}],"line":21},"2":{"loc":{"start":{"line":47,"column":4},"end":{"line":49,"column":5}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":49,"column":5}},{"start":{},"end":{}}],"line":47},"3":{"loc":{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":55,"column":5}},{"start":{},"end":{}}],"line":53},"4":{"loc":{"start":{"line":53,"column":8},"end":{"line":53,"column":47}},"type":"binary-expr","locations":[{"start":{"line":53,"column":8},"end":{"line":53,"column":22}},{"start":{"line":53,"column":26},"end":{"line":53,"column":47}}],"line":53},"5":{"loc":{"start":{"line":70,"column":2},"end":{"line":76,"column":3}},"type":"if","locations":[{"start":{"line":70,"column":2},"end":{"line":76,"column":3}},{"start":{},"end":{}}],"line":70}},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":3,"21":0,"22":0,"23":0,"24":0,"25":3},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"inputSourceMap":null,"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"42b2a9bccac54af6b76c4f4542fbcd748f5e950d"}
|
|
3
|
-
,"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/index.js": {"path":"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/index.js","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":27}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":39}},"2":{"start":{"line":6,"column":30},"end":{"line":6,"column":71}},"3":{"start":{"line":7,"column":17},"end":{"line":7,"column":33}},"4":{"start":{"line":32,"column":6},"end":{"line":32,"column":13}},"5":{"start":{"line":36,"column":2},"end":{"line":165,"column":4}},"6":{"start":{"line":37,"column":4},"end":{"line":164,"column":5}},"7":{"start":{"line":38,"column":6},"end":{"line":42,"column":7}},"8":{"start":{"line":41,"column":8},"end":{"line":41,"column":22}},"9":{"start":{"line":44,"column":6},"end":{"line":52,"column":7}},"10":{"start":{"line":45,"column":28},"end":{"line":50,"column":9}},"11":{"start":{"line":51,"column":8},"end":{"line":51,"column":53}},"12":{"start":{"line":54,"column":6},"end":{"line":115,"column":7}},"13":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"14":{"start":{"line":56,"column":10},"end":{"line":56,"column":56}},"15":{"start":{"line":58,"column":8},"end":{"line":68,"column":9}},"16":{"start":{"line":59,"column":30},"end":{"line":64,"column":11}},"17":{"start":{"line":65,"column":10},"end":{"line":67,"column":71}},"18":{"start":{"line":70,"column":32},"end":{"line":70,"column":58}},"19":{"start":{"line":72,"column":25},"end":{"line":82,"column":9}},"20":{"start":{"line":84,"column":45},"end":{"line":84,"column":58}},"21":{"start":{"line":86,"column":8},"end":{"line":90,"column":9}},"22":{"start":{"line":87,"column":10},"end":{"line":89,"column":65}},"23":{"start":{"line":92,"column":32},"end":{"line":92,"column":42}},"24":{"start":{"line":95,"column":10},"end":{"line":95,"column":73}},"25":{"start":{"line":97,"column":8},"end":{"line":101,"column":11}},"26":{"start":{"line":104,"column":10},"end":{"line":104,"column":72}},"27":{"start":{"line":106,"column":8},"end":{"line":110,"column":11}},"28":{"start":{"line":112,"column":8},"end":{"line":114,"column":61}},"29":{"start":{"line":117,"column":6},"end":{"line":161,"column":7}},"30":{"start":{"line":118,"column":21},"end":{"line":118,"column":35}},"31":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"32":{"start":{"line":120,"column":10},"end":{"line":120,"column":58}},"33":{"start":{"line":123,"column":49},"end":{"line":129,"column":9}},"34":{"start":{"line":131,"column":21},"end":{"line":131,"column":75}},"35":{"start":{"line":133,"column":32},"end":{"line":133,"column":42}},"36":{"start":{"line":136,"column":10},"end":{"line":137,"column":35}},"37":{"start":{"line":139,"column":8},"end":{"line":143,"column":11}},"38":{"start":{"line":146,"column":10},"end":{"line":146,"column":79}},"39":{"start":{"line":148,"column":8},"end":{"line":152,"column":11}},"40":{"start":{"line":154,"column":8},"end":{"line":154,"column":49}},"41":{"start":{"line":156,"column":8},"end":{"line":156,"column":55}},"42":{"start":{"line":158,"column":30},"end":{"line":158,"column":60}},"43":{"start":{"line":160,"column":8},"end":{"line":160,"column":43}},"44":{"start":{"line":163,"column":6},"end":{"line":163,"column":69}},"45":{"start":{"line":178,"column":2},"end":{"line":184,"column":4}},"46":{"start":{"line":186,"column":24},"end":{"line":186,"column":52}},"47":{"start":{"line":188,"column":2},"end":{"line":190,"column":6}},"48":{"start":{"line":193,"column":0},"end":{"line":193,"column":38}}},"fnMap":{"0":{"name":"proproAuthMiddleware","decl":{"start":{"line":23,"column":9},"end":{"line":23,"column":29}},"loc":{"start":{"line":23,"column":56},"end":{"line":166,"column":1}},"line":23},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":9},"end":{"line":36,"column":10}},"loc":{"start":{"line":36,"column":35},"end":{"line":165,"column":3}},"line":36},"2":{"name":"constructRedirectUrl","decl":{"start":{"line":177,"column":9},"end":{"line":177,"column":29}},"loc":{"start":{"line":177,"column":73},"end":{"line":191,"column":1}},"line":177}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":30},"end":{"line":23,"column":42}},"type":"default-arg","locations":[{"start":{"line":23,"column":40},"end":{"line":23,"column":42}}],"line":23},"1":{"loc":{"start":{"line":25,"column":4},"end":{"line":25,"column":26}},"type":"default-arg","locations":[{"start":{"line":25,"column":13},"end":{"line":25,"column":26}}],"line":25},"2":{"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":34}},"type":"default-arg","locations":[{"start":{"line":26,"column":14},"end":{"line":26,"column":34}}],"line":26},"3":{"loc":{"start":{"line":27,"column":4},"end":{"line":27,"column":36}},"type":"default-arg","locations":[{"start":{"line":27,"column":15},"end":{"line":27,"column":36}}],"line":27},"4":{"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":44}},"type":"default-arg","locations":[{"start":{"line":28,"column":19},"end":{"line":28,"column":44}}],"line":28},"5":{"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":38}},"type":"default-arg","locations":[{"start":{"line":29,"column":16},"end":{"line":29,"column":38}}],"line":29},"6":{"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":42}},"type":"default-arg","locations":[{"start":{"line":30,"column":18},"end":{"line":30,"column":42}}],"line":30},"7":{"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":34}},"type":"default-arg","locations":[{"start":{"line":31,"column":14},"end":{"line":31,"column":34}}],"line":31},"8":{"loc":{"start":{"line":38,"column":6},"end":{"line":42,"column":7}},"type":"if","locations":[{"start":{"line":38,"column":6},"end":{"line":42,"column":7}},{"start":{},"end":{}}],"line":38},"9":{"loc":{"start":{"line":44,"column":6},"end":{"line":52,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":52,"column":7}},{"start":{},"end":{}}],"line":44},"10":{"loc":{"start":{"line":54,"column":6},"end":{"line":115,"column":7}},"type":"if","locations":[{"start":{"line":54,"column":6},"end":{"line":115,"column":7}},{"start":{},"end":{}}],"line":54},"11":{"loc":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},{"start":{},"end":{}}],"line":55},"12":{"loc":{"start":{"line":58,"column":8},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":58,"column":8},"end":{"line":68,"column":9}},{"start":{},"end":{}}],"line":58},"13":{"loc":{"start":{"line":86,"column":8},"end":{"line":90,"column":9}},"type":"if","locations":[{"start":{"line":86,"column":8},"end":{"line":90,"column":9}},{"start":{},"end":{}}],"line":86},"14":{"loc":{"start":{"line":86,"column":12},"end":{"line":86,"column":43}},"type":"binary-expr","locations":[{"start":{"line":86,"column":12},"end":{"line":86,"column":20}},{"start":{"line":86,"column":24},"end":{"line":86,"column":31}},{"start":{"line":86,"column":35},"end":{"line":86,"column":43}}],"line":86},"15":{"loc":{"start":{"line":117,"column":6},"end":{"line":161,"column":7}},"type":"if","locations":[{"start":{"line":117,"column":6},"end":{"line":161,"column":7}},{"start":{},"end":{}}],"line":117},"16":{"loc":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"type":"if","locations":[{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},{"start":{},"end":{}}],"line":119}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":1,"7":1,"8":0,"9":1,"10":1,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":1,"46":1,"47":1,"48":2},"f":{"0":2,"1":1,"2":1},"b":{"0":[0],"1":[2],"2":[2],"3":[2],"4":[2],"5":[2],"6":[2],"7":[2],"8":[0,1],"9":[1,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0]},"inputSourceMap":null,"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"6e5c6e9aa24e8c717f887e88c07fb1330819d001"}
|
|
4
|
-
,"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/middleware/validateEnv.js": {"path":"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/middleware/validateEnv.js","statementMap":{"0":{"start":{"line":8,"column":22},"end":{"line":8,"column":75}},"1":{"start":{"line":8,"column":53},"end":{"line":8,"column":74}},"2":{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},"3":{"start":{"line":10,"column":4},"end":{"line":12,"column":6}},"4":{"start":{"line":16,"column":0},"end":{"line":18,"column":2}}},"fnMap":{"0":{"name":"validateEnvironmentVariables","decl":{"start":{"line":7,"column":9},"end":{"line":7,"column":37}},"loc":{"start":{"line":7,"column":52},"end":{"line":14,"column":1}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":8,"column":42},"end":{"line":8,"column":43}},"loc":{"start":{"line":8,"column":53},"end":{"line":8,"column":74}},"line":8}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},"type":"if","locations":[{"start":{"line":9,"column":2},"end":{"line":13,"column":3}},{"start":{},"end":{}}],"line":9}},"s":{"0":2,"1":6,"2":2,"3":1,"4":1},"f":{"0":2,"1":6},"b":{"0":[1,1]},"inputSourceMap":null,"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"945f899b6cd99ae90ebf55e3c8051ddf4d216f83"}
|
|
5
|
-
,"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/middleware/verifyToken.js": {"path":"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/src/server/middleware/verifyToken.js","statementMap":{"0":{"start":{"line":1,"column":14},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":12},"end":{"line":2,"column":35}},"2":{"start":{"line":3,"column":19},"end":{"line":3,"column":28}},"3":{"start":{"line":12,"column":2},"end":{"line":20,"column":3}},"4":{"start":{"line":13,"column":4},"end":{"line":13,"column":37}},"5":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"6":{"start":{"line":16,"column":27},"end":{"line":16,"column":57}},"7":{"start":{"line":17,"column":6},"end":{"line":17,"column":68}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":16}},"9":{"start":{"line":29,"column":2},"end":{"line":36,"column":3}},"10":{"start":{"line":30,"column":21},"end":{"line":32,"column":6}},"11":{"start":{"line":33,"column":4},"end":{"line":33,"column":75}},"12":{"start":{"line":35,"column":4},"end":{"line":35,"column":16}},"13":{"start":{"line":55,"column":2},"end":{"line":75,"column":3}},"14":{"start":{"line":56,"column":33},"end":{"line":56,"column":59}},"15":{"start":{"line":57,"column":21},"end":{"line":69,"column":5}},"16":{"start":{"line":71,"column":4},"end":{"line":71,"column":25}},"17":{"start":{"line":73,"column":4},"end":{"line":73,"column":52}},"18":{"start":{"line":74,"column":4},"end":{"line":74,"column":16}},"19":{"start":{"line":83,"column":22},"end":{"line":127,"column":1}},"20":{"start":{"line":84,"column":2},"end":{"line":126,"column":4}},"21":{"start":{"line":85,"column":24},"end":{"line":85,"column":64}},"22":{"start":{"line":86,"column":4},"end":{"line":88,"column":5}},"23":{"start":{"line":87,"column":6},"end":{"line":87,"column":73}},"24":{"start":{"line":91,"column":4},"end":{"line":94,"column":5}},"25":{"start":{"line":92,"column":6},"end":{"line":92,"column":45}},"26":{"start":{"line":93,"column":6},"end":{"line":93,"column":20}},"27":{"start":{"line":96,"column":4},"end":{"line":125,"column":5}},"28":{"start":{"line":97,"column":22},"end":{"line":97,"column":69}},"29":{"start":{"line":98,"column":6},"end":{"line":100,"column":7}},"30":{"start":{"line":99,"column":8},"end":{"line":99,"column":70}},"31":{"start":{"line":101,"column":6},"end":{"line":101,"column":43}},"32":{"start":{"line":102,"column":6},"end":{"line":102,"column":25}},"33":{"start":{"line":103,"column":6},"end":{"line":103,"column":20}},"34":{"start":{"line":105,"column":6},"end":{"line":124,"column":7}},"35":{"start":{"line":106,"column":29},"end":{"line":113,"column":9}},"36":{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},"37":{"start":{"line":116,"column":10},"end":{"line":116,"column":72}},"38":{"start":{"line":119,"column":8},"end":{"line":119,"column":55}},"39":{"start":{"line":120,"column":8},"end":{"line":120,"column":37}},"40":{"start":{"line":121,"column":8},"end":{"line":121,"column":22}},"41":{"start":{"line":123,"column":8},"end":{"line":123,"column":73}},"42":{"start":{"line":136,"column":2},"end":{"line":138,"column":4}},"43":{"start":{"line":137,"column":4},"end":{"line":137,"column":49}},"44":{"start":{"line":150,"column":2},"end":{"line":161,"column":3}},"45":{"start":{"line":154,"column":4},"end":{"line":158,"column":5}},"46":{"start":{"line":155,"column":6},"end":{"line":155,"column":46}},"47":{"start":{"line":157,"column":6},"end":{"line":157,"column":47}},"48":{"start":{"line":160,"column":4},"end":{"line":160,"column":32}},"49":{"start":{"line":163,"column":2},"end":{"line":163,"column":23}},"50":{"start":{"line":166,"column":0},"end":{"line":173,"column":2}}},"fnMap":{"0":{"name":"verifyJWT","decl":{"start":{"line":11,"column":15},"end":{"line":11,"column":24}},"loc":{"start":{"line":11,"column":64},"end":{"line":21,"column":1}},"line":11},"1":{"name":"callTokenEndpoint","decl":{"start":{"line":28,"column":15},"end":{"line":28,"column":32}},"loc":{"start":{"line":28,"column":40},"end":{"line":37,"column":1}},"line":28},"2":{"name":"exchangeToken","decl":{"start":{"line":48,"column":15},"end":{"line":48,"column":28}},"loc":{"start":{"line":54,"column":2},"end":{"line":76,"column":1}},"line":54},"3":{"name":"(anonymous_3)","decl":{"start":{"line":83,"column":22},"end":{"line":83,"column":23}},"loc":{"start":{"line":83,"column":45},"end":{"line":127,"column":1}},"line":83},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":9},"end":{"line":84,"column":10}},"loc":{"start":{"line":84,"column":35},"end":{"line":126,"column":3}},"line":84},"5":{"name":"isValid","decl":{"start":{"line":135,"column":9},"end":{"line":135,"column":16}},"loc":{"start":{"line":135,"column":52},"end":{"line":139,"column":1}},"line":135},"6":{"name":"(anonymous_6)","decl":{"start":{"line":136,"column":35},"end":{"line":136,"column":36}},"loc":{"start":{"line":137,"column":4},"end":{"line":137,"column":49}},"line":137},"7":{"name":"formatRedirectUrl","decl":{"start":{"line":147,"column":9},"end":{"line":147,"column":26}},"loc":{"start":{"line":147,"column":40},"end":{"line":164,"column":1}},"line":147}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":32},"end":{"line":11,"column":62}},"type":"default-arg","locations":[{"start":{"line":11,"column":41},"end":{"line":11,"column":62}}],"line":11},"1":{"loc":{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":18,"column":5}},{"start":{},"end":{}}],"line":15},"2":{"loc":{"start":{"line":17,"column":13},"end":{"line":17,"column":67}},"type":"cond-expr","locations":[{"start":{"line":17,"column":28},"end":{"line":17,"column":60}},{"start":{"line":17,"column":63},"end":{"line":17,"column":67}}],"line":17},"3":{"loc":{"start":{"line":33,"column":11},"end":{"line":33,"column":74}},"type":"cond-expr","locations":[{"start":{"line":33,"column":34},"end":{"line":33,"column":67}},{"start":{"line":33,"column":70},"end":{"line":33,"column":74}}],"line":33},"4":{"loc":{"start":{"line":86,"column":4},"end":{"line":88,"column":5}},"type":"if","locations":[{"start":{"line":86,"column":4},"end":{"line":88,"column":5}},{"start":{},"end":{}}],"line":86},"5":{"loc":{"start":{"line":91,"column":4},"end":{"line":94,"column":5}},"type":"if","locations":[{"start":{"line":91,"column":4},"end":{"line":94,"column":5}},{"start":{},"end":{}}],"line":91},"6":{"loc":{"start":{"line":98,"column":6},"end":{"line":100,"column":7}},"type":"if","locations":[{"start":{"line":98,"column":6},"end":{"line":100,"column":7}},{"start":{},"end":{}}],"line":98},"7":{"loc":{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},{"start":{},"end":{}}],"line":115},"8":{"loc":{"start":{"line":150,"column":2},"end":{"line":161,"column":3}},"type":"if","locations":[{"start":{"line":150,"column":2},"end":{"line":161,"column":3}},{"start":{"line":159,"column":9},"end":{"line":161,"column":3}}],"line":150},"9":{"loc":{"start":{"line":151,"column":4},"end":{"line":152,"column":39}},"type":"binary-expr","locations":[{"start":{"line":151,"column":4},"end":{"line":151,"column":38}},{"start":{"line":152,"column":4},"end":{"line":152,"column":39}}],"line":151},"10":{"loc":{"start":{"line":154,"column":4},"end":{"line":158,"column":5}},"type":"if","locations":[{"start":{"line":154,"column":4},"end":{"line":158,"column":5}},{"start":{"line":156,"column":11},"end":{"line":158,"column":5}}],"line":154}},"s":{"0":3,"1":3,"2":3,"3":2,"4":2,"5":1,"6":0,"7":0,"8":1,"9":2,"10":2,"11":0,"12":2,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":3,"20":3,"21":3,"22":3,"23":1,"24":2,"25":0,"26":0,"27":2,"28":2,"29":1,"30":1,"31":0,"32":0,"33":0,"34":1,"35":1,"36":0,"37":0,"38":0,"39":0,"40":0,"41":1,"42":4,"43":6,"44":5,"45":2,"46":1,"47":1,"48":3,"49":5,"50":3},"f":{"0":2,"1":2,"2":0,"3":3,"4":3,"5":4,"6":6,"7":5},"b":{"0":[0],"1":[0,1],"2":[0,0],"3":[0,0],"4":[1,2],"5":[0,2],"6":[1,0],"7":[0,0],"8":[2,3],"9":[5,4],"10":[1,1]},"inputSourceMap":null,"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a04d45961e74ab9db965c89ebc316e52dd6ec527"}
|
|
6
|
-
,"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/utils/redis.js": {"path":"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/utils/redis.js","statementMap":{"0":{"start":{"line":1,"column":22},"end":{"line":14,"column":1}},"1":{"start":{"line":2,"column":2},"end":{"line":13,"column":3}},"2":{"start":{"line":3,"column":24},"end":{"line":3,"column":50}},"3":{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},"4":{"start":{"line":5,"column":6},"end":{"line":5,"column":47}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":37}},"6":{"start":{"line":8,"column":18},"end":{"line":8,"column":33}},"7":{"start":{"line":9,"column":4},"end":{"line":9,"column":62}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":17}},"9":{"start":{"line":12,"column":4},"end":{"line":12,"column":16}},"10":{"start":{"line":16,"column":0},"end":{"line":16,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":72},"end":{"line":14,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":56},"end":{"line":1,"column":67}},"type":"default-arg","locations":[{"start":{"line":1,"column":63},"end":{"line":1,"column":67}}],"line":1},"1":{"loc":{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":7,"column":5}},{"start":{},"end":{}}],"line":4}},"s":{"0":4,"1":5,"2":5,"3":4,"4":1,"5":1,"6":3,"7":2,"8":1,"9":3,"10":4},"f":{"0":5},"b":{"0":[5],"1":[1,3]},"inputSourceMap":null,"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"36bccd12cada7ed4548a71b8237764870c78273d"}
|
|
7
|
-
,"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/utils/testUtils.js": {"path":"/Users/doziestar/dev/Github/ProPro-Production/propro-auth-middleware/utils/testUtils.js","statementMap":{"0":{"start":{"line":11,"column":14},"end":{"line":15,"column":3}},"1":{"start":{"line":16,"column":14},"end":{"line":21,"column":3}},"2":{"start":{"line":22,"column":15},"end":{"line":22,"column":24}},"3":{"start":{"line":24,"column":2},"end":{"line":24,"column":28}},"4":{"start":{"line":27,"column":0},"end":{"line":29,"column":2}}},"fnMap":{"0":{"name":"createMockExpressContext","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":33}},"loc":{"start":{"line":10,"column":54},"end":{"line":25,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":40},"end":{"line":10,"column":52}},"type":"default-arg","locations":[{"start":{"line":10,"column":50},"end":{"line":10,"column":52}}],"line":10},"1":{"loc":{"start":{"line":13,"column":13},"end":{"line":13,"column":34}},"type":"binary-expr","locations":[{"start":{"line":13,"column":13},"end":{"line":13,"column":28}},{"start":{"line":13,"column":32},"end":{"line":13,"column":34}}],"line":13},"2":{"loc":{"start":{"line":14,"column":11},"end":{"line":14,"column":30}},"type":"binary-expr","locations":[{"start":{"line":14,"column":11},"end":{"line":14,"column":24}},{"start":{"line":14,"column":28},"end":{"line":14,"column":30}}],"line":14}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2},"f":{"0":2},"b":{"0":[2],"1":[2,2],"2":[2,2]},"inputSourceMap":null,"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"09cb66466edc2882c11feaf7127c5cc6b53dea6d"}
|
|
8
|
-
}
|