From eb8034502bec98be5b454159d5bae089f64700ce Mon Sep 17 00:00:00 2001 From: "Carlos R. L. Rodrigues" <37986729+carlos-r-l-rodrigues@users.noreply.github.com> Date: Wed, 21 Sep 2022 12:19:03 -0300 Subject: [PATCH] chore: initial commit fix linting issues (#2169) * chore: lint fixes --- .../src/services/algolia.js | 30 ++++++----- .../src/services/meilisearch.js | 32 +++++++----- packages/medusa/setupTests.js | 2 +- .../src/api/middlewares/await-middleware.ts | 2 +- .../src/api/middlewares/error-handler.ts | 2 +- .../api/routes/admin/auth/create-session.ts | 13 ++--- .../api/routes/admin/batch/list-batch-jobs.ts | 20 +++++-- .../admin/collections/delete-collection.ts | 7 +-- .../src/api/routes/admin/collections/index.ts | 18 +++---- .../admin/collections/list-collections.ts | 3 +- .../admin/collections/remove-products.ts | 10 ++-- .../admin/collections/update-collection.ts | 2 +- .../src/api/routes/admin/currencies/index.ts | 8 +-- .../admin/discounts/create-condition.ts | 1 + .../admin/discounts/update-condition.ts | 1 + .../price-lists/list-price-list-products.ts | 1 + .../admin/price-lists/list-price-lists.ts | 1 + .../admin/product-tags/list-product-tags.ts | 1 + .../admin/product-types/list-product-types.ts | 1 + .../api/routes/admin/users/reset-password.ts | 6 +-- .../api/routes/store/carts/calculate-taxes.ts | 52 ++++++++----------- .../api/routes/store/carts/complete-cart.ts | 11 ++-- .../store/carts/create-payment-sessions.ts | 45 ++++++++-------- .../carts/decorate-line-items-with-totals.ts | 18 ++++--- .../store/carts/delete-payment-session.ts | 6 ++- .../src/api/routes/store/carts/index.ts | 9 ++-- .../store/carts/refresh-payment-session.ts | 6 ++- .../routes/store/carts/set-payment-session.ts | 6 ++- .../src/api/routes/store/carts/update-cart.ts | 18 ++++--- .../routes/store/carts/update-line-item.ts | 4 +- .../store/carts/update-payment-session.ts | 12 +++-- .../api/routes/store/customers/list-orders.ts | 1 + .../routes/store/customers/update-address.ts | 1 + packages/medusa/src/commands/develop.js | 4 +- packages/medusa/src/commands/start.js | 2 +- packages/medusa/src/commands/user.js | 2 +- packages/medusa/src/helpers/test-request.js | 6 ++- .../medusa/src/interfaces/payment-service.ts | 8 +-- packages/medusa/src/interfaces/tax-service.ts | 6 +-- .../interfaces/transaction-base-service.ts | 8 +-- packages/medusa/src/loaders/api.ts | 2 +- packages/medusa/src/loaders/database.ts | 5 +- packages/medusa/src/loaders/defaults.ts | 20 +++---- packages/medusa/src/loaders/express.ts | 8 +-- .../medusa/src/loaders/feature-flags/index.ts | 1 - packages/medusa/src/loaders/models.ts | 34 +++++++----- packages/medusa/src/loaders/passport.ts | 17 ++++-- packages/medusa/src/loaders/repositories.ts | 20 +++---- packages/medusa/src/loaders/search-index.ts | 6 ++- packages/medusa/src/loaders/services.ts | 7 ++- packages/medusa/src/loaders/strategies.ts | 1 - packages/medusa/src/loaders/subscribers.ts | 4 +- packages/medusa/src/repositories/address.ts | 2 +- packages/medusa/src/repositories/cart.ts | 2 +- packages/medusa/src/repositories/claim.ts | 2 +- packages/medusa/src/repositories/country.ts | 2 +- packages/medusa/src/repositories/currency.ts | 2 +- .../repositories/custom-shipping-option.ts | 3 +- .../medusa/src/repositories/customer-group.ts | 2 +- .../src/repositories/discount-condition.ts | 8 +-- .../medusa/src/repositories/discount-rule.ts | 2 +- .../src/repositories/fulfillment-provider.ts | 5 +- .../src/repositories/gift-card-transaction.ts | 5 +- packages/medusa/src/repositories/gift-card.ts | 2 +- .../src/repositories/line-item-adjustment.ts | 2 +- .../src/repositories/notification-provider.ts | 5 +- packages/medusa/src/repositories/order.ts | 2 +- packages/medusa/src/repositories/payment.ts | 2 +- .../medusa/src/repositories/price-list.ts | 2 +- .../src/repositories/product-collection.ts | 5 +- .../src/repositories/product-option-value.ts | 3 +- .../medusa/src/repositories/product-option.ts | 2 +- .../src/repositories/product-variant.ts | 4 +- packages/medusa/src/repositories/product.ts | 7 +-- .../medusa/src/repositories/sales-channel.ts | 2 +- .../repositories/shipping-method-tax-line.ts | 1 + .../shipping-option-requirement.ts | 1 + packages/medusa/src/repositories/swap.ts | 2 +- packages/medusa/src/repositories/tax-rate.ts | 16 +++--- .../medusa/src/services/__tests__/note.js | 16 +++--- .../medusa/src/services/__tests__/product.js | 13 +++-- packages/medusa/src/services/cart.ts | 3 +- packages/medusa/src/services/claim.ts | 2 +- packages/medusa/src/services/csv-parser.ts | 10 ++-- .../src/services/custom-shipping-option.ts | 1 + .../medusa/src/services/customer-group.ts | 7 ++- packages/medusa/src/services/customer.ts | 4 +- .../medusa/src/services/discount-condition.ts | 4 +- packages/medusa/src/services/discount.ts | 17 +++--- packages/medusa/src/services/event-bus.ts | 4 +- packages/medusa/src/services/file.ts | 14 +++-- .../src/services/fulfillment-provider.ts | 19 ++++--- packages/medusa/src/services/gift-card.ts | 1 + packages/medusa/src/services/invite.ts | 2 +- .../src/services/line-item-adjustment.ts | 22 ++++---- packages/medusa/src/services/note.ts | 2 +- packages/medusa/src/services/notification.ts | 3 +- packages/medusa/src/services/order.ts | 12 ++--- .../medusa/src/services/payment-provider.ts | 1 + .../medusa/src/services/product-collection.ts | 4 +- packages/medusa/src/services/product.ts | 2 +- packages/medusa/src/services/region.ts | 4 +- packages/medusa/src/services/return.ts | 4 +- packages/medusa/src/services/search.ts | 29 +++++++---- .../medusa/src/services/shipping-option.ts | 10 ++-- .../medusa/src/services/shipping-profile.ts | 5 +- packages/medusa/src/services/store.ts | 2 +- packages/medusa/src/services/swap.ts | 2 +- packages/medusa/src/services/tax-rate.ts | 14 ++--- .../strategies/batch-jobs/product/import.ts | 47 ++++++++++------- .../src/utils/csv-cell-content-formatter.ts | 4 +- packages/medusa/src/utils/date-helpers.ts | 2 +- .../medusa/src/utils/exception-formatter.ts | 6 +-- .../src/utils/feature-flag-decorators.ts | 16 +++--- .../medusa/src/utils/generate-entity-id.ts | 4 +- packages/medusa/src/utils/get-query-config.ts | 6 +-- packages/medusa/src/utils/index.ts | 1 + packages/medusa/src/utils/is-defined.ts | 4 +- .../src/utils/remove-undefined-properties.ts | 31 ++++++----- packages/medusa/src/utils/validate-id.ts | 16 +++--- .../src/utils/validators/date-transform.ts | 7 ++- .../medusa/src/utils/validators/is-type.ts | 1 - 122 files changed, 543 insertions(+), 439 deletions(-) diff --git a/packages/medusa-plugin-algolia/src/services/algolia.js b/packages/medusa-plugin-algolia/src/services/algolia.js index 5a967b3868..7f4374aa59 100644 --- a/packages/medusa-plugin-algolia/src/services/algolia.js +++ b/packages/medusa-plugin-algolia/src/services/algolia.js @@ -36,9 +36,9 @@ class AlgoliaService extends SearchService { * @param {string} indexName - the index name. * @return {Promise<{object}>} - returns response from search engine provider */ - getIndex(indexName) { + async getIndex(indexName) { let hits = [] - return this.client_ + return await this.client_ .initIndex(indexName) .browseObjects({ query: indexName, @@ -56,9 +56,11 @@ class AlgoliaService extends SearchService { * @param {*} type * @return {*} */ - addDocuments(indexName, documents, type) { + async addDocuments(indexName, documents, type) { const transformedDocuments = this.getTransformedDocuments(type, documents) - return this.client_.initIndex(indexName).saveObjects(transformedDocuments) + return await this.client_ + .initIndex(indexName) + .saveObjects(transformedDocuments) } /** @@ -68,9 +70,9 @@ class AlgoliaService extends SearchService { * @param {Array.} type - type of documents to be replaced (e.g: products, regions, orders, etc) * @return {Promise<{object}>} - returns response from search engine provider */ - replaceDocuments(indexName, documents, type) { + async replaceDocuments(indexName, documents, type) { const transformedDocuments = this.getTransformedDocuments(type, documents) - return this.client_ + return await this.client_ .initIndex(indexName) .replaceAllObjects(transformedDocuments) } @@ -81,8 +83,8 @@ class AlgoliaService extends SearchService { * @param {string} document_id - the id of the document * @return {Promise<{object}>} - returns response from search engine provider */ - deleteDocument(indexName, document_id) { - return this.client_.initIndex(indexName).deleteObject(document_id) + async deleteDocument(indexName, document_id) { + return await this.client_.initIndex(indexName).deleteObject(document_id) } /** @@ -90,8 +92,8 @@ class AlgoliaService extends SearchService { * @param {string} indexName - the index name * @return {Promise<{object}>} - returns response from search engine provider */ - deleteAllDocuments(indexName) { - return this.client_.initIndex(indexName).delete() + async deleteAllDocuments(indexName) { + return await this.client_.initIndex(indexName).delete() } /** @@ -103,14 +105,14 @@ class AlgoliaService extends SearchService { * - additionalOptions contain any provider specific options * @return {*} - returns response from search engine provider */ - search(indexName, query, options) { + async search(indexName, query, options) { const { paginationOptions, filter, additionalOptions } = options if ("limit" in paginationOptions) { paginationOptions["length"] = paginationOptions.limit delete paginationOptions.limit } - return this.client_.initIndex(indexName).search(query, { + return await this.client_.initIndex(indexName).search(query, { filters: filter, ...paginationOptions, ...additionalOptions, @@ -123,8 +125,8 @@ class AlgoliaService extends SearchService { * @param {object} settings - settings object * @return {Promise<{object}>} - returns response from search engine provider */ - updateSettings(indexName, settings) { - return this.client_.initIndex(indexName).setSettings(settings) + async updateSettings(indexName, settings) { + return await this.client_.initIndex(indexName).setSettings(settings) } getTransformedDocuments(type, documents) { diff --git a/packages/medusa-plugin-meilisearch/src/services/meilisearch.js b/packages/medusa-plugin-meilisearch/src/services/meilisearch.js index 14580315dd..2b293a7871 100644 --- a/packages/medusa-plugin-meilisearch/src/services/meilisearch.js +++ b/packages/medusa-plugin-meilisearch/src/services/meilisearch.js @@ -12,41 +12,45 @@ class MeiliSearchService extends SearchService { this.client_ = new MeiliSearch(options.config) } - createIndex(indexName, options) { - return this.client_.createIndex(indexName, options) + async createIndex(indexName, options) { + return await this.client_.createIndex(indexName, options) } getIndex(indexName) { return this.client_.index(indexName) } - addDocuments(indexName, documents, type) { + async addDocuments(indexName, documents, type) { const transformedDocuments = this.getTransformedDocuments(type, documents) - return this.client_.index(indexName).addDocuments(transformedDocuments) + return await this.client_ + .index(indexName) + .addDocuments(transformedDocuments) } - replaceDocuments(indexName, documents, type) { + async replaceDocuments(indexName, documents, type) { const transformedDocuments = this.getTransformedDocuments(type, documents) - return this.client_.index(indexName).addDocuments(transformedDocuments) + return await this.client_ + .index(indexName) + .addDocuments(transformedDocuments) } - deleteDocument(indexName, document_id) { - return this.client_.index(indexName).deleteDocument(document_id) + async deleteDocument(indexName, document_id) { + return await this.client_.index(indexName).deleteDocument(document_id) } - deleteAllDocuments(indexName) { - return this.client_.index(indexName).deleteAllDocuments() + async deleteAllDocuments(indexName) { + return await this.client_.index(indexName).deleteAllDocuments() } - search(indexName, query, options) { + async search(indexName, query, options) { const { paginationOptions, filter, additionalOptions } = options - return this.client_ + return await this.client_ .index(indexName) .search(query, { filter, ...paginationOptions, ...additionalOptions }) } - updateSettings(indexName, settings) { - return this.client_.index(indexName).updateSettings(settings) + async updateSettings(indexName, settings) { + return await this.client_.index(indexName).updateSettings(settings) } getTransformedDocuments(type, documents) { diff --git a/packages/medusa/setupTests.js b/packages/medusa/setupTests.js index 592165a908..d94d2eb824 100644 --- a/packages/medusa/setupTests.js +++ b/packages/medusa/setupTests.js @@ -1,3 +1,3 @@ global.afterEach(async () => { - await new Promise(resolve => setImmediate(resolve)) + await new Promise((resolve) => setImmediate(resolve)) }) diff --git a/packages/medusa/src/api/middlewares/await-middleware.ts b/packages/medusa/src/api/middlewares/await-middleware.ts index 3f1b4edb09..b54e15f9fe 100644 --- a/packages/medusa/src/api/middlewares/await-middleware.ts +++ b/packages/medusa/src/api/middlewares/await-middleware.ts @@ -29,4 +29,4 @@ export default (fn: handler): RequestHandler => { * message: * type: string * default: "Provided request body contains errors. Please check the data and retry the request" - */ \ No newline at end of file + */ diff --git a/packages/medusa/src/api/middlewares/error-handler.ts b/packages/medusa/src/api/middlewares/error-handler.ts index 14001b33b4..45ff77e282 100644 --- a/packages/medusa/src/api/middlewares/error-handler.ts +++ b/packages/medusa/src/api/middlewares/error-handler.ts @@ -82,4 +82,4 @@ export default () => { * type: * type: string * description: A slug indicating the type of the error. - */ \ No newline at end of file + */ diff --git a/packages/medusa/src/api/routes/admin/auth/create-session.ts b/packages/medusa/src/api/routes/admin/auth/create-session.ts index a349232f1a..85eb37fcfb 100644 --- a/packages/medusa/src/api/routes/admin/auth/create-session.ts +++ b/packages/medusa/src/api/routes/admin/auth/create-session.ts @@ -1,7 +1,7 @@ import { IsEmail, IsNotEmpty, IsString } from "class-validator" import AuthService from "../../../../services/auth" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" import { MedusaError } from "medusa-core-utils" import _ from "lodash" import jwt from "jsonwebtoken" @@ -78,7 +78,9 @@ import { validator } from "../../../../utils/validator" * $ref: "#/components/responses/500_error" */ export default async (req, res) => { - const { projectConfig: { jwt_secret } } = req.scope.resolve('configModule') + const { + projectConfig: { jwt_secret }, + } = req.scope.resolve("configModule") if (!jwt_secret) { throw new MedusaError( MedusaError.Types.NOT_FOUND, @@ -90,10 +92,9 @@ export default async (req, res) => { const authService: AuthService = req.scope.resolve("authService") const manager: EntityManager = req.scope.resolve("manager") const result = await manager.transaction(async (transactionManager) => { - return await authService.withTransaction(transactionManager).authenticate( - validated.email, - validated.password - ) + return await authService + .withTransaction(transactionManager) + .authenticate(validated.email, validated.password) }) if (result.success && result.user) { diff --git a/packages/medusa/src/api/routes/admin/batch/list-batch-jobs.ts b/packages/medusa/src/api/routes/admin/batch/list-batch-jobs.ts index 5ef8a2b092..3e4e18dee5 100644 --- a/packages/medusa/src/api/routes/admin/batch/list-batch-jobs.ts +++ b/packages/medusa/src/api/routes/admin/batch/list-batch-jobs.ts @@ -320,27 +320,37 @@ export class AdminGetBatchParams extends AdminGetBatchPaginationParams { type?: string[] @IsOptional() - @Transform(({ value }) => (value === "null" ? null : value)) + @Transform(({ value }) => { + return value === "null" ? null : value + }) @Type(() => DateComparisonOperator) confirmed_at?: DateComparisonOperator | null @IsOptional() - @Transform(({ value }) => (value === "null" ? null : value)) + @Transform(({ value }) => { + return value === "null" ? null : value + }) @Type(() => DateComparisonOperator) pre_processed_at?: DateComparisonOperator | null @IsOptional() - @Transform(({ value }) => (value === "null" ? null : value)) + @Transform(({ value }) => { + return value === "null" ? null : value + }) @Type(() => DateComparisonOperator) completed_at?: DateComparisonOperator | null @IsOptional() - @Transform(({ value }) => (value === "null" ? null : value)) + @Transform(({ value }) => { + return value === "null" ? null : value + }) @Type(() => DateComparisonOperator) failed_at?: DateComparisonOperator | null @IsOptional() - @Transform(({ value }) => (value === "null" ? null : value)) + @Transform(({ value }) => { + return value === "null" ? null : value + }) @Type(() => DateComparisonOperator) canceled_at?: DateComparisonOperator | null diff --git a/packages/medusa/src/api/routes/admin/collections/delete-collection.ts b/packages/medusa/src/api/routes/admin/collections/delete-collection.ts index 59ea266dbc..c8e827ae74 100644 --- a/packages/medusa/src/api/routes/admin/collections/delete-collection.ts +++ b/packages/medusa/src/api/routes/admin/collections/delete-collection.ts @@ -1,6 +1,6 @@ import { Request, Response } from "express" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" import ProductCollectionService from "../../../../services/product-collection" /** @@ -72,10 +72,11 @@ export default async (req: Request, res: Response) => { const manager: EntityManager = req.scope.resolve("manager") await manager.transaction(async (transactionManager) => { - return await productCollectionService.withTransaction(transactionManager).delete(id) + return await productCollectionService + .withTransaction(transactionManager) + .delete(id) }) - res.json({ id, object: "product-collection", diff --git a/packages/medusa/src/api/routes/admin/collections/index.ts b/packages/medusa/src/api/routes/admin/collections/index.ts index 81bb985ff5..28814bc2f0 100644 --- a/packages/medusa/src/api/routes/admin/collections/index.ts +++ b/packages/medusa/src/api/routes/admin/collections/index.ts @@ -2,7 +2,10 @@ import { Router } from "express" import "reflect-metadata" import { ProductCollection } from "../../../.." import { DeleteResponse, PaginatedResponse } from "../../../../types/common" -import middlewares, { transformBody, transformQuery } from "../../../middlewares" +import middlewares, { + transformBody, + transformQuery, +} from "../../../middlewares" import { AdminGetCollectionsParams } from "./list-collections" import { AdminPostCollectionsReq } from "./create-collection" import { AdminPostCollectionsCollectionReq } from "./update-collection" @@ -20,14 +23,11 @@ export default (app) => { ) route.get( "/", - transformQuery( - AdminGetCollectionsParams, - { - defaultRelations: defaultAdminCollectionsRelations, - defaultFields: defaultAdminCollectionsFields, - isList: true, - } - ), + transformQuery(AdminGetCollectionsParams, { + defaultRelations: defaultAdminCollectionsRelations, + defaultFields: defaultAdminCollectionsFields, + isList: true, + }), middlewares.wrap(require("./list-collections").default) ) diff --git a/packages/medusa/src/api/routes/admin/collections/list-collections.ts b/packages/medusa/src/api/routes/admin/collections/list-collections.ts index fd81d9d6f3..a443c7a0a7 100644 --- a/packages/medusa/src/api/routes/admin/collections/list-collections.ts +++ b/packages/medusa/src/api/routes/admin/collections/list-collections.ts @@ -146,7 +146,7 @@ export default async (req: Request, res: Response) => { const { validatedQuery: { limit, offset }, filterableFields, - listConfig + listConfig, } = req const [collections, count] = await productCollectionService.listAndCount( @@ -174,6 +174,7 @@ export class AdminGetCollectionsPaginationParams { offset = 0 } +// eslint-disable-next-line max-len export class AdminGetCollectionsParams extends AdminGetCollectionsPaginationParams { @IsOptional() @IsString() diff --git a/packages/medusa/src/api/routes/admin/collections/remove-products.ts b/packages/medusa/src/api/routes/admin/collections/remove-products.ts index 973d2d1993..219077f8ed 100644 --- a/packages/medusa/src/api/routes/admin/collections/remove-products.ts +++ b/packages/medusa/src/api/routes/admin/collections/remove-products.ts @@ -1,6 +1,6 @@ import { ArrayNotEmpty, IsString } from "class-validator" import { Request, Response } from "express" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" import ProductCollectionService from "../../../../services/product-collection" @@ -77,7 +77,9 @@ import ProductCollectionService from "../../../../services/product-collection" */ export default async (req: Request, res: Response) => { const { id } = req.params - const { validatedBody } = req as { validatedBody: AdminDeleteProductsFromCollectionReq } + const { validatedBody } = req as { + validatedBody: AdminDeleteProductsFromCollectionReq + } const productCollectionService: ProductCollectionService = req.scope.resolve( "productCollectionService" @@ -85,7 +87,9 @@ export default async (req: Request, res: Response) => { const manager: EntityManager = req.scope.resolve("manager") await manager.transaction(async (transactionManager) => { - return await productCollectionService.withTransaction(transactionManager).removeProducts(id, validatedBody.product_ids) + return await productCollectionService + .withTransaction(transactionManager) + .removeProducts(id, validatedBody.product_ids) }) res.json({ diff --git a/packages/medusa/src/api/routes/admin/collections/update-collection.ts b/packages/medusa/src/api/routes/admin/collections/update-collection.ts index 944c012b96..68f92ea123 100644 --- a/packages/medusa/src/api/routes/admin/collections/update-collection.ts +++ b/packages/medusa/src/api/routes/admin/collections/update-collection.ts @@ -1,6 +1,6 @@ import { IsObject, IsOptional, IsString } from "class-validator" import { Request, Response } from "express" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" import ProductCollectionService from "../../../../services/product-collection" /** diff --git a/packages/medusa/src/api/routes/admin/currencies/index.ts b/packages/medusa/src/api/routes/admin/currencies/index.ts index 9b0fd72126..9bfb597f2d 100644 --- a/packages/medusa/src/api/routes/admin/currencies/index.ts +++ b/packages/medusa/src/api/routes/admin/currencies/index.ts @@ -4,7 +4,7 @@ import TaxInclusivePricingFeatureFlag from "../../../../loaders/feature-flags/ta import { PaginatedResponse } from "../../../../types/common" import middlewares, { transformBody, - transformQuery + transformQuery, } from "../../../middlewares" import { isFeatureFlagEnabled } from "../../../middlewares/feature-flag-enabled" import { AdminGetCurrenciesParams } from "./list-currencies" @@ -12,10 +12,7 @@ import { AdminPostCurrenciesCurrencyReq } from "./update-currency" export default (app) => { const route = Router() - app.use( - "/currencies", - route - ) + app.use("/currencies", route) route.get( "/", @@ -45,4 +42,3 @@ export type AdminCurrenciesRes = { export * from "./list-currencies" export * from "./update-currency" - diff --git a/packages/medusa/src/api/routes/admin/discounts/create-condition.ts b/packages/medusa/src/api/routes/admin/discounts/create-condition.ts index a331a932e3..d5292d7504 100644 --- a/packages/medusa/src/api/routes/admin/discounts/create-condition.ts +++ b/packages/medusa/src/api/routes/admin/discounts/create-condition.ts @@ -147,6 +147,7 @@ export default async (req, res) => { res.status(200).json({ discount }) } +// eslint-disable-next-line max-len export class AdminPostDiscountsDiscountConditions extends AdminUpsertConditionsReq { @IsString() operator: DiscountConditionOperator diff --git a/packages/medusa/src/api/routes/admin/discounts/update-condition.ts b/packages/medusa/src/api/routes/admin/discounts/update-condition.ts index 7687826e33..292b5e7b40 100644 --- a/packages/medusa/src/api/routes/admin/discounts/update-condition.ts +++ b/packages/medusa/src/api/routes/admin/discounts/update-condition.ts @@ -152,6 +152,7 @@ export default async (req, res) => { res.status(200).json({ discount }) } +// eslint-disable-next-line max-len export class AdminPostDiscountsDiscountConditionsCondition extends AdminUpsertConditionsReq {} export class AdminPostDiscountsDiscountConditionsConditionParams { diff --git a/packages/medusa/src/api/routes/admin/price-lists/list-price-list-products.ts b/packages/medusa/src/api/routes/admin/price-lists/list-price-list-products.ts index 6b7d3df341..1d879a0659 100644 --- a/packages/medusa/src/api/routes/admin/price-lists/list-price-list-products.ts +++ b/packages/medusa/src/api/routes/admin/price-lists/list-price-list-products.ts @@ -213,6 +213,7 @@ export default async (req: Request, res) => { }) } +// eslint-disable-next-line max-len export class AdminGetPriceListsPriceListProductsParams extends extendedFindParamsMixin( { limit: 50 } ) { diff --git a/packages/medusa/src/api/routes/admin/price-lists/list-price-lists.ts b/packages/medusa/src/api/routes/admin/price-lists/list-price-lists.ts index 8e575f2039..5af9bee029 100644 --- a/packages/medusa/src/api/routes/admin/price-lists/list-price-lists.ts +++ b/packages/medusa/src/api/routes/admin/price-lists/list-price-lists.ts @@ -187,6 +187,7 @@ export default async (req: Request, res) => { }) } +// eslint-disable-next-line max-len export class AdminGetPriceListPaginationParams extends FilterablePriceListProps { @IsNumber() @IsOptional() diff --git a/packages/medusa/src/api/routes/admin/product-tags/list-product-tags.ts b/packages/medusa/src/api/routes/admin/product-tags/list-product-tags.ts index be3ff0460a..fe552a0a91 100644 --- a/packages/medusa/src/api/routes/admin/product-tags/list-product-tags.ts +++ b/packages/medusa/src/api/routes/admin/product-tags/list-product-tags.ts @@ -201,6 +201,7 @@ export class AdminGetProductTagsPaginationParams { offset = 0 } +// eslint-disable-next-line max-len export class AdminGetProductTagsParams extends AdminGetProductTagsPaginationParams { @IsType([String, [String], StringComparisonOperator]) @IsOptional() diff --git a/packages/medusa/src/api/routes/admin/product-types/list-product-types.ts b/packages/medusa/src/api/routes/admin/product-types/list-product-types.ts index fdc9ae4955..c9381cbd69 100644 --- a/packages/medusa/src/api/routes/admin/product-types/list-product-types.ts +++ b/packages/medusa/src/api/routes/admin/product-types/list-product-types.ts @@ -202,6 +202,7 @@ export class AdminGetProductTypesPaginationParams { offset? = 0 } +// eslint-disable-next-line max-len export class AdminGetProductTypesParams extends AdminGetProductTypesPaginationParams { @IsType([String, [String], StringComparisonOperator]) @IsOptional() diff --git a/packages/medusa/src/api/routes/admin/users/reset-password.ts b/packages/medusa/src/api/routes/admin/users/reset-password.ts index cc104d71a1..4b3e09415a 100644 --- a/packages/medusa/src/api/routes/admin/users/reset-password.ts +++ b/packages/medusa/src/api/routes/admin/users/reset-password.ts @@ -90,7 +90,7 @@ export default async (req, res) => { try { const userService: UserService = req.scope.resolve("userService") - const decoded = (await jwt.decode(validated.token)) as payload + const decoded = jwt.decode(validated.token) as payload let user: User try { @@ -104,10 +104,10 @@ export default async (req, res) => { throw new MedusaError(MedusaError.Types.INVALID_DATA, "invalid token") } - const verifiedToken = (await jwt.verify( + const verifiedToken = jwt.verify( validated.token, user.password_hash - )) as payload + ) as payload if (!verifiedToken || verifiedToken.user_id !== user.id) { res.status(401).send("Invalid or expired password reset token") return diff --git a/packages/medusa/src/api/routes/store/carts/calculate-taxes.ts b/packages/medusa/src/api/routes/store/carts/calculate-taxes.ts index 62f378f234..985e780582 100644 --- a/packages/medusa/src/api/routes/store/carts/calculate-taxes.ts +++ b/packages/medusa/src/api/routes/store/carts/calculate-taxes.ts @@ -55,12 +55,7 @@ export default async (req, res) => { await manager.transaction(async (transactionManager) => { idempotencyKey = await idempotencyKeyService .withTransaction(transactionManager) - .initializeRequest( - headerKey, - req.method, - req.params, - req.path - ) + .initializeRequest(headerKey, req.method, req.params, req.path) }) } catch (error) { console.log(error) @@ -85,21 +80,23 @@ export default async (req, res) => { .workStage( idempotencyKey.idempotency_key, async (manager: EntityManager) => { - const cart = await cartService.withTransaction(manager).retrieve( - id, - { - relations: ["items", "items.adjustments"], - select: [ - "total", - "subtotal", - "tax_total", - "discount_total", - "shipping_total", - "gift_card_total", - ], - }, - { force_taxes: true } - ) + const cart = await cartService + .withTransaction(manager) + .retrieve( + id, + { + relations: ["items", "items.adjustments"], + select: [ + "total", + "subtotal", + "tax_total", + "discount_total", + "shipping_total", + "gift_card_total", + ], + }, + { force_taxes: true } + ) const data = await decorateLineItemsWithTotals(cart, req, { force_taxes: true, @@ -131,14 +128,11 @@ export default async (req, res) => { await manager.transaction(async (transactionManager) => { idempotencyKey = await idempotencyKeyService .withTransaction(transactionManager) - .update( - idempotencyKey.idempotency_key, - { - recovery_point: "finished", - response_code: 500, - response_body: { message: "Unknown recovery point" }, - } - ) + .update(idempotencyKey.idempotency_key, { + recovery_point: "finished", + response_code: 500, + response_body: { message: "Unknown recovery point" }, + }) }) break } diff --git a/packages/medusa/src/api/routes/store/carts/complete-cart.ts b/packages/medusa/src/api/routes/store/carts/complete-cart.ts index 05305c680f..a467c01af8 100644 --- a/packages/medusa/src/api/routes/store/carts/complete-cart.ts +++ b/packages/medusa/src/api/routes/store/carts/complete-cart.ts @@ -1,4 +1,4 @@ -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" import { AbstractCartCompletionStrategy } from "../../../../interfaces" import { IdempotencyKey } from "../../../../models/idempotency-key" import { IdempotencyKeyService } from "../../../../services" @@ -88,12 +88,9 @@ export default async (req, res) => { let idempotencyKey: IdempotencyKey try { idempotencyKey = await manager.transaction(async (transactionManager) => { - return await idempotencyKeyService.withTransaction(transactionManager).initializeRequest( - headerKey, - req.method, - req.params, - req.path - ) + return await idempotencyKeyService + .withTransaction(transactionManager) + .initializeRequest(headerKey, req.method, req.params, req.path) }) } catch (error) { console.log(error) diff --git a/packages/medusa/src/api/routes/store/carts/create-payment-sessions.ts b/packages/medusa/src/api/routes/store/carts/create-payment-sessions.ts index 34fc15f1fd..0657eb2131 100644 --- a/packages/medusa/src/api/routes/store/carts/create-payment-sessions.ts +++ b/packages/medusa/src/api/routes/store/carts/create-payment-sessions.ts @@ -1,8 +1,8 @@ import { defaultStoreCartFields, defaultStoreCartRelations } from "." import { CartService } from "../../../../services" import { decorateLineItemsWithTotals } from "./decorate-line-items-with-totals" -import { EntityManager } from "typeorm"; -import IdempotencyKeyService from "../../../../services/idempotency-key"; +import { EntityManager } from "typeorm" +import IdempotencyKeyService from "../../../../services/idempotency-key" /** * @oas [post] /carts/{id}/payment-sessions @@ -61,12 +61,9 @@ export default async (req, res) => { let idempotencyKey try { await manager.transaction(async (transactionManager) => { - idempotencyKey = await idempotencyKeyService.withTransaction(transactionManager).initializeRequest( - headerKey, - req.method, - req.params, - req.path - ) + idempotencyKey = await idempotencyKeyService + .withTransaction(transactionManager) + .initializeRequest(headerKey, req.method, req.params, req.path) }) } catch (error) { res.status(409).send("Failed to create idempotency key") @@ -89,23 +86,28 @@ export default async (req, res) => { .workStage( idempotencyKey.idempotency_key, async (stageManager) => { - await cartService.withTransaction(stageManager).setPaymentSessions(id) + await cartService + .withTransaction(stageManager) + .setPaymentSessions(id) - const cart = await cartService.withTransaction(stageManager).retrieve(id, { - select: defaultStoreCartFields, - relations: defaultStoreCartRelations, - }) + const cart = await cartService + .withTransaction(stageManager) + .retrieve(id, { + select: defaultStoreCartFields, + relations: defaultStoreCartRelations, + }) const data = await decorateLineItemsWithTotals(cart, req, { force_taxes: false, - transactionManager: stageManager + transactionManager: stageManager, }) return { response_code: 200, response_body: { cart: data }, } - }) + } + ) if (error) { inProgress = false @@ -126,14 +128,11 @@ export default async (req, res) => { await manager.transaction(async (transactionManager) => { idempotencyKey = await idempotencyKeyService .withTransaction(transactionManager) - .update( - idempotencyKey.idempotency_key, - { - recovery_point: "finished", - response_code: 500, - response_body: { message: "Unknown recovery point" }, - } - ) + .update(idempotencyKey.idempotency_key, { + recovery_point: "finished", + response_code: 500, + response_body: { message: "Unknown recovery point" }, + }) }) break } diff --git a/packages/medusa/src/api/routes/store/carts/decorate-line-items-with-totals.ts b/packages/medusa/src/api/routes/store/carts/decorate-line-items-with-totals.ts index ffea29618f..793bd8e860 100644 --- a/packages/medusa/src/api/routes/store/carts/decorate-line-items-with-totals.ts +++ b/packages/medusa/src/api/routes/store/carts/decorate-line-items-with-totals.ts @@ -1,12 +1,14 @@ import { Request } from "express" import { TotalsService } from "../../../../services" import { Cart, LineItem } from "../../../../models" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" export const decorateLineItemsWithTotals = async ( cart: Cart, req: Request, - options: { force_taxes: boolean, transactionManager?: EntityManager } = { force_taxes: false } + options: { force_taxes: boolean; transactionManager?: EntityManager } = { + force_taxes: false, + } ): Promise => { const totalsService: TotalsService = req.scope.resolve("totalsService") @@ -15,10 +17,13 @@ export const decorateLineItemsWithTotals = async ( const totalsServiceTx = totalsService.withTransaction(manager) return await Promise.all( cart.items.map(async (item: LineItem) => { - const itemTotals = await totalsServiceTx - .getLineItemTotals(item, cart, { + const itemTotals = await totalsServiceTx.getLineItemTotals( + item, + cart, + { include_tax: options.force_taxes || cart.region.automatic_taxes, - }) + } + ) return Object.assign(item, itemTotals) }) @@ -29,7 +34,8 @@ export const decorateLineItemsWithTotals = async ( if (options.transactionManager) { items = await getItems(options.transactionManager) } else { - const manager: EntityManager = options.transactionManager ?? req.scope.resolve("manager") + const manager: EntityManager = + options.transactionManager ?? req.scope.resolve("manager") items = await manager.transaction(async (transactionManager) => { return await getItems(transactionManager) }) diff --git a/packages/medusa/src/api/routes/store/carts/delete-payment-session.ts b/packages/medusa/src/api/routes/store/carts/delete-payment-session.ts index 42c0811d58..57a1e94e38 100644 --- a/packages/medusa/src/api/routes/store/carts/delete-payment-session.ts +++ b/packages/medusa/src/api/routes/store/carts/delete-payment-session.ts @@ -1,7 +1,7 @@ import { defaultStoreCartFields, defaultStoreCartRelations } from "." import { CartService } from "../../../../services" import { decorateLineItemsWithTotals } from "./decorate-line-items-with-totals" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" /** * @oas [delete] /carts/{id}/payment-sessions/{provider_id} @@ -54,7 +54,9 @@ export default async (req, res) => { const manager: EntityManager = req.scope.resolve("manager") await manager.transaction(async (transactionManager) => { - return await cartService.withTransaction(transactionManager).deletePaymentSession(id, provider_id) + return await cartService + .withTransaction(transactionManager) + .deletePaymentSession(id, provider_id) }) const cart = await cartService.retrieve(id, { diff --git a/packages/medusa/src/api/routes/store/carts/index.ts b/packages/medusa/src/api/routes/store/carts/index.ts index f92727b911..5a0d374635 100644 --- a/packages/medusa/src/api/routes/store/carts/index.ts +++ b/packages/medusa/src/api/routes/store/carts/index.ts @@ -2,9 +2,12 @@ import { Router } from "express" import "reflect-metadata" import { Cart, Order, Swap } from "../../../../" import { DeleteResponse, EmptyQueryParams } from "../../../../types/common" -import middlewares, { transformBody, transformQuery } from "../../../middlewares" -import { StorePostCartsCartReq } from "./update-cart"; -import { StorePostCartReq } from "./create-cart"; +import middlewares, { + transformBody, + transformQuery, +} from "../../../middlewares" +import { StorePostCartsCartReq } from "./update-cart" +import { StorePostCartReq } from "./create-cart" const route = Router() export default (app, container) => { diff --git a/packages/medusa/src/api/routes/store/carts/refresh-payment-session.ts b/packages/medusa/src/api/routes/store/carts/refresh-payment-session.ts index 0e1742d299..f39affe49d 100644 --- a/packages/medusa/src/api/routes/store/carts/refresh-payment-session.ts +++ b/packages/medusa/src/api/routes/store/carts/refresh-payment-session.ts @@ -1,6 +1,6 @@ import { CartService } from "../../../../services" import { decorateLineItemsWithTotals } from "./decorate-line-items-with-totals" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" /** * @oas [post] /carts/{id}/payment-sessions/{provider_id}/refresh @@ -53,7 +53,9 @@ export default async (req, res) => { const manager: EntityManager = req.scope.resolve("manager") await manager.transaction(async (transactionManager) => { - return await cartService.withTransaction(transactionManager).refreshPaymentSession(id, provider_id) + return await cartService + .withTransaction(transactionManager) + .refreshPaymentSession(id, provider_id) }) const cart = await cartService.retrieve(id, { select: [ diff --git a/packages/medusa/src/api/routes/store/carts/set-payment-session.ts b/packages/medusa/src/api/routes/store/carts/set-payment-session.ts index 906348d456..751489fd9d 100644 --- a/packages/medusa/src/api/routes/store/carts/set-payment-session.ts +++ b/packages/medusa/src/api/routes/store/carts/set-payment-session.ts @@ -1,7 +1,7 @@ import { defaultStoreCartFields, defaultStoreCartRelations } from "." import { CartService } from "../../../../services" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" import { IsString } from "class-validator" import { decorateLineItemsWithTotals } from "./decorate-line-items-with-totals" import { validator } from "../../../../utils/validator" @@ -68,7 +68,9 @@ export default async (req, res) => { const manager: EntityManager = req.scope.resolve("manager") await manager.transaction(async (transactionManager) => { - return await cartService.withTransaction(transactionManager).setPaymentSession(id, validated.provider_id) + return await cartService + .withTransaction(transactionManager) + .setPaymentSession(id, validated.provider_id) }) const cart = await cartService.retrieve(id, { diff --git a/packages/medusa/src/api/routes/store/carts/update-cart.ts b/packages/medusa/src/api/routes/store/carts/update-cart.ts index b09ef00c95..db69ab5a60 100644 --- a/packages/medusa/src/api/routes/store/carts/update-cart.ts +++ b/packages/medusa/src/api/routes/store/carts/update-cart.ts @@ -9,10 +9,10 @@ import { defaultStoreCartFields, defaultStoreCartRelations } from "." import { AddressPayload } from "../../../../types/common" import { CartService } from "../../../../services" -import { EntityManager } from "typeorm"; -import { FeatureFlagDecorators } from "../../../../utils/feature-flag-decorators"; +import { EntityManager } from "typeorm" +import { FeatureFlagDecorators } from "../../../../utils/feature-flag-decorators" import { IsType } from "../../../../utils/validators/is-type" -import SalesChannelFeatureFlag from "../../../../loaders/feature-flags/sales-channels"; +import SalesChannelFeatureFlag from "../../../../loaders/feature-flags/sales-channels" import { Type } from "class-transformer" import { decorateLineItemsWithTotals } from "./decorate-line-items-with-totals" @@ -139,12 +139,16 @@ export default async (req, res) => { await manager.transaction(async (transactionManager) => { await cartService.withTransaction(transactionManager).update(id, validated) - const updated = await cartService.withTransaction(transactionManager).retrieve(id, { - relations: ["payment_sessions", "shipping_methods"], - }) + const updated = await cartService + .withTransaction(transactionManager) + .retrieve(id, { + relations: ["payment_sessions", "shipping_methods"], + }) if (updated.payment_sessions?.length && !validated.region_id) { - await cartService.withTransaction(transactionManager).setPaymentSessions(id) + await cartService + .withTransaction(transactionManager) + .setPaymentSessions(id) } }) diff --git a/packages/medusa/src/api/routes/store/carts/update-line-item.ts b/packages/medusa/src/api/routes/store/carts/update-line-item.ts index 25caeeaafe..18116a4a51 100644 --- a/packages/medusa/src/api/routes/store/carts/update-line-item.ts +++ b/packages/medusa/src/api/routes/store/carts/update-line-item.ts @@ -73,7 +73,9 @@ export default async (req, res) => { if (validated.quantity === 0) { await cartService.withTransaction(m).removeLineItem(id, line_id) } else { - const cart = await cartService.withTransaction(m).retrieve(id, { relations: ["items"] }) + const cart = await cartService + .withTransaction(m) + .retrieve(id, { relations: ["items"] }) const existing = cart.items.find((i) => i.id === line_id) if (!existing) { diff --git a/packages/medusa/src/api/routes/store/carts/update-payment-session.ts b/packages/medusa/src/api/routes/store/carts/update-payment-session.ts index 9bbce00f08..1080eb3cfa 100644 --- a/packages/medusa/src/api/routes/store/carts/update-payment-session.ts +++ b/packages/medusa/src/api/routes/store/carts/update-payment-session.ts @@ -3,7 +3,7 @@ import { defaultStoreCartFields, defaultStoreCartRelations } from "." import { CartService } from "../../../../services" import { validator } from "../../../../utils/validator" import { decorateLineItemsWithTotals } from "./decorate-line-items-with-totals" -import { EntityManager } from "typeorm"; +import { EntityManager } from "typeorm" /** * @oas [post] /carts/{id}/payment-sessions/{provider_id} @@ -22,7 +22,7 @@ import { EntityManager } from "typeorm"; * const medusa = new Medusa({ baseUrl: MEDUSA_BACKEND_URL, maxRetries: 3 }) * medusa.carts.updatePaymentSession(cart_id, 'manual', { * data: { - * + * * } * }) * .then(({ cart }) => { @@ -70,8 +70,12 @@ export default async (req, res) => { const manager: EntityManager = req.scope.resolve("manager") await manager.transaction(async (transactionManager) => { - await cartService.withTransaction(transactionManager).setPaymentSession(id, provider_id) - await cartService.withTransaction(transactionManager).updatePaymentSession(id, validated.data) + await cartService + .withTransaction(transactionManager) + .setPaymentSession(id, provider_id) + await cartService + .withTransaction(transactionManager) + .updatePaymentSession(id, validated.data) }) const cart = await cartService.retrieve(id, { diff --git a/packages/medusa/src/api/routes/store/customers/list-orders.ts b/packages/medusa/src/api/routes/store/customers/list-orders.ts index 31409f8384..59733ef8d7 100644 --- a/packages/medusa/src/api/routes/store/customers/list-orders.ts +++ b/packages/medusa/src/api/routes/store/customers/list-orders.ts @@ -238,6 +238,7 @@ export class StoreGetCustomersCustomerOrdersPaginationParams { expand?: string } +// eslint-disable-next-line max-len export class StoreGetCustomersCustomerOrdersParams extends StoreGetCustomersCustomerOrdersPaginationParams { @IsString() @IsOptional() diff --git a/packages/medusa/src/api/routes/store/customers/update-address.ts b/packages/medusa/src/api/routes/store/customers/update-address.ts index bd68481e73..09173abe21 100644 --- a/packages/medusa/src/api/routes/store/customers/update-address.ts +++ b/packages/medusa/src/api/routes/store/customers/update-address.ts @@ -95,4 +95,5 @@ export default async (req, res) => { res.json({ customer }) } +// eslint-disable-next-line max-len export class StorePostCustomersCustomerAddressesAddressReq extends AddressPayload {} diff --git a/packages/medusa/src/commands/develop.js b/packages/medusa/src/commands/develop.js index 27fdeb43f9..034c4caab2 100644 --- a/packages/medusa/src/commands/develop.js +++ b/packages/medusa/src/commands/develop.js @@ -5,7 +5,7 @@ import chokidar from "chokidar" import Logger from "../loaders/logger" -export default async function({ port, directory }) { +export default async function ({ port, directory }) { const args = process.argv args.shift() args.shift() @@ -35,7 +35,7 @@ export default async function({ port, directory }) { child.kill("SIGINT") - execSync(`${babelPath} src -d dist --extensions \".ts,.js\"`, { + execSync(`${babelPath} src -d dist --extensions ".ts,.js"`, { cwd: directory, stdio: ["pipe", process.stdout, process.stderr], }) diff --git a/packages/medusa/src/commands/start.js b/packages/medusa/src/commands/start.js index 7771a34773..e9f89e552f 100644 --- a/packages/medusa/src/commands/start.js +++ b/packages/medusa/src/commands/start.js @@ -34,5 +34,5 @@ export default async function ({ port, directory }) { return { dbConnection, server } } - let { dbConnection, server } = await start() + const { dbConnection, server } = await start() } diff --git a/packages/medusa/src/commands/user.js b/packages/medusa/src/commands/user.js index 07bb36cb78..e23acd8261 100644 --- a/packages/medusa/src/commands/user.js +++ b/packages/medusa/src/commands/user.js @@ -6,7 +6,7 @@ import { track } from "medusa-telemetry" import loaders from "../loaders" -export default async function({ directory, id, email, password, keepAlive }) { +export default async function ({ directory, id, email, password, keepAlive }) { track("CLI_USER", { with_id: !!id }) const app = express() try { diff --git a/packages/medusa/src/helpers/test-request.js b/packages/medusa/src/helpers/test-request.js index 53ed229c6d..fdbc5ae98d 100644 --- a/packages/medusa/src/helpers/test-request.js +++ b/packages/medusa/src/helpers/test-request.js @@ -10,7 +10,7 @@ import passportLoader from "../loaders/passport" import featureFlagLoader, { featureFlagRouter } from "../loaders/feature-flags" import servicesLoader from "../loaders/services" import strategiesLoader from "../loaders/strategies" -import logger from "../loaders/logger"; +import logger from "../loaders/logger" const adminSessionOpts = { cookieName: "session", @@ -112,7 +112,9 @@ export async function request(method, url, opts = {}) { } for (const name in headers) { - req.set(name, headers[name]) + if ({}.hasOwnProperty.call(headers, name)) { + req.set(name, headers[name]) + } } if (payload && !req.get("content-type")) { diff --git a/packages/medusa/src/interfaces/payment-service.ts b/packages/medusa/src/interfaces/payment-service.ts index 216052d230..e201be6363 100644 --- a/packages/medusa/src/interfaces/payment-service.ts +++ b/packages/medusa/src/interfaces/payment-service.ts @@ -61,10 +61,10 @@ export abstract class AbstractPaymentService protected static identifier: string public getIdentifier(): string { - if (!(this.constructor).identifier) { - throw new Error('Missing static property "identifier".') + if (!(this.constructor as typeof AbstractPaymentService).identifier) { + throw new Error(`Missing static property "identifier".`) } - return (this.constructor).identifier + return (this.constructor as typeof AbstractPaymentService).identifier } public abstract getPaymentData( @@ -102,7 +102,7 @@ export abstract class AbstractPaymentService public abstract deletePayment(paymentSession: PaymentSession): Promise // eslint-disable-next-line @typescript-eslint/no-unused-vars - public retrieveSavedMethods(customer: Customer): Promise { + public async retrieveSavedMethods(customer: Customer): Promise { return Promise.resolve([]) } diff --git a/packages/medusa/src/interfaces/tax-service.ts b/packages/medusa/src/interfaces/tax-service.ts index 80160eb414..551c4f9087 100644 --- a/packages/medusa/src/interfaces/tax-service.ts +++ b/packages/medusa/src/interfaces/tax-service.ts @@ -67,10 +67,10 @@ export abstract class AbstractTaxService protected static identifier: string public getIdentifier(): string { - if (!(this.constructor).identifier) { - throw new Error('Missing static property "identifier".') + if (!(this.constructor as typeof AbstractTaxService).identifier) { + throw new Error(`Missing static property "identifier".`) } - return (this.constructor).identifier + return (this.constructor as typeof AbstractTaxService).identifier } public abstract getTaxLines( diff --git a/packages/medusa/src/interfaces/transaction-base-service.ts b/packages/medusa/src/interfaces/transaction-base-service.ts index ae9da955a9..2ef4534df4 100644 --- a/packages/medusa/src/interfaces/transaction-base-service.ts +++ b/packages/medusa/src/interfaces/transaction-base-service.ts @@ -15,7 +15,7 @@ export abstract class TransactionBaseService { return this } - const cloned = new (this.constructor)( + const cloned = new (this.constructor as any)( { ...this.__container__, manager: transactionManager, @@ -111,14 +111,14 @@ export abstract class TransactionBaseService { try { result = await this.manager_.transaction( isolation as IsolationLevel, - (m) => doWork(m) + async (m) => doWork(m) ) return result } catch (error) { if (this.shouldRetryTransaction_(error)) { return this.manager_.transaction( isolation as IsolationLevel, - (m): Promise => doWork(m) + async (m): Promise => doWork(m) ) } else { if (errorHandler) { @@ -130,7 +130,7 @@ export abstract class TransactionBaseService { } try { - return await this.manager_.transaction((m) => doWork(m)) + return await this.manager_.transaction(async (m) => doWork(m)) } catch (error) { if (errorHandler) { const result = await errorHandler(error) diff --git a/packages/medusa/src/loaders/api.ts b/packages/medusa/src/loaders/api.ts index 9757505c35..5d63d0981a 100644 --- a/packages/medusa/src/loaders/api.ts +++ b/packages/medusa/src/loaders/api.ts @@ -1,4 +1,4 @@ -import { Express } from 'express' +import { Express } from "express" import bodyParser from "body-parser" import routes from "../api" import { AwilixContainer } from "awilix" diff --git a/packages/medusa/src/loaders/database.ts b/packages/medusa/src/loaders/database.ts index 672ee45b6e..8a50d3ddca 100644 --- a/packages/medusa/src/loaders/database.ts +++ b/packages/medusa/src/loaders/database.ts @@ -9,7 +9,10 @@ type Options = { container: AwilixContainer } -export default async ({ container, configModule }: Options): Promise => { +export default async ({ + container, + configModule, +}: Options): Promise => { const entities = container.resolve("db_entities") const isSqlite = configModule.projectConfig.database_type === "sqlite" diff --git a/packages/medusa/src/loaders/defaults.ts b/packages/medusa/src/loaders/defaults.ts index 25324790f6..e4a2588f3c 100644 --- a/packages/medusa/src/loaders/defaults.ts +++ b/packages/medusa/src/loaders/defaults.ts @@ -19,8 +19,8 @@ import { TaxProviderService, } from "../services" import { CurrencyRepository } from "../repositories/currency" -import { FlagRouter } from "../utils/flag-router"; -import SalesChannelFeatureFlag from "./feature-flags/sales-channels"; +import { FlagRouter } from "../utils/flag-router" +import SalesChannelFeatureFlag from "./feature-flags/sales-channels" import { AbstractPaymentService, AbstractTaxService } from "../interfaces" const silentResolution = ( @@ -69,7 +69,9 @@ export default async ({ const profileService = container.resolve( "shippingProfileService" ) - const salesChannelService = container.resolve("salesChannelService") + const salesChannelService = container.resolve( + "salesChannelService" + ) const logger = container.resolve("logger") const featureFlagRouter = container.resolve("featureFlagRouter") @@ -120,11 +122,9 @@ export default async ({ await storeService.withTransaction(manager).create() const payProviders = - silentResolution<(typeof BasePaymentService | AbstractPaymentService)[]>( - container, - "paymentProviders", - logger - ) || [] + silentResolution< + (typeof BasePaymentService | AbstractPaymentService)[] + >(container, "paymentProviders", logger) || [] const payIds = payProviders.map((p) => p.getIdentifier()) const pProviderService = container.resolve( @@ -173,7 +173,9 @@ export default async ({ await profileService.withTransaction(manager).createDefault() await profileService.withTransaction(manager).createGiftCardDefault() - const isSalesChannelEnabled = featureFlagRouter.isFeatureEnabled(SalesChannelFeatureFlag.key) + const isSalesChannelEnabled = featureFlagRouter.isFeatureEnabled( + SalesChannelFeatureFlag.key + ) if (isSalesChannelEnabled) { await salesChannelService.withTransaction(manager).createDefault() } diff --git a/packages/medusa/src/loaders/express.ts b/packages/medusa/src/loaders/express.ts index d99b83b91c..b5bcd75da0 100644 --- a/packages/medusa/src/loaders/express.ts +++ b/packages/medusa/src/loaders/express.ts @@ -1,4 +1,4 @@ -import { Express } from 'express' +import { Express } from "express" import session from "express-session" import cookieParser from "cookie-parser" import morgan from "morgan" @@ -7,7 +7,7 @@ import createStore from "connect-redis" import { ConfigModule } from "../types/global" type Options = { - app: Express; + app: Express configModule: ConfigModule } @@ -23,7 +23,7 @@ export default async ({ app, configModule }: Options): Promise => { } const { cookie_secret } = configModule.projectConfig - let sessionOpts = { + const sessionOpts = { resave: true, saveUninitialized: true, cookieName: "session", @@ -34,7 +34,7 @@ export default async ({ app, configModule }: Options): Promise => { secure, maxAge: 10 * 60 * 60 * 1000, }, - store: null + store: null, } if (configModule?.projectConfig?.redis_url) { diff --git a/packages/medusa/src/loaders/feature-flags/index.ts b/packages/medusa/src/loaders/feature-flags/index.ts index 1f56d26ab2..3ec3d9c9ce 100644 --- a/packages/medusa/src/loaders/feature-flags/index.ts +++ b/packages/medusa/src/loaders/feature-flags/index.ts @@ -30,7 +30,6 @@ export default ( const flagConfig: Record = {} for (const flag of supportedFlags) { - // eslint-disable-next-line @typescript-eslint/no-var-requires const flagSettings: FlagSettings = require(flag).default if (!flagSettings) { continue diff --git a/packages/medusa/src/loaders/models.ts b/packages/medusa/src/loaders/models.ts index 1f7341fb40..91d741f95d 100644 --- a/packages/medusa/src/loaders/models.ts +++ b/packages/medusa/src/loaders/models.ts @@ -8,30 +8,38 @@ import { asClass, asValue, AwilixContainer } from "awilix" /** * Registers all models in the model directory */ -export default ({ container }: { container: MedusaContainer }, config = { register: true }) => { +export default ( + { container }: { container: MedusaContainer }, + config = { register: true } +) => { const corePath = "../models/*.js" const coreFull = path.join(__dirname, corePath) const models: (ClassConstructor | EntitySchema)[] = [] - const core = glob.sync(coreFull, { cwd: __dirname, ignore: ["index.js", "index.ts"] }) + const core = glob.sync(coreFull, { + cwd: __dirname, + ignore: ["index.js", "index.ts"], + }) core.forEach((fn) => { const loaded = require(fn) as ClassConstructor | EntitySchema if (loaded) { - Object.entries(loaded).map(([, val]: [string, ClassConstructor | EntitySchema]) => { - if (typeof val === "function" || val instanceof EntitySchema) { - if (config.register) { - const name = formatRegistrationName(fn) - container.register({ - [name]: asClass(val as ClassConstructor), - }) + Object.entries(loaded).map( + ([, val]: [string, ClassConstructor | EntitySchema]) => { + if (typeof val === "function" || val instanceof EntitySchema) { + if (config.register) { + const name = formatRegistrationName(fn) + container.register({ + [name]: asClass(val as ClassConstructor), + }) - container.registerAdd("db_entities", asValue(val)) + container.registerAdd("db_entities", asValue(val)) + } + + models.push(val) } - - models.push(val) } - }) + ) } }) diff --git a/packages/medusa/src/loaders/passport.ts b/packages/medusa/src/loaders/passport.ts index 9016c4bb29..a3180564cc 100644 --- a/packages/medusa/src/loaders/passport.ts +++ b/packages/medusa/src/loaders/passport.ts @@ -1,12 +1,20 @@ import passport from "passport" import { AuthService } from "../services" -import { Express } from 'express' +import { Express } from "express" import { ConfigModule, MedusaContainer } from "../types/global" import { Strategy as BearerStrategy } from "passport-http-bearer" import { Strategy as JWTStrategy } from "passport-jwt" import { Strategy as LocalStrategy } from "passport-local" -export default async ({ app, container, configModule }: { app: Express; container: MedusaContainer; configModule: ConfigModule; }): Promise => { +export default async ({ + app, + container, + configModule, +}: { + app: Express + container: MedusaContainer + configModule: ConfigModule +}): Promise => { const authService = container.resolve("authService") // For good old email password authentication @@ -18,7 +26,10 @@ export default async ({ app, container, configModule }: { app: Express; containe }, async (email, password, done) => { try { - const { success, user } = await authService.authenticate(email, password) + const { success, user } = await authService.authenticate( + email, + password + ) if (success) { return done(null, user) } else { diff --git a/packages/medusa/src/loaders/repositories.ts b/packages/medusa/src/loaders/repositories.ts index 741726b387..9735ba3b87 100644 --- a/packages/medusa/src/loaders/repositories.ts +++ b/packages/medusa/src/loaders/repositories.ts @@ -9,20 +9,22 @@ import { ClassConstructor, MedusaContainer } from "../types/global" * Registers all models in the model directory */ export default ({ container }: { container: MedusaContainer }): void => { - let corePath = "../repositories/*.js" + const corePath = "../repositories/*.js" const coreFull = path.join(__dirname, corePath) const core = glob.sync(coreFull, { cwd: __dirname }) - core.forEach(fn => { + core.forEach((fn) => { const loaded = require(fn) as ClassConstructor - Object.entries(loaded).map(([, val]: [string, ClassConstructor]) => { - if (typeof val === "function") { - const name = formatRegistrationName(fn) - container.register({ - [name]: asClass(val), - }) + Object.entries(loaded).map( + ([, val]: [string, ClassConstructor]) => { + if (typeof val === "function") { + const name = formatRegistrationName(fn) + container.register({ + [name]: asClass(val), + }) + } } - }) + ) }) } diff --git a/packages/medusa/src/loaders/search-index.ts b/packages/medusa/src/loaders/search-index.ts index 1265ab00f7..134c0a6dd0 100644 --- a/packages/medusa/src/loaders/search-index.ts +++ b/packages/medusa/src/loaders/search-index.ts @@ -5,10 +5,12 @@ import { AbstractSearchService } from "../interfaces" export const SEARCH_INDEX_EVENT = "SEARCH_INDEX_EVENT" -function loadProductsIntoSearchEngine(container: MedusaContainer): void { +async function loadProductsIntoSearchEngine( + container: MedusaContainer +): Promise { const logger: Logger = container.resolve("logger") const eventBusService: EventBusService = container.resolve("eventBusService") - eventBusService.emit(SEARCH_INDEX_EVENT, {}).catch((err) => { + void eventBusService.emit(SEARCH_INDEX_EVENT, {}).catch((err) => { logger.error(err) logger.error( "Something went wrong while emitting the search indexing event." diff --git a/packages/medusa/src/loaders/services.ts b/packages/medusa/src/loaders/services.ts index 5b71c0a1b5..706e1e3a9f 100644 --- a/packages/medusa/src/loaders/services.ts +++ b/packages/medusa/src/loaders/services.ts @@ -6,17 +6,16 @@ import { ConfigModule, MedusaContainer } from "../types/global" import { isDefined } from "../utils" type Options = { - container: MedusaContainer; + container: MedusaContainer configModule: ConfigModule - isTest?: boolean; + isTest?: boolean } /** * Registers all services in the services directory */ export default ({ container, configModule, isTest }: Options): void => { - const useMock = - isDefined(isTest) ? isTest : process.env.NODE_ENV === "test" + const useMock = isDefined(isTest) ? isTest : process.env.NODE_ENV === "test" const corePath = useMock ? "../services/__mocks__/*.js" : "../services/*.js" const coreFull = path.join(__dirname, corePath) diff --git a/packages/medusa/src/loaders/strategies.ts b/packages/medusa/src/loaders/strategies.ts index 371d4dc87f..ba0da653ba 100644 --- a/packages/medusa/src/loaders/strategies.ts +++ b/packages/medusa/src/loaders/strategies.ts @@ -40,7 +40,6 @@ export default ({ container, configModule, isTest }: LoaderOptions): void => { }) core.forEach((fn) => { - // eslint-disable-next-line @typescript-eslint/no-var-requires const loaded = require(fn).default const name = formatRegistrationName(fn) diff --git a/packages/medusa/src/loaders/subscribers.ts b/packages/medusa/src/loaders/subscribers.ts index 1746798652..0c7eb6a017 100644 --- a/packages/medusa/src/loaders/subscribers.ts +++ b/packages/medusa/src/loaders/subscribers.ts @@ -15,9 +15,9 @@ export default ({ container }: { container: MedusaContainer }) => { const coreFull = path.join(__dirname, corePath) const core = glob.sync(coreFull, { cwd: __dirname }) - core.forEach(fn => { + core.forEach((fn) => { const loaded = require(fn).default - container.build(asFunction(cradle => new loaded(cradle)).singleton()) + container.build(asFunction((cradle) => new loaded(cradle)).singleton()) }) } diff --git a/packages/medusa/src/repositories/address.ts b/packages/medusa/src/repositories/address.ts index ebe51b1f7e..2a072519fb 100644 --- a/packages/medusa/src/repositories/address.ts +++ b/packages/medusa/src/repositories/address.ts @@ -2,4 +2,4 @@ import { EntityRepository, Repository } from "typeorm" import { Address } from "../models/address" @EntityRepository(Address) -export class AddressRepository extends Repository
{ } +export class AddressRepository extends Repository
{} diff --git a/packages/medusa/src/repositories/cart.ts b/packages/medusa/src/repositories/cart.ts index a9a955970b..66c1b23f3d 100644 --- a/packages/medusa/src/repositories/cart.ts +++ b/packages/medusa/src/repositories/cart.ts @@ -22,7 +22,7 @@ export class CartRepository extends Repository { } const entitiesIdsWithRelations = await Promise.all( - Object.entries(groupedRelations).map(([_, rels]) => { + Object.entries(groupedRelations).map(async ([_, rels]) => { return this.findByIds(entitiesIds, { select: ["id"], relations: rels as string[], diff --git a/packages/medusa/src/repositories/claim.ts b/packages/medusa/src/repositories/claim.ts index 3d3621aa40..863d387ff8 100644 --- a/packages/medusa/src/repositories/claim.ts +++ b/packages/medusa/src/repositories/claim.ts @@ -1,4 +1,4 @@ - import { EntityRepository, Repository } from "typeorm" +import { EntityRepository, Repository } from "typeorm" import { ClaimOrder } from "../models/claim-order" @EntityRepository(ClaimOrder) diff --git a/packages/medusa/src/repositories/country.ts b/packages/medusa/src/repositories/country.ts index 5f2772964f..40acbc175a 100644 --- a/packages/medusa/src/repositories/country.ts +++ b/packages/medusa/src/repositories/country.ts @@ -2,4 +2,4 @@ import { EntityRepository, Repository } from "typeorm" import { Country } from "../models/country" @EntityRepository(Country) -export class CountryRepository extends Repository { } +export class CountryRepository extends Repository {} diff --git a/packages/medusa/src/repositories/currency.ts b/packages/medusa/src/repositories/currency.ts index 7b7f4ab71f..b65e9f0e7d 100644 --- a/packages/medusa/src/repositories/currency.ts +++ b/packages/medusa/src/repositories/currency.ts @@ -2,4 +2,4 @@ import { EntityRepository, Repository } from "typeorm" import { Currency } from "../models" @EntityRepository(Currency) -export class CurrencyRepository extends Repository { } +export class CurrencyRepository extends Repository {} diff --git a/packages/medusa/src/repositories/custom-shipping-option.ts b/packages/medusa/src/repositories/custom-shipping-option.ts index 07c9ebea18..89f1d75017 100644 --- a/packages/medusa/src/repositories/custom-shipping-option.ts +++ b/packages/medusa/src/repositories/custom-shipping-option.ts @@ -1,5 +1,6 @@ import { EntityRepository, Repository } from "typeorm" -import { CustomShippingOption } from './../models/custom-shipping-option'; +import { CustomShippingOption } from "./../models/custom-shipping-option" @EntityRepository(CustomShippingOption) +// eslint-disable-next-line max-len export class CustomShippingOptionRepository extends Repository {} diff --git a/packages/medusa/src/repositories/customer-group.ts b/packages/medusa/src/repositories/customer-group.ts index 3a7f7a356f..b7c5e6f438 100644 --- a/packages/medusa/src/repositories/customer-group.ts +++ b/packages/medusa/src/repositories/customer-group.ts @@ -23,7 +23,7 @@ export class CustomerGroupRepository extends Repository { return customerGroup as CustomerGroup } - + async removeCustomers( groupId: string, customerIds: string[] diff --git a/packages/medusa/src/repositories/discount-condition.ts b/packages/medusa/src/repositories/discount-condition.ts index b7d2f67912..caf4faa871 100644 --- a/packages/medusa/src/repositories/discount-condition.ts +++ b/packages/medusa/src/repositories/discount-condition.ts @@ -4,13 +4,13 @@ import { EntityTarget, In, Not, - Repository + Repository, } from "typeorm" import { Discount } from "../models" import { DiscountCondition, DiscountConditionOperator, - DiscountConditionType + DiscountConditionType, } from "../models/discount-condition" import { DiscountConditionCustomerGroup } from "../models/discount-condition-customer-group" import { DiscountConditionProduct } from "../models/discount-condition-product" @@ -282,7 +282,9 @@ export class DiscountConditionRepository extends Repository { .where("discon.discount_rule_id = :discountRuleId", { discountRuleId, }) - .andWhere("discon.type = :type", { type: DiscountConditionType.CUSTOMER_GROUPS }) + .andWhere("discon.type = :type", { + type: DiscountConditionType.CUSTOMER_GROUPS, + }) .getMany() // in case of no discount conditions, we assume that the discount diff --git a/packages/medusa/src/repositories/discount-rule.ts b/packages/medusa/src/repositories/discount-rule.ts index 036a074392..2acab73212 100644 --- a/packages/medusa/src/repositories/discount-rule.ts +++ b/packages/medusa/src/repositories/discount-rule.ts @@ -2,4 +2,4 @@ import { EntityRepository, Repository } from "typeorm" import { DiscountRule } from "../models/discount-rule" @EntityRepository(DiscountRule) -export class DiscountRuleRepository extends Repository { } +export class DiscountRuleRepository extends Repository {} diff --git a/packages/medusa/src/repositories/fulfillment-provider.ts b/packages/medusa/src/repositories/fulfillment-provider.ts index 728af36e8d..a65d8935a1 100644 --- a/packages/medusa/src/repositories/fulfillment-provider.ts +++ b/packages/medusa/src/repositories/fulfillment-provider.ts @@ -2,6 +2,5 @@ import { EntityRepository, Repository } from "typeorm" import { FulfillmentProvider } from "../models/fulfillment-provider" @EntityRepository(FulfillmentProvider) -export class FulfillmentProviderRepository extends Repository< - FulfillmentProvider -> {} +// eslint-disable-next-line max-len +export class FulfillmentProviderRepository extends Repository {} diff --git a/packages/medusa/src/repositories/gift-card-transaction.ts b/packages/medusa/src/repositories/gift-card-transaction.ts index eab3d7306c..3124ee58cb 100644 --- a/packages/medusa/src/repositories/gift-card-transaction.ts +++ b/packages/medusa/src/repositories/gift-card-transaction.ts @@ -2,6 +2,5 @@ import { EntityRepository, Repository } from "typeorm" import { GiftCardTransaction } from "../models/gift-card-transaction" @EntityRepository(GiftCardTransaction) -export class GiftCardTransactionRepository extends Repository< - GiftCardTransaction -> {} +// eslint-disable-next-line max-len +export class GiftCardTransactionRepository extends Repository {} diff --git a/packages/medusa/src/repositories/gift-card.ts b/packages/medusa/src/repositories/gift-card.ts index 48e2a6cafb..da6d6b3824 100644 --- a/packages/medusa/src/repositories/gift-card.ts +++ b/packages/medusa/src/repositories/gift-card.ts @@ -41,7 +41,7 @@ export class GiftCardRepository extends Repository { } const entitiesIdsWithRelations = await Promise.all( - Object.entries(groupedRelations).map(([_, rels]) => { + Object.entries(groupedRelations).map(async ([_, rels]) => { return this.findByIds(entitiesIds, { select: ["id"], relations: rels as string[], diff --git a/packages/medusa/src/repositories/line-item-adjustment.ts b/packages/medusa/src/repositories/line-item-adjustment.ts index 5e81fa3f91..2f73af275c 100644 --- a/packages/medusa/src/repositories/line-item-adjustment.ts +++ b/packages/medusa/src/repositories/line-item-adjustment.ts @@ -2,5 +2,5 @@ import { EntityRepository, Repository } from "typeorm" import { LineItemAdjustment } from "../models/line-item-adjustment" @EntityRepository(LineItemAdjustment) +// eslint-disable-next-line max-len export class LineItemAdjustmentRepository extends Repository {} - diff --git a/packages/medusa/src/repositories/notification-provider.ts b/packages/medusa/src/repositories/notification-provider.ts index b0f6b44d8c..9fb5df8f86 100644 --- a/packages/medusa/src/repositories/notification-provider.ts +++ b/packages/medusa/src/repositories/notification-provider.ts @@ -2,6 +2,5 @@ import { EntityRepository, Repository } from "typeorm" import { NotificationProvider } from "../models/notification-provider" @EntityRepository(NotificationProvider) -export class NotificationProviderRepository extends Repository< - NotificationProvider -> {} +// eslint-disable-next-line max-len +export class NotificationProviderRepository extends Repository {} diff --git a/packages/medusa/src/repositories/order.ts b/packages/medusa/src/repositories/order.ts index ee2da05a1a..8d703f4d5e 100644 --- a/packages/medusa/src/repositories/order.ts +++ b/packages/medusa/src/repositories/order.ts @@ -22,7 +22,7 @@ export class OrderRepository extends Repository { } const entitiesIdsWithRelations = await Promise.all( - Object.entries(groupedRelations).map(([_, rels]) => { + Object.entries(groupedRelations).map(async ([_, rels]) => { return this.findByIds(entitiesIds, { select: ["id"], relations: rels as string[], diff --git a/packages/medusa/src/repositories/payment.ts b/packages/medusa/src/repositories/payment.ts index dc74d3c685..642cf5fb03 100644 --- a/packages/medusa/src/repositories/payment.ts +++ b/packages/medusa/src/repositories/payment.ts @@ -2,4 +2,4 @@ import { EntityRepository, Repository } from "typeorm" import { Payment } from "../models/payment" @EntityRepository(Payment) -export class PaymentRepository extends Repository { } +export class PaymentRepository extends Repository {} diff --git a/packages/medusa/src/repositories/price-list.ts b/packages/medusa/src/repositories/price-list.ts index 0cbe7512fb..30d3b9d215 100644 --- a/packages/medusa/src/repositories/price-list.ts +++ b/packages/medusa/src/repositories/price-list.ts @@ -76,7 +76,7 @@ export class PriceListRepository extends Repository { } const entitiesIds = entities.map(({ id }) => id) const entitiesIdsWithRelations = await Promise.all( - Object.values(groupedRelations).map((relations: string[]) => { + Object.values(groupedRelations).map(async (relations: string[]) => { return this.findByIds(entitiesIds, { select: ["id"], relations: relations as string[], diff --git a/packages/medusa/src/repositories/product-collection.ts b/packages/medusa/src/repositories/product-collection.ts index 0c8df0deb4..19eb663d00 100644 --- a/packages/medusa/src/repositories/product-collection.ts +++ b/packages/medusa/src/repositories/product-collection.ts @@ -2,6 +2,5 @@ import { EntityRepository, Repository } from "typeorm" import { ProductCollection } from "../models/product-collection" @EntityRepository(ProductCollection) -export class ProductCollectionRepository extends Repository< - ProductCollection -> {} +// eslint-disable-next-line max-len +export class ProductCollectionRepository extends Repository {} diff --git a/packages/medusa/src/repositories/product-option-value.ts b/packages/medusa/src/repositories/product-option-value.ts index 8a5cb7e771..828436cfad 100644 --- a/packages/medusa/src/repositories/product-option-value.ts +++ b/packages/medusa/src/repositories/product-option-value.ts @@ -2,4 +2,5 @@ import { EntityRepository, Repository } from "typeorm" import { ProductOptionValue } from "../models/product-option-value" @EntityRepository(ProductOptionValue) -export class ProductOptionValueRepository extends Repository { } +// eslint-disable-next-line max-len +export class ProductOptionValueRepository extends Repository {} diff --git a/packages/medusa/src/repositories/product-option.ts b/packages/medusa/src/repositories/product-option.ts index 1edb3762d9..eef6f08088 100644 --- a/packages/medusa/src/repositories/product-option.ts +++ b/packages/medusa/src/repositories/product-option.ts @@ -2,4 +2,4 @@ import { EntityRepository, Repository } from "typeorm" import { ProductOption } from "../models/product-option" @EntityRepository(ProductOption) -export class ProductOptionRepository extends Repository { } +export class ProductOptionRepository extends Repository {} diff --git a/packages/medusa/src/repositories/product-variant.ts b/packages/medusa/src/repositories/product-variant.ts index c1109b4109..e865820074 100644 --- a/packages/medusa/src/repositories/product-variant.ts +++ b/packages/medusa/src/repositories/product-variant.ts @@ -81,8 +81,8 @@ export class ProductVariantRepository extends Repository { withDeleted = false ): Promise { const entitiesIdsWithRelations = await Promise.all( - Object.entries(groupedRelations).map(([toplevel, rels]) => { - let querybuilder = this.createQueryBuilder("pv").leftJoinAndSelect( + Object.entries(groupedRelations).map(async ([toplevel, rels]) => { + const querybuilder = this.createQueryBuilder("pv").leftJoinAndSelect( `pv.${toplevel}`, toplevel ) diff --git a/packages/medusa/src/repositories/product.ts b/packages/medusa/src/repositories/product.ts index fe5a64eda8..dee02702ad 100644 --- a/packages/medusa/src/repositories/product.ts +++ b/packages/medusa/src/repositories/product.ts @@ -6,10 +6,7 @@ import { In, Repository, } from "typeorm" -import { PriceList, - Product, - SalesChannel -} from "../models" +import { PriceList, Product, SalesChannel } from "../models" import { ExtendedFindConfig, Selector, @@ -143,7 +140,7 @@ export class ProductRepository extends Repository { select: (keyof Product)[] = [] ): Promise { const entitiesIdsWithRelations = await Promise.all( - Object.entries(groupedRelations).map(([toplevel, rels]) => { + Object.entries(groupedRelations).map(async ([toplevel, rels]) => { let querybuilder = this.createQueryBuilder("products") if (select && select.length) { diff --git a/packages/medusa/src/repositories/sales-channel.ts b/packages/medusa/src/repositories/sales-channel.ts index 3b77916c2e..788defe954 100644 --- a/packages/medusa/src/repositories/sales-channel.ts +++ b/packages/medusa/src/repositories/sales-channel.ts @@ -43,7 +43,7 @@ export class SalesChannelRepository extends Repository { } const entitiesIdsWithRelations = await Promise.all( - Object.entries(groupedRelations).map(([_, rels]) => { + Object.entries(groupedRelations).map(async ([_, rels]) => { return this.findByIds(entitiesIds, { select: ["id"], relations: rels as string[], diff --git a/packages/medusa/src/repositories/shipping-method-tax-line.ts b/packages/medusa/src/repositories/shipping-method-tax-line.ts index 087bcf283a..061eb0c9cd 100644 --- a/packages/medusa/src/repositories/shipping-method-tax-line.ts +++ b/packages/medusa/src/repositories/shipping-method-tax-line.ts @@ -3,6 +3,7 @@ import { ShippingMethodTaxLine } from "../models/shipping-method-tax-line" import { QueryDeepPartialEntity } from "typeorm/query-builder/QueryPartialEntity" @EntityRepository(ShippingMethodTaxLine) +// eslint-disable-next-line max-len export class ShippingMethodTaxLineRepository extends Repository { async upsertLines( lines: ShippingMethodTaxLine[] diff --git a/packages/medusa/src/repositories/shipping-option-requirement.ts b/packages/medusa/src/repositories/shipping-option-requirement.ts index 13c5c9a5f8..36f6f7ded8 100644 --- a/packages/medusa/src/repositories/shipping-option-requirement.ts +++ b/packages/medusa/src/repositories/shipping-option-requirement.ts @@ -2,4 +2,5 @@ import { EntityRepository, Repository } from "typeorm" import { ShippingOptionRequirement } from "../models/shipping-option-requirement" @EntityRepository(ShippingOptionRequirement) +// eslint-disable-next-line max-len export class ShippingOptionRequirementRepository extends Repository {} diff --git a/packages/medusa/src/repositories/swap.ts b/packages/medusa/src/repositories/swap.ts index bb0c03d97d..1431d625f3 100644 --- a/packages/medusa/src/repositories/swap.ts +++ b/packages/medusa/src/repositories/swap.ts @@ -22,7 +22,7 @@ export class SwapRepository extends Repository { } const entitiesIdsWithRelations = await Promise.all( - Object.entries(groupedRelations).map(([_, rels]) => { + Object.entries(groupedRelations).map(async ([_, rels]) => { return this.findByIds(entitiesIds, { select: ["id"], relations: rels as string[], diff --git a/packages/medusa/src/repositories/tax-rate.ts b/packages/medusa/src/repositories/tax-rate.ts index c70406a8db..bd78337685 100644 --- a/packages/medusa/src/repositories/tax-rate.ts +++ b/packages/medusa/src/repositories/tax-rate.ts @@ -27,12 +27,12 @@ const resolveableFields = [ @EntityRepository(TaxRate) export class TaxRateRepository extends Repository { getFindQueryBuilder(findOptions: FindManyOptions) { - let qb = this.createQueryBuilder("tr") + const qb = this.createQueryBuilder("tr") const cleanOptions = findOptions const resolverFields: string[] = [] if (isDefined(findOptions.select)) { - let selectableCols: (keyof TaxRate)[] = [] + const selectableCols: (keyof TaxRate)[] = [] for (const k of findOptions.select) { if (!resolveableFields.includes(k)) { selectableCols.push(k) @@ -116,7 +116,7 @@ export class TaxRateRepository extends Repository { async addToProduct( id: string, productIds: string[], - overrideExisting: boolean = false + overrideExisting = false ): Promise { const toInsert = productIds.map((pId) => ({ rate_id: id, product_id: pId })) const insertResult = await this.createQueryBuilder() @@ -155,7 +155,7 @@ export class TaxRateRepository extends Repository { async addToProductType( id: string, productTypeIds: string[], - overrideExisting: boolean = false + overrideExisting = false ): Promise { const toInsert = productTypeIds.map((pId) => ({ rate_id: id, @@ -197,7 +197,7 @@ export class TaxRateRepository extends Repository { async addToShippingOption( id: string, optionIds: string[], - overrideExisting: boolean = false + overrideExisting = false ): Promise { const toInsert = optionIds.map((pId) => ({ rate_id: id, @@ -226,12 +226,12 @@ export class TaxRateRepository extends Repository { } async listByProduct(productId: string, config: TaxRateListByConfig) { - let productRates = this.createQueryBuilder("txr") + const productRates = this.createQueryBuilder("txr") .leftJoin(ProductTaxRate, "ptr", "ptr.rate_id = txr.id") .leftJoin(Product, "prod", "prod.id = ptr.product_id") .where("prod.id = :productId", { productId }) - let typeRates = this.createQueryBuilder("txr") + const typeRates = this.createQueryBuilder("txr") .leftJoin(ProductTypeTaxRate, "pttr", "pttr.rate_id = txr.id") .leftJoin(Product, "prod", "prod.type_id = pttr.product_type_id") .where("prod.id = :productId", { productId }) @@ -256,7 +256,7 @@ export class TaxRateRepository extends Repository { } async listByShippingOption(optionId: string) { - let rates = this.createQueryBuilder("txr") + const rates = this.createQueryBuilder("txr") .leftJoin(ShippingTaxRate, "ptr", "ptr.rate_id = txr.id") .where("ptr.shipping_option_id = :optionId", { optionId }) diff --git a/packages/medusa/src/services/__tests__/note.js b/packages/medusa/src/services/__tests__/note.js index e2b9af4697..ee002fd9ab 100644 --- a/packages/medusa/src/services/__tests__/note.js +++ b/packages/medusa/src/services/__tests__/note.js @@ -5,7 +5,7 @@ import { EventBusServiceMock } from "../__mocks__/event-bus" describe("NoteService", () => { describe("list", () => { const noteRepo = MockRepository({ - find: q => { + find: (q) => { return Promise.resolve([ { id: IdMap.getId("note"), value: "some note" }, ]) @@ -40,7 +40,7 @@ describe("NoteService", () => { describe("retrieve", () => { const noteRepo = MockRepository({ - findOne: q => { + findOne: (q) => { switch (q.where.id) { case IdMap.getId("note"): return Promise.resolve({ @@ -88,8 +88,8 @@ describe("NoteService", () => { } const noteRepo = MockRepository({ - create: f => Promise.resolve(note), - save: f => Promise.resolve(note), + create: (f) => note, + save: (f) => Promise.resolve(note), }) const noteService = new NoteService({ @@ -137,8 +137,8 @@ describe("NoteService", () => { const note = { id: IdMap.getId("note") } const noteRepo = MockRepository({ - findOne: f => Promise.resolve(note), - save: f => Promise.resolve(note), + findOne: (f) => Promise.resolve(note), + save: (f) => Promise.resolve(note), }) const noteService = new NoteService({ @@ -172,8 +172,8 @@ describe("NoteService", () => { const note = { id: IdMap.getId("note") } const noteRepo = MockRepository({ - softRemove: f => Promise.resolve(), - findOne: f => Promise.resolve(note), + softRemove: (f) => Promise.resolve(), + findOne: (f) => Promise.resolve(note), }) const noteService = new NoteService({ diff --git a/packages/medusa/src/services/__tests__/product.js b/packages/medusa/src/services/__tests__/product.js index c4777f6fac..79d52bee29 100644 --- a/packages/medusa/src/services/__tests__/product.js +++ b/packages/medusa/src/services/__tests__/product.js @@ -1,10 +1,10 @@ import { IdMap, MockRepository, MockManager } from "medusa-test-utils" import ProductService from "../product" -import { FlagRouter } from "../../utils/flag-router"; +import { FlagRouter } from "../../utils/flag-router" const eventBusService = { emit: jest.fn(), - withTransaction: function() { + withTransaction: function () { return this }, } @@ -110,7 +110,7 @@ describe("ProductService", () => { productTypeRepository.upsertType = mockUpsertType const productCollectionService = { - withTransaction: function() { + withTransaction: function () { return this }, retrieve: (id) => @@ -250,7 +250,7 @@ describe("ProductService", () => { const productVariantRepository = MockRepository() const productVariantService = { - withTransaction: function() { + withTransaction: function () { return this }, update: (variant, update) => { @@ -491,15 +491,14 @@ describe("ProductService", () => { }) const productVariantService = { - withTransaction: function() { + withTransaction: function () { return this }, addOptionValue: jest.fn(), } const productOptionRepository = MockRepository({ - create: () => - Promise.resolve({ id: IdMap.getId("Material"), title: "Material" }), + create: () => ({ id: IdMap.getId("Material"), title: "Material" }), }) const productService = new ProductService({ diff --git a/packages/medusa/src/services/cart.ts b/packages/medusa/src/services/cart.ts index 1b9769a04b..4097375ce4 100644 --- a/packages/medusa/src/services/cart.ts +++ b/packages/medusa/src/services/cart.ts @@ -2092,8 +2092,7 @@ class CartService extends TransactionBaseService { } const updatedCart = await cartRepo.save(cart) - - this.eventBus_ + await this.eventBus_ .withTransaction(transactionManager) .emit(CartService.Events.UPDATED, updatedCart) diff --git a/packages/medusa/src/services/claim.ts b/packages/medusa/src/services/claim.ts index 9d2c24701d..c9ac9b7f84 100644 --- a/packages/medusa/src/services/claim.ts +++ b/packages/medusa/src/services/claim.ts @@ -345,7 +345,7 @@ export default class ClaimService extends TransactionBaseService { } newItems = await Promise.all( - additional_items.map((i) => + additional_items.map(async (i) => lineItemServiceTx.generate( i.variant_id, order.region_id, diff --git a/packages/medusa/src/services/csv-parser.ts b/packages/medusa/src/services/csv-parser.ts index 38f5bc42fe..bfc184e388 100644 --- a/packages/medusa/src/services/csv-parser.ts +++ b/packages/medusa/src/services/csv-parser.ts @@ -150,13 +150,13 @@ class CsvParser< return columnMap[tupleKey] } - const matchedColumn = this.$$schema.columns.find((column) => - "match" in column && - typeof column.match === "object" && - column.match instanceof RegExp + const matchedColumn = this.$$schema.columns.find((column) => { + return "match" in column && + typeof column.match === "object" && + column.match instanceof RegExp ? column.match.test(tupleKey) : false - ) + }) return matchedColumn } diff --git a/packages/medusa/src/services/custom-shipping-option.ts b/packages/medusa/src/services/custom-shipping-option.ts index 29f7b7860a..84dd2efeb8 100644 --- a/packages/medusa/src/services/custom-shipping-option.ts +++ b/packages/medusa/src/services/custom-shipping-option.ts @@ -14,6 +14,7 @@ type InjectedDependencies = { class CustomShippingOptionService extends TransactionBaseService { protected manager_: EntityManager protected transactionManager_: EntityManager | undefined + // eslint-disable-next-line max-len protected customShippingOptionRepository_: typeof CustomShippingOptionRepository constructor({ diff --git a/packages/medusa/src/services/customer-group.ts b/packages/medusa/src/services/customer-group.ts index a094eeb4a7..2241038bc0 100644 --- a/packages/medusa/src/services/customer-group.ts +++ b/packages/medusa/src/services/customer-group.ts @@ -9,8 +9,7 @@ import { CustomerGroupUpdate, FilterableCustomerGroupProps, } from "../types/customer-groups" -import { isDefined } from "../utils" -import { formatException } from "../utils/exception-formatter" +import { isDefined, formatException, PostgresError } from "../utils" type CustomerGroupConstructorProps = { manager: EntityManager @@ -97,7 +96,7 @@ class CustomerGroupService extends BaseService { return result } catch (err) { - if (err.code === "23505") { + if (err.code === PostgresError.DUPLICATE_ERROR) { throw new MedusaError(MedusaError.Types.DUPLICATE_ERROR, err.detail) } throw err @@ -130,7 +129,7 @@ class CustomerGroupService extends BaseService { return await cgRepo.addCustomers(id, ids) }, async (error) => { - if (error.code === "23503") { + if (error.code === PostgresError.FOREIGN_KEY_ERROR) { await this.retrieve(id) const existingCustomers = await this.customerService_.list({ diff --git a/packages/medusa/src/services/customer.ts b/packages/medusa/src/services/customer.ts index fc5c1b6b7d..90eb54e7fe 100644 --- a/packages/medusa/src/services/customer.ts +++ b/packages/medusa/src/services/customer.ts @@ -86,7 +86,7 @@ class CustomerService extends TransactionBaseService { const payload = { customer_id: customer.id, exp: expiry } const token = jwt.sign(payload, secret) // Notify subscribers - this.eventBusService_ + void this.eventBusService_ .withTransaction(manager) .emit(CustomerService.Events.PASSWORD_RESET, { id: customerId, @@ -488,7 +488,7 @@ class CustomerService extends TransactionBaseService { ) if (shouldAdd) { - const created = await addressRepository.create({ + const created = addressRepository.create({ ...address, customer_id: customerId, }) diff --git a/packages/medusa/src/services/discount-condition.ts b/packages/medusa/src/services/discount-condition.ts index fffbe8a4fe..fd7a6b30b7 100644 --- a/packages/medusa/src/services/discount-condition.ts +++ b/packages/medusa/src/services/discount-condition.ts @@ -13,9 +13,8 @@ import { import { DiscountConditionRepository } from "../repositories/discount-condition" import { FindConfig } from "../types/common" import { UpsertDiscountConditionInput } from "../types/discount" -import { PostgresError } from "../utils/exception-formatter" import { TransactionBaseService } from "../interfaces" -import { buildQuery } from "../utils" +import { buildQuery, PostgresError } from "../utils" type InjectedDependencies = { manager: EntityManager @@ -28,6 +27,7 @@ type InjectedDependencies = { * @implements {BaseService} */ class DiscountConditionService extends TransactionBaseService { + // eslint-disable-next-line max-len protected readonly discountConditionRepository_: typeof DiscountConditionRepository protected readonly eventBus_: EventBusService diff --git a/packages/medusa/src/services/discount.ts b/packages/medusa/src/services/discount.ts index 8535a36654..3c0cfca7e7 100644 --- a/packages/medusa/src/services/discount.ts +++ b/packages/medusa/src/services/discount.ts @@ -6,13 +6,13 @@ import { DeepPartial, EntityManager, ILike, - SelectQueryBuilder + SelectQueryBuilder, } from "typeorm" import { EventBusService, ProductService, RegionService, - TotalsService + TotalsService, } from "." import { TransactionBaseService } from "../interfaces" import TaxInclusivePricingFeatureFlag from "../loaders/feature-flags/tax-inclusive-pricing" @@ -20,7 +20,7 @@ import { Cart, Discount, LineItem, Region } from "../models" import { AllocationType as DiscountAllocation, DiscountRule, - DiscountRuleType + DiscountRuleType, } from "../models/discount-rule" import { DiscountRepository } from "../repositories/discount" import { DiscountConditionRepository } from "../repositories/discount-condition" @@ -33,7 +33,7 @@ import { CreateDynamicDiscountInput, FilterableDiscountProps, UpdateDiscountInput, - UpdateDiscountRuleInput + UpdateDiscountRuleInput, } from "../types/discount" import { buildQuery, setMetadata } from "../utils" import { isFuture, isPast } from "../utils/date-helpers" @@ -54,6 +54,7 @@ class DiscountService extends TransactionBaseService { protected readonly customerService_: CustomerService protected readonly discountRuleRepository_: typeof DiscountRuleRepository protected readonly giftCardRepository_: typeof GiftCardRepository + // eslint-disable-next-line max-len protected readonly discountConditionRepository_: typeof DiscountConditionRepository protected readonly discountConditionService_: DiscountConditionService protected readonly totalsService_: TotalsService @@ -202,7 +203,7 @@ class DiscountService extends TransactionBaseService { try { if (discount.regions) { discount.regions = (await Promise.all( - discount.regions.map((regionId) => + discount.regions.map(async (regionId) => this.regionService_.withTransaction(manager).retrieve(regionId) ) )) as Region[] @@ -355,12 +356,14 @@ class DiscountService extends TransactionBaseService { if (regions) { discount.regions = await Promise.all( - regions.map((regionId) => this.regionService_.retrieve(regionId)) + regions.map(async (regionId) => + this.regionService_.retrieve(regionId) + ) ) } if (metadata) { - discount.metadata = await setMetadata(discount, metadata) + discount.metadata = setMetadata(discount, metadata) } if (rule) { diff --git a/packages/medusa/src/services/event-bus.ts b/packages/medusa/src/services/event-bus.ts index 40c405f0f3..eaf94ae91d 100644 --- a/packages/medusa/src/services/event-bus.ts +++ b/packages/medusa/src/services/event-bus.ts @@ -261,7 +261,7 @@ export default class EventBusService { ) return await Promise.all( - observers.map((subscriber) => { + observers.map(async (subscriber) => { return subscriber(data, eventName).catch((err) => { this.logger_.warn( `An error occurred while processing ${eventName}: ${err}` @@ -286,7 +286,7 @@ export default class EventBusService { this.logger_.info(`Processing cron job: ${eventName}`) return await Promise.all( - observers.map((subscriber) => { + observers.map(async (subscriber) => { return subscriber(data, eventName).catch((err) => { this.logger_.warn( `An error occured while processing ${eventName}: ${err}` diff --git a/packages/medusa/src/services/file.ts b/packages/medusa/src/services/file.ts index 28f7309e23..8ec29c648a 100644 --- a/packages/medusa/src/services/file.ts +++ b/packages/medusa/src/services/file.ts @@ -9,19 +9,21 @@ import { } from "../interfaces" class DefaultFileService extends AbstractFileService { - upload(fileData: Express.Multer.File): Promise { + async upload( + fileData: Express.Multer.File + ): Promise { throw new MedusaError( MedusaError.Types.UNEXPECTED_STATE, "Please add a file service plugin in order to manipulate files in Medusa" ) } - delete(fileData: Record): Promise { + async delete(fileData: Record): Promise { throw new MedusaError( MedusaError.Types.UNEXPECTED_STATE, "Please add a file service plugin in order to manipulate files in Medusa" ) } - getUploadStreamDescriptor( + async getUploadStreamDescriptor( fileData: UploadStreamDescriptorType ): Promise { throw new MedusaError( @@ -29,7 +31,7 @@ class DefaultFileService extends AbstractFileService { "Please add a file service plugin in order to manipulate files in Medusa" ) } - getDownloadStream( + async getDownloadStream( fileData: GetUploadedFileType ): Promise { throw new MedusaError( @@ -37,7 +39,9 @@ class DefaultFileService extends AbstractFileService { "Please add a file service plugin in order to manipulate files in Medusa" ) } - getPresignedDownloadUrl(fileData: GetUploadedFileType): Promise { + async getPresignedDownloadUrl( + fileData: GetUploadedFileType + ): Promise { throw new MedusaError( MedusaError.Types.UNEXPECTED_STATE, "Please add a file service plugin in order to manipulate files in Medusa" diff --git a/packages/medusa/src/services/fulfillment-provider.ts b/packages/medusa/src/services/fulfillment-provider.ts index e58181d921..6960a510d8 100644 --- a/packages/medusa/src/services/fulfillment-provider.ts +++ b/packages/medusa/src/services/fulfillment-provider.ts @@ -1,5 +1,5 @@ import { MedusaError } from "medusa-core-utils" -import BaseFulfillmentService from "medusa-interfaces/dist/fulfillment-service" +import BaseFulfillmentService from "medusa-interfaces" import { EntityManager } from "typeorm" import { TransactionBaseService } from "../interfaces" import { @@ -26,7 +26,7 @@ type FulfillmentProviderContainer = MedusaContainer & { fulfillmentProviderRepository: typeof FulfillmentProviderRepository manager: EntityManager } & { - [key in `${FulfillmentProviderKey}`]: BaseFulfillmentService + [key in `${FulfillmentProviderKey}`]: typeof BaseFulfillmentService } /** @@ -37,7 +37,7 @@ class FulfillmentProviderService extends TransactionBaseService { protected transactionManager_: EntityManager | undefined protected readonly container_: FulfillmentProviderContainer - + // eslint-disable-next-line max-len protected readonly fulfillmentProviderRepository_: typeof FulfillmentProviderRepository constructor(container: FulfillmentProviderContainer) { @@ -77,14 +77,13 @@ class FulfillmentProviderService extends TransactionBaseService { ): Promise { return await Promise.all( providerIds.map(async (p) => { - const provider = await this.retrieveProvider(p) + const provider = this.retrieveProvider(p) return { provider_id: p, - options: - (await provider.getFulfillmentOptions()) as unknown as Record< - string, - unknown - >[], + options: (await provider.getFulfillmentOptions()) as Record< + string, + unknown + >[], } }) ) @@ -94,7 +93,7 @@ class FulfillmentProviderService extends TransactionBaseService { * @param providerId - the provider id * @return the payment fulfillment provider */ - retrieveProvider(providerId: string): BaseFulfillmentService { + retrieveProvider(providerId: string): typeof BaseFulfillmentService { try { return this.container_[`fp_${providerId}`] } catch (err) { diff --git a/packages/medusa/src/services/gift-card.ts b/packages/medusa/src/services/gift-card.ts index d2c626bf59..990fe58416 100644 --- a/packages/medusa/src/services/gift-card.ts +++ b/packages/medusa/src/services/gift-card.ts @@ -32,6 +32,7 @@ type InjectedDependencies = { */ class GiftCardService extends TransactionBaseService { protected readonly giftCardRepository_: typeof GiftCardRepository + // eslint-disable-next-line max-len protected readonly giftCardTransactionRepo_: typeof GiftCardTransactionRepository protected readonly regionService_: RegionService protected readonly eventBus_: EventBusService diff --git a/packages/medusa/src/services/invite.ts b/packages/medusa/src/services/invite.ts index 3ec9023a54..58e3fd333e 100644 --- a/packages/medusa/src/services/invite.ts +++ b/packages/medusa/src/services/invite.ts @@ -144,7 +144,7 @@ class InviteService extends BaseService { invite = await inviteRepository.save(invite) } else if (!invite) { // if no invite is found, create a new one - const created = await inviteRepository.create({ + const created = inviteRepository.create({ role, token: "", user_email: user, diff --git a/packages/medusa/src/services/line-item-adjustment.ts b/packages/medusa/src/services/line-item-adjustment.ts index 3514ab7125..bf1fd99b1c 100644 --- a/packages/medusa/src/services/line-item-adjustment.ts +++ b/packages/medusa/src/services/line-item-adjustment.ts @@ -73,9 +73,8 @@ class LineItemAdjustmentService extends BaseService { id: string, config: FindConfig = {} ): Promise { - const lineItemAdjustmentRepo: LineItemAdjustmentRepository = this.manager_.getCustomRepository( - this.lineItemAdjustmentRepo_ - ) + const lineItemAdjustmentRepo: LineItemAdjustmentRepository = + this.manager_.getCustomRepository(this.lineItemAdjustmentRepo_) const query = this.buildQuery_({ id }, config) const lineItemAdjustment = await lineItemAdjustmentRepo.findOne(query) @@ -97,9 +96,8 @@ class LineItemAdjustmentService extends BaseService { */ async create(data: Partial): Promise { return await this.atomicPhase_(async (manager: EntityManager) => { - const lineItemAdjustmentRepo: LineItemAdjustmentRepository = manager.getCustomRepository( - this.lineItemAdjustmentRepo_ - ) + const lineItemAdjustmentRepo: LineItemAdjustmentRepository = + manager.getCustomRepository(this.lineItemAdjustmentRepo_) const lineItemAdjustment = lineItemAdjustmentRepo.create(data) @@ -118,9 +116,8 @@ class LineItemAdjustmentService extends BaseService { data: Partial ): Promise { return await this.atomicPhase_(async (manager: EntityManager) => { - const lineItemAdjustmentRepo: LineItemAdjustmentRepository = manager.getCustomRepository( - this.lineItemAdjustmentRepo_ - ) + const lineItemAdjustmentRepo: LineItemAdjustmentRepository = + manager.getCustomRepository(this.lineItemAdjustmentRepo_) const lineItemAdjustment = await this.retrieve(id) @@ -169,9 +166,8 @@ class LineItemAdjustmentService extends BaseService { selectorOrId: string | FilterableLineItemAdjustmentProps ): Promise { return this.atomicPhase_(async (manager) => { - const lineItemAdjustmentRepo: LineItemAdjustmentRepository = manager.getCustomRepository( - this.lineItemAdjustmentRepo_ - ) + const lineItemAdjustmentRepo: LineItemAdjustmentRepository = + manager.getCustomRepository(this.lineItemAdjustmentRepo_) if (typeof selectorOrId === "string") { return await this.delete({ id: selectorOrId }) @@ -302,7 +298,7 @@ class LineItemAdjustmentService extends BaseService { } return await Promise.all( - cart.items.map((li) => this.createAdjustmentForLineItem(cart, li)) + cart.items.map(async (li) => this.createAdjustmentForLineItem(cart, li)) ) } } diff --git a/packages/medusa/src/services/note.ts b/packages/medusa/src/services/note.ts index fffc0f19c6..4ea9ebabe6 100644 --- a/packages/medusa/src/services/note.ts +++ b/packages/medusa/src/services/note.ts @@ -112,7 +112,7 @@ class NoteService extends TransactionBaseService { metadata, } - const note = await noteRepo.create(toCreate) + const note = noteRepo.create(toCreate) const result = await noteRepo.save(note) await this.eventBus_ diff --git a/packages/medusa/src/services/notification.ts b/packages/medusa/src/services/notification.ts index cc14f7784f..f5ce8d3716 100644 --- a/packages/medusa/src/services/notification.ts +++ b/packages/medusa/src/services/notification.ts @@ -30,6 +30,7 @@ class NotificationService extends TransactionBaseService { } protected readonly logger_: Logger protected readonly notificationRepository_: typeof NotificationRepository + // eslint-disable-next-line max-len protected readonly notificationProviderRepository_: typeof NotificationProviderRepository constructor(container: InjectedDependencies) { @@ -170,7 +171,7 @@ class NotificationService extends TransactionBaseService { * @param data - the data the event was sent with * @return the result of notification subscribed */ - handleEvent( + async handleEvent( eventName: string, data: Record ): Promise { diff --git a/packages/medusa/src/services/order.ts b/packages/medusa/src/services/order.ts index c3a5f2cf51..edea864cf8 100644 --- a/packages/medusa/src/services/order.ts +++ b/packages/medusa/src/services/order.ts @@ -777,7 +777,7 @@ class OrderService extends TransactionBaseService { await addrRepo.save({ ...addr, ...address }) } else { - const created = await addrRepo.create({ ...address }) + const created = addrRepo.create({ ...address }) await addrRepo.save(created) } } @@ -1071,8 +1071,8 @@ class OrderService extends TransactionBaseService { if (p.captured_at === null) { const result = await paymentProviderServiceTx .capturePayment(p) - .catch((err) => { - this.eventBus_ + .catch(async (err) => { + await this.eventBus_ .withTransaction(manager) .emit(OrderService.Events.PAYMENT_CAPTURE_FAILED, { id: orderId, @@ -1100,7 +1100,7 @@ class OrderService extends TransactionBaseService { const result = await orderRepo.save(order) if (order.payment_status === PaymentStatus.CAPTURED) { - this.eventBus_ + await this.eventBus_ .withTransaction(manager) .emit(OrderService.Events.PAYMENT_CAPTURED, { id: result.id, @@ -1412,7 +1412,7 @@ class OrderService extends TransactionBaseService { const evaluatedNoNotification = no_notification !== undefined ? no_notification : order.no_notification - this.eventBus_.emit(OrderService.Events.REFUND_CREATED, { + await this.eventBus_.emit(OrderService.Events.REFUND_CREATED, { id: result.id, refund_id: refund.id, no_notification: evaluatedNoNotification, @@ -1574,7 +1574,7 @@ class OrderService extends TransactionBaseService { if (refundAmount > order.refundable_amount) { order.fulfillment_status = FulfillmentStatus.REQUIRES_ACTION const result = await orderRepo.save(order) - this.eventBus_ + await this.eventBus_ .withTransaction(manager) .emit(OrderService.Events.RETURN_ACTION_REQUIRED, { id: result.id, diff --git a/packages/medusa/src/services/payment-provider.ts b/packages/medusa/src/services/payment-provider.ts index 075e1f748b..106897ae65 100644 --- a/packages/medusa/src/services/payment-provider.ts +++ b/packages/medusa/src/services/payment-provider.ts @@ -38,6 +38,7 @@ export default class PaymentProviderService extends TransactionBaseService { protected transactionManager_: EntityManager | undefined protected readonly container_: InjectedDependencies protected readonly paymentSessionRepository_: typeof PaymentSessionRepository + // eslint-disable-next-line max-len protected readonly paymentProviderRepository_: typeof PaymentProviderRepository protected readonly paymentRepository_: typeof PaymentRepository protected readonly refundRepository_: typeof RefundRepository diff --git a/packages/medusa/src/services/product-collection.ts b/packages/medusa/src/services/product-collection.ts index 51a0422e61..78646844ee 100644 --- a/packages/medusa/src/services/product-collection.ts +++ b/packages/medusa/src/services/product-collection.ts @@ -28,7 +28,7 @@ class ProductCollectionService extends TransactionBaseService { protected transactionManager_: EntityManager | undefined protected readonly eventBus_: EventBusService - + // eslint-disable-next-line max-len protected readonly productCollectionRepository_: typeof ProductCollectionRepository protected readonly productRepository_: typeof ProductRepository @@ -119,7 +119,7 @@ class ProductCollectionService extends TransactionBaseService { ) try { - const productCollection = await collectionRepo.create(collection) + const productCollection = collectionRepo.create(collection) return await collectionRepo.save(productCollection) } catch (error) { throw formatException(error) diff --git a/packages/medusa/src/services/product.ts b/packages/medusa/src/services/product.ts index e6249fa59b..fbe513dd2b 100644 --- a/packages/medusa/src/services/product.ts +++ b/packages/medusa/src/services/product.ts @@ -649,7 +649,7 @@ class ProductService extends TransactionBaseService { ) } - const option = await productOptionRepo.create({ + const option = productOptionRepo.create({ title: optionTitle, product_id: productId, }) diff --git a/packages/medusa/src/services/region.ts b/packages/medusa/src/services/region.ts index 18b4f932e8..29d6768881 100644 --- a/packages/medusa/src/services/region.ts +++ b/packages/medusa/src/services/region.ts @@ -59,7 +59,9 @@ class RegionService extends TransactionBaseService { protected readonly regionRepository_: typeof RegionRepository protected readonly countryRepository_: typeof CountryRepository protected readonly currencyRepository_: typeof CurrencyRepository + // eslint-disable-next-line max-len protected readonly paymentProviderRepository_: typeof PaymentProviderRepository + // eslint-disable-next-line max-len protected readonly fulfillmentProviderRepository_: typeof FulfillmentProviderRepository protected readonly taxProviderRepository_: typeof TaxProviderRepository @@ -281,7 +283,7 @@ class RegionService extends TransactionBaseService { if (regionData.countries) { region.countries = await Promise.all( - regionData.countries!.map((countryCode) => + regionData.countries!.map(async (countryCode) => this.validateCountry(countryCode, id!) ) ).catch((err) => { diff --git a/packages/medusa/src/services/return.ts b/packages/medusa/src/services/return.ts index 40f79460de..4477aac256 100644 --- a/packages/medusa/src/services/return.ts +++ b/packages/medusa/src/services/return.ts @@ -151,7 +151,7 @@ class ReturnService extends TransactionBaseService { * @param config - the config object for find * @return the result of the find operation */ - list( + async list( selector: Selector, config: FindConfig = { skip: 0, @@ -453,7 +453,7 @@ class ReturnService extends TransactionBaseService { }) ) - const created = (await returnRepository.create(returnObject)) as Return + const created = returnRepository.create(returnObject) const result = await returnRepository.save(created) if (method && method.option_id) { diff --git a/packages/medusa/src/services/search.ts b/packages/medusa/src/services/search.ts index d718d72128..da50436cbf 100644 --- a/packages/medusa/src/services/search.ts +++ b/packages/medusa/src/services/search.ts @@ -28,54 +28,65 @@ export default class DefaultSearchService extends AbstractSearchService { this.manager_ = manager } - createIndex(indexName: string, options: unknown): void { + async createIndex(indexName: string, options: unknown): Promise { this.logger_.warn( "This is an empty method: createIndex must be overridden by a child class" ) } - getIndex(indexName: string): void { + async getIndex(indexName: string): Promise { this.logger_.warn( "This is an empty method: getIndex must be overridden by a child class" ) } - addDocuments(indexName: string, documents: unknown, type: string): void { + async addDocuments( + indexName: string, + documents: unknown, + type: string + ): Promise { this.logger_.warn( "This is an empty method: addDocuments must be overridden by a child class" ) } - replaceDocuments(indexName: string, documents: unknown, type: string): void { + async replaceDocuments( + indexName: string, + documents: unknown, + type: string + ): Promise { this.logger_.warn( "This is an empty method: replaceDocuments must be overridden by a child class" ) } - deleteDocument(indexName: string, document_id: string | number): void { + async deleteDocument( + indexName: string, + document_id: string | number + ): Promise { this.logger_.warn( "This is an empty method: deleteDocument must be overridden by a child class" ) } - deleteAllDocuments(indexName: string): void { + async deleteAllDocuments(indexName: string): Promise { this.logger_.warn( "This is an empty method: deleteAllDocuments must be overridden by a child class" ) } - search( + async search( indexName: string, query: unknown, options: unknown - ): { hits: unknown[] } { + ): Promise<{ hits: unknown[] }> { this.logger_.warn( "This is an empty method: search must be overridden a the child class" ) return { hits: [] } } - updateSettings(indexName: string, settings: unknown): void { + async updateSettings(indexName: string, settings: unknown): Promise { this.logger_.warn( "This is an empty method: updateSettings must be overridden by a child class" ) diff --git a/packages/medusa/src/services/shipping-option.ts b/packages/medusa/src/services/shipping-option.ts index 0cdcbd3280..fe20b257ee 100644 --- a/packages/medusa/src/services/shipping-option.ts +++ b/packages/medusa/src/services/shipping-option.ts @@ -29,6 +29,7 @@ type InjectedDependencies = { manager: EntityManager fulfillmentProviderService: FulfillmentProviderService regionService: RegionService + // eslint-disable-next-line max-len shippingOptionRequirementRepository: typeof ShippingOptionRequirementRepository shippingOptionRepository: typeof ShippingOptionRepository shippingMethodRepository: typeof ShippingMethodRepository @@ -41,6 +42,7 @@ type InjectedDependencies = { class ShippingOptionService extends TransactionBaseService { protected readonly providerService_: FulfillmentProviderService protected readonly regionService_: RegionService + // eslint-disable-next-line max-len protected readonly requirementRepository_: typeof ShippingOptionRequirementRepository protected readonly optionRepository_: typeof ShippingOptionRepository protected readonly methodRepository_: typeof ShippingMethodRepository @@ -334,7 +336,7 @@ class ShippingOptionService extends TransactionBaseService { toCreate.claim_order_id = config.claim_order_id } - const method = await methodRepo.create(toCreate) + const method = methodRepo.create(toCreate) const created = await methodRepo.save(method) @@ -405,9 +407,7 @@ class ShippingOptionService extends TransactionBaseService { async create(data: CreateShippingOptionInput): Promise { return this.atomicPhase_(async (manager) => { const optionRepo = manager.getCustomRepository(this.optionRepository_) - const option = await optionRepo.create( - data as DeepPartial - ) + const option = optionRepo.create(data as DeepPartial) const region = await this.regionService_ .withTransaction(manager) @@ -536,7 +536,7 @@ class ShippingOptionService extends TransactionBaseService { }) if (isDefined(update.metadata)) { - option.metadata = await setMetadata(option, update.metadata) + option.metadata = setMetadata(option, update.metadata) } if (update.region_id || update.provider_id || update.data) { diff --git a/packages/medusa/src/services/shipping-profile.ts b/packages/medusa/src/services/shipping-profile.ts index 2eb599207f..d22ad02dc8 100644 --- a/packages/medusa/src/services/shipping-profile.ts +++ b/packages/medusa/src/services/shipping-profile.ts @@ -36,6 +36,7 @@ class ShippingProfileService extends TransactionBaseService { protected readonly productService_: ProductService protected readonly shippingOptionService_: ShippingOptionService protected readonly customShippingOptionService_: CustomShippingOptionService + // eslint-disable-next-line max-len protected readonly shippingProfileRepository_: typeof ShippingProfileRepository protected readonly productRepository_: typeof ProductRepository @@ -188,7 +189,7 @@ class ShippingProfileService extends TransactionBaseService { name: "Default Shipping Profile", } - const created = await profileRepository.create(toCreate) + const created = profileRepository.create(toCreate) profile = await profileRepository.save(created) } @@ -227,7 +228,7 @@ class ShippingProfileService extends TransactionBaseService { this.shippingProfileRepository_ ) - const created = await profileRepository.create({ + const created = profileRepository.create({ type: ShippingProfileType.GIFT_CARD, name: "Gift Card Profile", }) diff --git a/packages/medusa/src/services/store.ts b/packages/medusa/src/services/store.ts index 9a15b39dde..830c00b795 100644 --- a/packages/medusa/src/services/store.ts +++ b/packages/medusa/src/services/store.ts @@ -67,7 +67,7 @@ class StoreService extends TransactionBaseService { return store } - const newStore = await storeRepository.create() + const newStore = storeRepository.create() // Add default currency (USD) to store currencies const usd = await currencyRepository.findOne({ code: "usd", diff --git a/packages/medusa/src/services/swap.ts b/packages/medusa/src/services/swap.ts index cce42958fb..8a51d26497 100644 --- a/packages/medusa/src/services/swap.ts +++ b/packages/medusa/src/services/swap.ts @@ -349,7 +349,7 @@ class SwapService extends TransactionBaseService { if (additionalItems) { newItems = await Promise.all( - additionalItems.map(({ variant_id, quantity }) => { + additionalItems.map(async ({ variant_id, quantity }) => { return this.lineItemService_ .withTransaction(manager) .generate(variant_id, order.region_id, quantity) diff --git a/packages/medusa/src/services/tax-rate.ts b/packages/medusa/src/services/tax-rate.ts index c0aed1d12d..b2cfcc6d29 100644 --- a/packages/medusa/src/services/tax-rate.ts +++ b/packages/medusa/src/services/tax-rate.ts @@ -16,7 +16,7 @@ import { TaxRateListByConfig, UpdateTaxRateInput, } from "../types/tax-rate" -import { isDefined } from "../utils" +import { isDefined, PostgresError } from "../utils" class TaxRateService extends BaseService { private manager_: EntityManager @@ -213,14 +213,14 @@ class TaxRateService extends BaseService { }, // eslint-disable-next-line async (err: any) => { - if (err.code === "23503") { + if (err.code === PostgresError.FOREIGN_KEY_ERROR) { // A foreign key constraint failed meaning some thing doesn't exist // either it is a product or the tax rate itself. Using Promise.all // will try to retrieve all of the resources and will fail when // something is not found. await Promise.all([ this.retrieve(id, { select: ["id"] }), - ...ids.map((pId) => + ...ids.map(async (pId) => this.productService_.retrieve(pId, { select: ["id"] }) ), ]) @@ -249,7 +249,7 @@ class TaxRateService extends BaseService { }, // eslint-disable-next-line async (err: any) => { - if (err.code === "23503") { + if (err.code === PostgresError.FOREIGN_KEY_ERROR) { // A foreign key constraint failed meaning some thing doesn't exist // either it is a product or the tax rate itself. Using Promise.all // will try to retrieve all of the resources and will fail when @@ -259,7 +259,7 @@ class TaxRateService extends BaseService { select: ["id"], }) as Promise, ...ids.map( - (pId) => + async (pId) => this.productTypeService_.retrieve(pId, { select: ["id"], }) as Promise @@ -302,14 +302,14 @@ class TaxRateService extends BaseService { }, // eslint-disable-next-line async (err: any) => { - if (err.code === "23503") { + if (err.code === PostgresError.FOREIGN_KEY_ERROR) { // A foreign key constraint failed meaning some thing doesn't exist // either it is a product or the tax rate itself. Using Promise.all // will try to retrieve all of the resources and will fail when // something is not found. await Promise.all([ this.retrieve(id, { select: ["id"] }), - ...ids.map((sId) => + ...ids.map(async (sId) => this.shippingOptionService_.retrieve(sId, { select: ["id"] }) ), ]) diff --git a/packages/medusa/src/strategies/batch-jobs/product/import.ts b/packages/medusa/src/strategies/batch-jobs/product/import.ts index f68dd4d787..66574023e3 100644 --- a/packages/medusa/src/strategies/batch-jobs/product/import.ts +++ b/packages/medusa/src/strategies/batch-jobs/product/import.ts @@ -104,7 +104,7 @@ class ProductImportStrategy extends AbstractBatchJobStrategy { this.regionService_ = regionService } - buildTemplate(): Promise { + async buildTemplate(): Promise { throw new Error("Not implemented!") } @@ -802,9 +802,13 @@ const CSVSchema: ProductImportCsvSchema = { if (typeof value === "undefined" || value === null) { return builtLine } - ;( - builtLine["product.options"] as Record[] - ).push({ title: value }) + + const options = builtLine["product.options"] as Record< + string, + string | number + >[] + + options.push({ title: value }) return builtLine }, @@ -824,9 +828,12 @@ const CSVSchema: ProductImportCsvSchema = { return builtLine } - ;( - builtLine["variant.options"] as Record[] - ).push({ + const options = builtLine["variant.options"] as Record< + string, + string | number + >[] + + options.push({ value, _title: context.line[key.slice(0, -6) + " Name"], }) @@ -917,12 +924,13 @@ const SalesChannelsSchema: ProductImportCsvSchema = { if (typeof value === "undefined" || value === null) { return builtLine } - ;( - builtLine["product.sales_channels"] as Record< - string, - string | number - >[] - ).push({ + + const channels = builtLine["product.sales_channels"] as Record< + string, + string | number + >[] + + channels.push({ name: value, }) @@ -939,12 +947,13 @@ const SalesChannelsSchema: ProductImportCsvSchema = { if (typeof value === "undefined" || value === null) { return builtLine } - ;( - builtLine["product.sales_channels"] as Record< - string, - string | number - >[] - ).push({ + + const channels = builtLine["product.sales_channels"] as Record< + string, + string | number + >[] + + channels.push({ id: value, }) diff --git a/packages/medusa/src/utils/csv-cell-content-formatter.ts b/packages/medusa/src/utils/csv-cell-content-formatter.ts index fab2a01c90..7c0d4ae1a4 100644 --- a/packages/medusa/src/utils/csv-cell-content-formatter.ts +++ b/packages/medusa/src/utils/csv-cell-content-formatter.ts @@ -7,13 +7,13 @@ export function csvCellContentFormatter(str: string): string { return str } - const formatterStr = str.replace(doubleQuoteRegexp, '""') + const formatterStr = str.replace(doubleQuoteRegexp, `""`) return `"${formatterStr}"` } export function csvRevertCellContentFormatter(str: string): string { - if (str.startsWith('"')) { + if (str.startsWith(`"`)) { str = str.substring(1, str.length - 1) } return str diff --git a/packages/medusa/src/utils/date-helpers.ts b/packages/medusa/src/utils/date-helpers.ts index e3bdf015b7..8b18b58594 100644 --- a/packages/medusa/src/utils/date-helpers.ts +++ b/packages/medusa/src/utils/date-helpers.ts @@ -8,4 +8,4 @@ export const isPast = (date: Date | null) => { export const isFuture = (date: Date | null) => { const now = new Date() return isDate(date) && date > now -} \ No newline at end of file +} diff --git a/packages/medusa/src/utils/exception-formatter.ts b/packages/medusa/src/utils/exception-formatter.ts index 1243c5caf4..b1b52ad299 100644 --- a/packages/medusa/src/utils/exception-formatter.ts +++ b/packages/medusa/src/utils/exception-formatter.ts @@ -11,9 +11,9 @@ export const formatException = (err): Error => { MedusaError.Types.DUPLICATE_ERROR, `${err.table.charAt(0).toUpperCase()}${err.table.slice( 1 - )} with ${err.detail - .slice(4) - .replace(/[()=]/g, (s) => (s === "=" ? " " : ""))}` + )} with ${err.detail.slice(4).replace(/[()=]/g, (s) => { + return s === "=" ? " " : "" + })}` ) case PostgresError.FOREIGN_KEY_ERROR: { const matches = diff --git a/packages/medusa/src/utils/feature-flag-decorators.ts b/packages/medusa/src/utils/feature-flag-decorators.ts index 6caa082a8c..a0ad436347 100644 --- a/packages/medusa/src/utils/feature-flag-decorators.ts +++ b/packages/medusa/src/utils/feature-flag-decorators.ts @@ -1,13 +1,13 @@ import { Column, ColumnOptions, Entity, EntityOptions } from "typeorm" import { featureFlagRouter } from "../loaders/feature-flags" - /** - * If that file is required in a non node environment then the setImmediate timer does not exists. - * This can happen when a client package require a server based package and that one of the import - * require to import that file which is using the setImmediate. - * In order to take care of those cases, the setImmediate timer will use the one provided by the api (node) - * if possible and will provide a mock in a browser like environment. - */ +/** + * If that file is required in a non node environment then the setImmediate timer does not exists. + * This can happen when a client package require a server based package and that one of the import + * require to import that file which is using the setImmediate. + * In order to take care of those cases, the setImmediate timer will use the one provided by the api (node) + * if possible and will provide a mock in a browser like environment. + */ let setImmediate_ try { setImmediate_ = setImmediate @@ -15,7 +15,7 @@ try { console.warn( "[feature-flag-decorator.ts] setImmediate will use a mock, this happen when this file is required in a browser environment and should not impact you" ) - setImmediate_ = ((callback: () => void | Promise) => callback()) + setImmediate_ = (callback: () => void | Promise) => callback() } export function FeatureFlagColumn( diff --git a/packages/medusa/src/utils/generate-entity-id.ts b/packages/medusa/src/utils/generate-entity-id.ts index 4f72617138..c85f891ba8 100644 --- a/packages/medusa/src/utils/generate-entity-id.ts +++ b/packages/medusa/src/utils/generate-entity-id.ts @@ -11,6 +11,6 @@ export function generateEntityId(idProperty: string, prefix?: string): string { } const id = ulid() - prefix = prefix ? `${prefix}_` : '' + prefix = prefix ? `${prefix}_` : "" return `${prefix}${id}` -} \ No newline at end of file +} diff --git a/packages/medusa/src/utils/get-query-config.ts b/packages/medusa/src/utils/get-query-config.ts index 2ec8f84aaf..e3d2a9bd85 100644 --- a/packages/medusa/src/utils/get-query-config.ts +++ b/packages/medusa/src/utils/get-query-config.ts @@ -28,9 +28,9 @@ export function getRetrieveConfig( ): FindConfig { let includeFields: (keyof TModel)[] = [] if (isDefined(fields)) { - includeFields = Array.from(new Set([...fields, "id"])).map((field) => - typeof field === "string" ? field.trim() : field - ) as (keyof TModel)[] + includeFields = Array.from(new Set([...fields, "id"])).map((field) => { + return typeof field === "string" ? field.trim() : field + }) as (keyof TModel)[] } let expandFields: string[] = [] diff --git a/packages/medusa/src/utils/index.ts b/packages/medusa/src/utils/index.ts index 7fd1525d33..0b72f70c69 100644 --- a/packages/medusa/src/utils/index.ts +++ b/packages/medusa/src/utils/index.ts @@ -6,3 +6,4 @@ export * from "./remove-undefined-properties" export * from "./is-defined" export * from "./calculate-price-tax-amount" export * from "./csv-cell-content-formatter" +export * from "./exception-formatter" diff --git a/packages/medusa/src/utils/is-defined.ts b/packages/medusa/src/utils/is-defined.ts index 2d4da48450..0fdeaa72f8 100644 --- a/packages/medusa/src/utils/is-defined.ts +++ b/packages/medusa/src/utils/is-defined.ts @@ -1,3 +1,5 @@ -export function isDefined(val: T): val is (T extends undefined ? never : T) { +export function isDefined( + val: T +): val is T extends undefined ? never : T { return typeof val !== "undefined" } diff --git a/packages/medusa/src/utils/remove-undefined-properties.ts b/packages/medusa/src/utils/remove-undefined-properties.ts index 010f9c3588..cf1c82d060 100644 --- a/packages/medusa/src/utils/remove-undefined-properties.ts +++ b/packages/medusa/src/utils/remove-undefined-properties.ts @@ -1,4 +1,4 @@ -import { isDefined } from "./is-defined"; +import { isDefined } from "./is-defined" export function removeUndefinedProperties(inputObj: T): T { const removeProperties = (obj: T) => { @@ -23,21 +23,26 @@ function removeUndefinedDeeply(input: unknown): any { if (input === null || input === "null") { return null } else if (Array.isArray(input)) { - return input.map((item) => { - return removeUndefinedDeeply(item) - }).filter(v => isDefined(v)) - } else if (Object.prototype.toString.call(input) === '[object Date]') { + return input + .map((item) => { + return removeUndefinedDeeply(item) + }) + .filter((v) => isDefined(v)) + } else if (Object.prototype.toString.call(input) === "[object Date]") { return input } else if (typeof input === "object") { - return Object.keys(input).reduce((acc: Record, key: string) => { - if (typeof input[key] === "undefined") { - return acc - } - acc[key] = removeUndefinedDeeply(input[key]) - return acc - }, {}) + return Object.keys(input).reduce( + (acc: Record, key: string) => { + if (typeof input[key] === "undefined") { + return acc + } + acc[key] = removeUndefinedDeeply(input[key]) + return acc + }, + {} + ) } else { return input } } -} \ No newline at end of file +} diff --git a/packages/medusa/src/utils/validate-id.ts b/packages/medusa/src/utils/validate-id.ts index da6102e69a..1d0edb3568 100644 --- a/packages/medusa/src/utils/validate-id.ts +++ b/packages/medusa/src/utils/validate-id.ts @@ -1,11 +1,11 @@ /** -* Confirms whether a given raw id is valid. Fails if the provided -* id is null or undefined. The validate function takes an optional config -* param, to support checking id prefix and length. -* @param rawId - the id to validate. -* @param config - optional config -* @returns the rawId given that nothing failed -*/ + * Confirms whether a given raw id is valid. Fails if the provided + * id is null or undefined. The validate function takes an optional config + * param, to support checking id prefix and length. + * @param rawId - the id to validate. + * @param config - optional config + * @returns the rawId given that nothing failed + */ import { MedusaError } from "medusa-core-utils/dist" export function validateId( @@ -38,4 +38,4 @@ export function validateId( } return rawId -} \ No newline at end of file +} diff --git a/packages/medusa/src/utils/validators/date-transform.ts b/packages/medusa/src/utils/validators/date-transform.ts index 4c3ca745fe..08e1e333b3 100644 --- a/packages/medusa/src/utils/validators/date-transform.ts +++ b/packages/medusa/src/utils/validators/date-transform.ts @@ -1,2 +1,5 @@ -export const transformDate = ({ value }): Date => - !isNaN(Date.parse(value)) ? new Date(value) : new Date(Number(value) * 1000) +export const transformDate = ({ value }): Date => { + return !isNaN(Date.parse(value)) + ? new Date(value) + : new Date(Number(value) * 1000) +} diff --git a/packages/medusa/src/utils/validators/is-type.ts b/packages/medusa/src/utils/validators/is-type.ts index a216e64b94..4c97b6741c 100644 --- a/packages/medusa/src/utils/validators/is-type.ts +++ b/packages/medusa/src/utils/validators/is-type.ts @@ -71,7 +71,6 @@ async function typeValidator( } export function IsType(types: any[], validationOptions?: ValidationOptions) { - // eslint-disable-next-line @typescript-eslint/ban-types return function (object: Object, propertyName: string): void { registerDecorator({ name: "IsType",