@unchainedshop/api 3.0.0-alpha4 → 3.0.0-alpha6
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/lib/express/index.d.ts.map +1 -1
- package/lib/express/index.js +4 -4
- package/lib/express/index.js.map +1 -1
- package/lib/resolvers/mutations/accounts/createUser.js +1 -1
- package/lib/resolvers/mutations/accounts/createUser.js.map +1 -1
- package/lib/resolvers/mutations/accounts/loginWithPassword.d.ts +1 -1
- package/lib/resolvers/mutations/accounts/loginWithPassword.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/loginWithPassword.js +5 -4
- package/lib/resolvers/mutations/accounts/loginWithPassword.js.map +1 -1
- package/lib/schema/mutation.js +1 -1
- package/package.json +3 -3
- package/src/express/index.ts +3 -4
- package/src/resolvers/mutations/accounts/createUser.ts +1 -1
- package/src/resolvers/mutations/accounts/loginWithPassword.ts +5 -5
- package/src/schema/mutation.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAM7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAM7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAsGpD,eAAO,MAAM,OAAO,eACN,CAAC,CAAC,OAAO,yCAKlB;IAAE,cAAc,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;IAAC,YAAY,EAAE,aAAa,CAAA;CAAE,SAgCjG,CAAC"}
|
package/lib/express/index.js
CHANGED
|
@@ -13,7 +13,7 @@ const resolveUserRemoteAddress = (req) => {
|
|
|
13
13
|
const remotePort = req.socket?.remotePort;
|
|
14
14
|
return { remoteAddress, remotePort };
|
|
15
15
|
};
|
|
16
|
-
const { BULK_IMPORT_API_PATH = '/bulk-import', ERC_METADATA_API_PATH = '/erc-metadata', GRAPHQL_API_PATH = '/graphql', UNCHAINED_COOKIE_NAME = 'unchained_token', UNCHAINED_COOKIE_PATH = '/', UNCHAINED_COOKIE_DOMAIN,
|
|
16
|
+
const { BULK_IMPORT_API_PATH = '/bulk-import', ERC_METADATA_API_PATH = '/erc-metadata', GRAPHQL_API_PATH = '/graphql', UNCHAINED_COOKIE_NAME = 'unchained_token', UNCHAINED_COOKIE_PATH = '/', UNCHAINED_COOKIE_DOMAIN, } = process.env;
|
|
17
17
|
const addContext = async function middlewareWithContext(req, res, next) {
|
|
18
18
|
try {
|
|
19
19
|
const setHeader = (key, value) => res.setHeader(key, value);
|
|
@@ -91,10 +91,10 @@ export const connect = (expressApp, { graphqlHandler, db, unchainedAPI, }) => {
|
|
|
91
91
|
resave: false,
|
|
92
92
|
cookie: {
|
|
93
93
|
domain: UNCHAINED_COOKIE_DOMAIN,
|
|
94
|
-
httpOnly: Boolean(NODE_ENV === 'production'),
|
|
95
94
|
path: UNCHAINED_COOKIE_PATH,
|
|
96
|
-
sameSite: '
|
|
97
|
-
secure:
|
|
95
|
+
sameSite: 'none',
|
|
96
|
+
secure: true,
|
|
97
|
+
httpOnly: true,
|
|
98
98
|
maxAge: 1000 * 60 * 60 * 24 * 7,
|
|
99
99
|
},
|
|
100
100
|
}), passport.initialize(), passport.session(), passport.authenticate('access-token', { session: false }), addContext);
|
package/lib/express/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AACzE,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAC3E,OAAO,OAAO,MAAM,iBAAiB,CAAC;AACtC,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,wBAAwB,GAAG,CAAC,GAAoB,EAAE,EAAE;IACxD,MAAM,aAAa,GAChB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAY;QACnC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAY;QAC1C,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;IAE5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAE1C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,EACJ,oBAAoB,GAAG,cAAc,EACrC,qBAAqB,GAAG,eAAe,EACvC,gBAAgB,GAAG,UAAU,EAC7B,qBAAqB,GAAG,iBAAiB,EACzC,qBAAqB,GAAG,GAAG,EAC3B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/express/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export default async function createUser(root, params, context) {
|
|
|
4
4
|
const { modules, userId } = context;
|
|
5
5
|
log('mutation createUser', { email: params.email, username: params.username, userId });
|
|
6
6
|
if (!params.username && !params.email) {
|
|
7
|
-
throw new UsernameOrEmailRequiredError({
|
|
7
|
+
throw new UsernameOrEmailRequiredError({});
|
|
8
8
|
}
|
|
9
9
|
if (!params.password && !params.webAuthnPublicKeyCredentials) {
|
|
10
10
|
throw new PasswordOrWebAuthnPublicKeyRequiredError({ username: params?.username });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createUser.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createUser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,wCAAwC,EACxC,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,IAAW,EAAE,MAAgB,EAAE,OAAgB;IACtF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEpC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,4BAA4B,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"createUser.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createUser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,wCAAwC,EACxC,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,IAAW,EAAE,MAAgB,EAAE,OAAgB;IACtF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEpC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;QAC7D,MAAM,IAAI,wCAAwC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAC9C;YACE,GAAG,MAAM;YACT,eAAe,EAAE,KAAK;SACvB,EACD,EAAE,CACH,CAAC;QAEF,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3D,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,cAAc;SACpC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe;YAAE,MAAM,IAAI,uBAAuB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aACxF,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB;YACrC,MAAM,IAAI,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;aAClE,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB;YACrC,MAAM,IAAI,oBAAoB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;;YAC5D,MAAM,IAAI,wBAAwB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithPassword.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithPassword.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,wBAA8B,iBAAiB,CAC7C,IAAI,EAAE,KAAK,EACX,MAAM,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,
|
|
1
|
+
{"version":3,"file":"loginWithPassword.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithPassword.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,wBAA8B,iBAAiB,CAC7C,IAAI,EAAE,KAAK,EACX,MAAM,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,EACD,OAAO,EAAE,OAAO;;;GAsCjB"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import { InvalidCredentialsError } from '../../../errors.js';
|
|
2
|
+
import { InvalidCredentialsError, UsernameOrEmailRequiredError } from '../../../errors.js';
|
|
3
3
|
export default async function loginWithPassword(root, params, context) {
|
|
4
4
|
const { username, email, password } = params;
|
|
5
5
|
log('mutation loginWithPassword', { username, email });
|
|
6
|
-
if (!
|
|
7
|
-
throw new
|
|
8
|
-
}
|
|
6
|
+
if (!username && !email)
|
|
7
|
+
throw new UsernameOrEmailRequiredError({});
|
|
9
8
|
let user = username
|
|
10
9
|
? await context.modules.users.findUserByUsername(username)
|
|
11
10
|
: await context.modules.users.findUserByEmail(email);
|
|
11
|
+
if (!user)
|
|
12
|
+
throw new InvalidCredentialsError({ username, email });
|
|
12
13
|
const verified = user.services?.password &&
|
|
13
14
|
(await context.modules.users.verifyPassword(user.services.password, password));
|
|
14
15
|
if (!verified)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithPassword.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithPassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"loginWithPassword.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithPassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAG3F,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC7C,IAAW,EACX,MAIC,EACD,OAAgB;IAEhB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC7C,GAAG,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAEpE,IAAI,IAAI,GAAG,QAAQ;QACjB,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAC1D,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAElE,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,EAAE,QAAQ;QACvB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3D,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ;QACtC,WAAW,EAAE,OAAO,CAAC,cAAc;KACpC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC;IAEnG,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
package/lib/schema/mutation.js
CHANGED
|
@@ -5,7 +5,7 @@ export default [
|
|
|
5
5
|
"""
|
|
6
6
|
Log the user in with a password.
|
|
7
7
|
"""
|
|
8
|
-
loginWithPassword(username: String, email: String, password: String): LoginMethodResponse
|
|
8
|
+
loginWithPassword(username: String, email: String, password: String!): LoginMethodResponse
|
|
9
9
|
|
|
10
10
|
"""
|
|
11
11
|
Log the user in with a WebAuthn device
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/api",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-alpha6",
|
|
4
4
|
"main": "lib/api-index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./lib/api-index.js",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"passport-strategy": "^1.0.0"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@metamask/eth-sig-util": "^
|
|
57
|
+
"@metamask/eth-sig-util": "^8.0.0",
|
|
58
58
|
"@unchainedshop/core": "^3.0.0-alpha4",
|
|
59
59
|
"@unchainedshop/events": "^3.0.0-alpha4",
|
|
60
60
|
"@unchainedshop/logger": "^3.0.0-alpha4",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"memoizee": "^0.4.17"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@types/node": "^22.
|
|
69
|
+
"@types/node": "^22.8.1",
|
|
70
70
|
"connect-mongo": "^5.1.0",
|
|
71
71
|
"express": "^4.21.1",
|
|
72
72
|
"express-session": "^1.18.1",
|
package/src/express/index.ts
CHANGED
|
@@ -31,7 +31,6 @@ const {
|
|
|
31
31
|
UNCHAINED_COOKIE_NAME = 'unchained_token',
|
|
32
32
|
UNCHAINED_COOKIE_PATH = '/',
|
|
33
33
|
UNCHAINED_COOKIE_DOMAIN,
|
|
34
|
-
NODE_ENV,
|
|
35
34
|
} = process.env;
|
|
36
35
|
|
|
37
36
|
const addContext = async function middlewareWithContext(
|
|
@@ -133,10 +132,10 @@ export const connect = (
|
|
|
133
132
|
resave: false,
|
|
134
133
|
cookie: {
|
|
135
134
|
domain: UNCHAINED_COOKIE_DOMAIN,
|
|
136
|
-
httpOnly: Boolean(NODE_ENV === 'production'),
|
|
137
135
|
path: UNCHAINED_COOKIE_PATH,
|
|
138
|
-
sameSite: '
|
|
139
|
-
secure:
|
|
136
|
+
sameSite: 'none',
|
|
137
|
+
secure: true,
|
|
138
|
+
httpOnly: true,
|
|
140
139
|
maxAge: 1000 * 60 * 60 * 24 * 7,
|
|
141
140
|
},
|
|
142
141
|
}),
|
|
@@ -16,7 +16,7 @@ export default async function createUser(root: never, params: UserData, context:
|
|
|
16
16
|
log('mutation createUser', { email: params.email, username: params.username, userId });
|
|
17
17
|
|
|
18
18
|
if (!params.username && !params.email) {
|
|
19
|
-
throw new UsernameOrEmailRequiredError({
|
|
19
|
+
throw new UsernameOrEmailRequiredError({});
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
if (!params.password && !params.webAuthnPublicKeyCredentials) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import { InvalidCredentialsError } from '../../../errors.js';
|
|
2
|
+
import { InvalidCredentialsError, UsernameOrEmailRequiredError } from '../../../errors.js';
|
|
3
3
|
import { Context } from '../../../types.js';
|
|
4
4
|
|
|
5
5
|
export default async function loginWithPassword(
|
|
@@ -7,21 +7,21 @@ export default async function loginWithPassword(
|
|
|
7
7
|
params: {
|
|
8
8
|
username?: string;
|
|
9
9
|
email?: string;
|
|
10
|
-
password
|
|
10
|
+
password: string;
|
|
11
11
|
},
|
|
12
12
|
context: Context,
|
|
13
13
|
) {
|
|
14
14
|
const { username, email, password } = params;
|
|
15
15
|
log('mutation loginWithPassword', { username, email });
|
|
16
16
|
|
|
17
|
-
if (!
|
|
18
|
-
throw new Error('Password is required');
|
|
19
|
-
}
|
|
17
|
+
if (!username && !email) throw new UsernameOrEmailRequiredError({});
|
|
20
18
|
|
|
21
19
|
let user = username
|
|
22
20
|
? await context.modules.users.findUserByUsername(username)
|
|
23
21
|
: await context.modules.users.findUserByEmail(email);
|
|
24
22
|
|
|
23
|
+
if (!user) throw new InvalidCredentialsError({ username, email });
|
|
24
|
+
|
|
25
25
|
const verified =
|
|
26
26
|
user.services?.password &&
|
|
27
27
|
(await context.modules.users.verifyPassword(user.services.password, password));
|
package/src/schema/mutation.ts
CHANGED
|
@@ -5,7 +5,7 @@ export default [
|
|
|
5
5
|
"""
|
|
6
6
|
Log the user in with a password.
|
|
7
7
|
"""
|
|
8
|
-
loginWithPassword(username: String, email: String, password: String): LoginMethodResponse
|
|
8
|
+
loginWithPassword(username: String, email: String, password: String!): LoginMethodResponse
|
|
9
9
|
|
|
10
10
|
"""
|
|
11
11
|
Log the user in with a WebAuthn device
|