diff --git a/.eslintignore b/.eslintignore index 745932b48d1d1..cbad3adfb9d06 100644 --- a/.eslintignore +++ b/.eslintignore @@ -31,6 +31,7 @@ /packages/medusa/src/services/swap.js /packages/medusa/src/services/system-payment-provider.js /packages/medusa/src/services/totals.js +/packages/medusa/src/services/user.js /packages/medusa/src/subscribers/notification.js /packages/medusa/src/subscribers/order.js diff --git a/.eslintrc.js b/.eslintrc.js index 47bc35d52767e..c40421efa9d6e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,6 +9,7 @@ module.exports = { plugins: [`eslint-plugin-prettier`], extends: [`eslint:recommended`, `google`, `eslint-config-prettier`], rules: { + "prettier/prettier": `error`, curly: [2, `all`], "new-cap": `off`, "require-jsdoc": `off`, diff --git a/jest-transformer.js b/jest-transformer.js index a5f750c9d6ceb..f6d0fb73367e0 100644 --- a/jest-transformer.js +++ b/jest-transformer.js @@ -1,4 +1,4 @@ -const babelPreset = require(`babel-preset-medusa-package`)(); +const babelPreset = require(`babel-preset-medusa-package`)() module.exports = require(`babel-jest`).createTransformer({ ...babelPreset, -}); +}) diff --git a/packages/medusa/src/services/gift-card.js b/packages/medusa/src/services/gift-card.js index 3762ce36f5ea1..b96372d223903 100644 --- a/packages/medusa/src/services/gift-card.js +++ b/packages/medusa/src/services/gift-card.js @@ -5,7 +5,7 @@ import { Brackets } from "typeorm" /** * Provides layer to manipulate gift cards. - * @implements BaseService + * @extends BaseService */ class GiftCardService extends BaseService { static Events = { @@ -101,7 +101,7 @@ class GiftCardService extends BaseService { .select(["gift_card.id"]) .where(where) .andWhere( - new Brackets(qb => { + new Brackets((qb) => { return qb .where(`gift_card.code ILIKE :q`, { q: `%${q}%` }) .orWhere(`display_id::varchar(255) ILIKE :dId`, { dId: `${q}` }) @@ -111,14 +111,14 @@ class GiftCardService extends BaseService { return giftCardRepo.findWithRelations( rels, - raw.map(i => i.id) + raw.map((i) => i.id) ) } return giftCardRepo.findWithRelations(rels, query) } async createTransaction(data) { - return this.atomicPhase_(async manager => { + return this.atomicPhase_(async (manager) => { const gctRepo = manager.getCustomRepository(this.giftCardTransactionRepo_) const created = gctRepo.create(data) const saved = await gctRepo.save(created) @@ -132,7 +132,7 @@ class GiftCardService extends BaseService { * @return {Promise} the result of the create operation */ async create(giftCard) { - return this.atomicPhase_(async manager => { + return this.atomicPhase_(async (manager) => { const giftCardRepo = manager.getCustomRepository(this.giftCardRepository_) if (!giftCard.region_id) { @@ -169,6 +169,7 @@ class GiftCardService extends BaseService { /** * Gets a gift card by id. * @param {string} giftCardId - id of gift card to retrieve + * @param {object} config - optional values to include with gift card query * @return {Promise} the gift card */ async retrieve(giftCardId, config = {}) { @@ -244,7 +245,7 @@ class GiftCardService extends BaseService { * @return {Promise} the result of the update operation */ async update(giftCardId, update) { - return this.atomicPhase_(async manager => { + return this.atomicPhase_(async (manager) => { const giftCardRepo = manager.getCustomRepository(this.giftCardRepository_) const giftCard = await this.retrieve(giftCardId) @@ -285,12 +286,14 @@ class GiftCardService extends BaseService { * @return {Promise} the result of the delete operation */ async delete(giftCardId) { - return this.atomicPhase_(async manager => { + return this.atomicPhase_(async (manager) => { const giftCardRepo = manager.getCustomRepository(this.giftCardRepository_) const giftCard = await giftCardRepo.findOne({ where: { id: giftCardId } }) - if (!giftCard) return Promise.resolve() + if (!giftCard) { + return Promise.resolve() + } await giftCardRepo.softRemove(giftCard) diff --git a/packages/medusa/src/services/transaction.js b/packages/medusa/src/services/transaction.js index 5af02ae3b07f1..7f57599ec6b19 100644 --- a/packages/medusa/src/services/transaction.js +++ b/packages/medusa/src/services/transaction.js @@ -1,9 +1,8 @@ import { BaseService } from "medusa-interfaces" import mongoose from "mongoose" -import _ from "lodash" class TransactionService extends BaseService { - constructor({}) { + constructor() { super() } diff --git a/packages/medusa/src/services/user.js b/packages/medusa/src/services/user.js index 940b49a7ce553..52a55f6e015c3 100644 --- a/packages/medusa/src/services/user.js +++ b/packages/medusa/src/services/user.js @@ -6,7 +6,7 @@ import { BaseService } from "medusa-interfaces" /** * Provides layer to manipulate users. - * @extends BaseService + * @implements BaseService */ class UserService extends BaseService { static Events = { @@ -75,7 +75,6 @@ class UserService extends BaseService { * Gets a user by id. * Throws in case of DB Error and if user was not found. * @param {string} userId - the id of the user to get. - * @param {Object} config - query configs * @return {Promise} the user document. */ async retrieve(userId, config = {}) { @@ -100,7 +99,6 @@ class UserService extends BaseService { * Gets a user by api token. * Throws in case of DB Error and if user was not found. * @param {string} apiToken - the token of the user to get. - * @param {string[]} relations - relations to include with the user * @return {Promise} the user document. */ async retrieveByApiToken(apiToken, relations = []) { @@ -125,7 +123,6 @@ class UserService extends BaseService { * Gets a user by email. * Throws in case of DB Error and if user was not found. * @param {string} email - the email of the user to get. - * @param {Object} config - query config * @return {Promise} the user document. */ async retrieveByEmail(email, config = {}) { @@ -147,7 +144,7 @@ class UserService extends BaseService { /** * Hashes a password * @param {string} password - the value to hash - * @return {string} hashed password + * @return hashed password */ async hashPassword_(password) { const buf = await Scrypt.kdf(password, { logN: 1, r: 1, p: 1 }) @@ -158,7 +155,6 @@ class UserService extends BaseService { * Creates a user with username being validated. * Fails if email is not a valid format. * @param {object} user - the user to create - * @param {string} password - user's password to hash * @return {Promise} the result of create */ async create(user, password) { @@ -181,8 +177,7 @@ class UserService extends BaseService { /** * Updates a user. - * @param {object} userId - id of the user to update - * @param {object} update - the values to be updated on the user + * @param {object} user - the user to create * @return {Promise} the result of create */ async update(userId, update) { @@ -233,9 +228,7 @@ class UserService extends BaseService { // Should not fail, if user does not exist, since delete is idempotent const user = await userRepo.findOne({ where: { id: userId } }) - if (!user) { - return Promise.resolve() - } + if (!user) return Promise.resolve() await userRepo.softRemove(user) @@ -249,7 +242,7 @@ class UserService extends BaseService { * password does not work. * @param {string} userId - the userId to set password for * @param {string} password - the old password to set - * @return {Promise} the result of the update operation + * @returns {Promise} the result of the update operation */ async setPassword_(userId, password) { return this.atomicPhase_(async manager => { @@ -277,8 +270,8 @@ class UserService extends BaseService { * The token will be signed with the users current password hash as a secret * a long side a payload with userId and the expiry time for the token, which * is always 15 minutes. - * @param {string} userId - the id of the user to reset password for - * @return {string} the generated JSON web token + * @param {User} user - the user to reset password for + * @returns {string} the generated JSON web token */ async generateResetPasswordToken(userId) { const user = await this.retrieve(userId)