Commit Graph
86 Commits
Author SHA1 Message Date
Philip Korsholm cc29b641c9 feat(medusa): Delete and download url endpoints (#1705) 2022-06-24 10:37:32 +02:00
Philip Korsholm fa7163941d Feat(medusa): convert customer service to typescript (#1653)
* centralize common knowledge and checks for list-customers in repository

* convert customer service to typescript

* fix typing error in update-address

* add await

* add atomic phases

* update types for customerservice

* update api and model types

* pr feedback

* remove Promise.resolve

* typing of buildQuery

* remove atomic phase from private method
2022-06-24 09:10:16 +02:00
Philip Korsholm 1585b7ae2b feat(medusa): Convert GiftCardService to Typescript (#1664) 2022-06-23 16:33:18 +02:00
Philip KorsholmandZakaria El Asri 5f2744eb9f Feat (medusa): convert custom shipping option service to typescript (#1652)
* convert custom shipping option service to typescript

* polishing

* remove unnecessary imports

* Update packages/medusa/src/services/custom-shipping-option.ts

Co-authored-by: Zakaria El Asri <33696020+zakariaelas@users.noreply.github.com>

* pr feedback

* fix typing after removing optional metadataparameter

* add injected dependencies

* add await

Co-authored-by: Zakaria El Asri <33696020+zakariaelas@users.noreply.github.com>
2022-06-21 09:25:54 +02:00
Philip KorsholmandOliver Windall Juhl aca90a47ac Feat(medusa): Integration testing of cli (#1689)
* add initial testing files

* prepare for github

* remove empty files

* remove ids

* set user and password for postgres service

* remove node setup

* remove unused flag from yarn install

* correct medusajs package

* arguments for create-medusa project

* make create command into one line

* working directory update

* update workflow

* add build

* run scripts from medusa-cli

* move scripts to medusa-cli

* add install

* get server output

* rename build to install

* update login script to get feedback

* add arguments to login script

* add argument for directory to get-product

* pass cli-test to get-products script

* add wait command

* fix waiting

* update wait-for-server

* echo status

* update start testing

* refactor code into test-action

* add list config for testing

* include shell

* update get-products script

* test to see if action fails when given wrong input

* use custom action for testing devleopment server and extend waiting for server to spin up

* update actions

* remove cache version

* yarn and build in cli-test directory

* update core

* update working directories

* test working dir after cd up

* update

* fix directories

* update directories

* use setup server action

* invoke correct action

* test

* update cli action

* remove action

* test with medusa-dev

* remove medusa dev for now

* test

* include medusa-dev

* remove invalid medusa new command

* try moving project one dir up

* add silent to curl output from live server wait

* update seed data directory

* test

* remove sub workflow

* add matrix and postgres override for medusa-config

* fix matrix syntax

* add database url to job

* update yaml

* cli should fail on logging in

* create setup server action

* update test-server

* update scripts

* run scripts directory instead of cli scripts

* make directories current

* remove tests from cli

* run only on pr

* update name

* remove batch job model (for testing purposes)

* remove ls from test server action

* get content from develop

* undo changes to generate reference

* remove comments from scripts

* test failing command

* redo migrate command failing

* move scripts into interation tests

* Apply suggestions from code review

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-06-17 11:53:41 +02:00
Philip Korsholm 886dcbc82f feat(medusa): BatchJobStrategy and loaders (#1434)
* add batch job strategy interface

* update plugin loaders

* remove comment

* make map async

* ensure that only one of each strategy is registered

* register strategies plural

* add identifier and batchType properties

* extend batch job strategy identification method

* initial test

* update loaders to accomodate different ways of accessing batch job strategies

* identifier batch type field

* redo merge in plugins

* update interface and load only js files

* use switches instead of elif

* remove comments

* use static properties for strategy registration

* update tests

* fix unit tests

* update test names

* update isBatchJobStrategy method

* add check for TransactionBaseService in services for plugins

* update interfaces export

* update batchjob strategy interface with a prepare script

* update loaders

* update batchjob strategy interface

* remove everything but public interface methods from batchJobStrategy

* add default implementation to prepareBathJobForProcessing

* remove unused import
2022-06-15 10:46:55 +02:00
Philip Korsholm b478b10438 refactor(medusa): Convert ShippingOptionService to typescript (#1644)
* convert shipping option service to typescript

* update jsdoc

* make update look update object

* update price reverting for calculated prices  when deselecting free shipping option

* update typescript service implementation

* pr feedback
2022-06-13 09:55:50 +02:00
Philip Korsholm d011f38305 add default file service (#1627) 2022-06-10 16:24:11 +02:00
Philip Korsholm 1fe518b4af Feat(medusa) refactor claim-item service to typescript (#1640)
* refactor claim-item service to typescript

* update pr
2022-06-10 10:15:48 +02:00
Philip Korsholmandolivermrbl abaf10b31d feat(medusa-file-spaces): DigitalOcean fileservice streaming (#1585)
* add file service interface initial

* pr feedback

* use abstract fileservice for file service plugins

* update plugin loader for services

* implement fileservices with abstractFileService and convert to ts

* update fileservice interface

* remove fileservice loading of old interface

* re-add loading of old fileservice interface

* re-rename digital ocean fileservice to javascript

* revert s3 to js

* revert minio to js

* remove irrelevant method implementation

* rename download stream method to reflect upload stream method

* update fileservice

* use isFileService in loaders

* remove fields from js class

* rename "generatePresignedDownloadUrl" to "getPresignedDownloadUrl"

* make methods abstract in AbstractFileService

* create download stream endpoint (#1583)

* Feat/upload to storage (#1580)

* add test generate endpoint to api

* rename method to getUploadStream

* cleanup generate example

* upload file example

* remove comment

* make vars const

* Feat/create presigned download url (#1582)

* implement "generatePresignedDownloadUrl"

* add get-download-url endpoint for testing

* remove examples

* update index ts

* create generalized method for aws update in DO fileservice

* update bucket configuration

* update interface types

* add typings to fileservice methods

* update service loaders

* update fileservice interface to extend transaction base service

* create download stream endpoint (#1583)

* Feat/upload to storage (#1580)

* add test generate endpoint to api

* rename method to getUploadStream

* cleanup generate example

* upload file example

* remove comment

* make vars const

* Feat/create presigned download url (#1582)

* implement "generatePresignedDownloadUrl"

* add get-download-url endpoint for testing

* remove examples

* update index ts

* create generalized method for aws update in DO fileservice

* update bucket configuration

* update interface types

* update download method name

* revert changes

* add filekey and optional extension to the fileservice result

* add key to the result of getUploadStream

* rename key to filekey

* rename key to filekey in getUploadStream result

* rename key to filekey in getDownloadStream and getPresignedDownloadUrl

* rename key to fileKey for getUploadedFileType

Co-authored-by: olivermrbl <oliver@mrbltech.com>
2022-06-04 10:37:21 +02:00
Philip Korsholm 8e42d37e84 feat(medusa): Extend file-service interface + move to core (#1577) 2022-06-04 10:11:17 +02:00
Philip Korsholm 3f23edea23 fix(medusa): Allow de-selecting configurations in price lists (#1596) 2022-05-30 19:34:34 +02:00
Philip KorsholmandZakaria El Asri a69b52e031 Feat: Filter price lists by customer group (#1431)
* add customer groups to price list factory

* add integration test for filtering price lists by customer group

* normalize list price list query

* add customer groups to list-price-list queryparameters

* query based on customergroups if they exist for price lists

* remove verbose flag

* add another price list with a customer group

* remove console.log

* pr feedback

* add query type to repository

* add query type to repository

* set groups to undefined instead of deleting parameter

* remove wildcard destructing

* make buildQuery type specific to price lists

* steal Adriens types

* fix(medusa): support searching for price lists (#1407)

* delete instead of settting groups to undefined

* add groups to query with q

* use simple customer group factory instead of manual creation

* Update simple-customer-group-factory.ts

* remove comma that breaks integration-tests

Co-authored-by: Zakaria El Asri <33696020+zakariaelas@users.noreply.github.com>
2022-05-12 04:22:46 +02:00
Philip Korsholm e2d08316dd fix: Use correct product price when fetching product for pricelist (#1416) 2022-05-08 13:03:29 +02:00
Philip Korsholm 2260c2d09e fix(medusa-cli): allow spaces in develop command (#1430) 2022-05-04 08:44:37 +02:00
00fd096d25 Feat: Discount migration (#1214)
* feat: Add DiscountCondition entity + Join table per relation (#1146)

* feat: Convert DiscountService to TypeScript (#1149)

* feat: Add DiscountRepository + bulk insert and remove (#1156)

* feat: Add `conditions` to payload in `POST /discounts` and `POST /discounts/:id` (#1170)

* feat: Add DiscountRuleCondition entity

* fix relation

* fix join key

* Add discount rule condition repo

* add join table per relation

* Convert DiscountService to TypeScript

* feat: Add DiscountConditionRepository

* Add migration + remove use of valid_for

* revert changes to files, not done yet

* init work on create discount endpoint

* Add conditions to create discount endpoint

* Add conditions to update discount endpoint

* Add unique constraint to discount condition

* integration tests passing

* fix imports of models

* fix tests (excluding totals calculations)

* Fix commented code

* add unique constraint on discount condition

* Add generic way of generating retrieve configs

* Requested changes + ExactlyOne validator

* Remove isLocal flag from error handler

* Use postgres error constant

* remove commented code

* initial

* add migration scripts

* make getMigrationsFolder generic

* add datamodel migration command

* add datamodel run to migraitons cli

* remove data migration code from migrations

* add inner join

* add migration script for discount migration

* redo all script changes after adding script file

* address pr feedback

* cherrypick files from develop

* remove unused import

* suggestions

* Update packages/medusa/src/scripts/discount-rule-migration.ts

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>

* fix: revert rule id to dr_id

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
Co-authored-by: olivermrbl <oliver@mrbltech.com>
2022-04-27 10:25:04 +02:00
Philip Korsholm 40b63d092a fix: Invoke canCalculate with an entire shipping option (#1397) 2022-04-26 22:11:48 +02:00
Philip Korsholm f7386bf4b3 fix: Update is_giftcard type when filtering products (#1427)
* transform is_giftcard parameter and default to false

* add test for non gift_cards

* make default optional
2022-04-25 14:55:33 +02:00
Philip Korsholm 497e9b3f7d add discount exports (#1298) 2022-04-05 09:25:24 +02:00
b164977a19 Feat: Medusa react price list (#1258)
* export everything from price lists in core

* medusa-js price list

* feat: add product list for price lists

* feat: add product list for price lists

* add price list to admin module

* add price list hooks initial

* refactor: product list controller

* fix: add integration test for price list products

* update types

* add tests for price lists

* update medusa react tests

* update update request for price lists

* Apply suggestions from code review

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* rename methods

* pr feedback

* list products from price list

* fix errors after merge

* update medusa react with medusa-js method name changes

* redo changes

* update hook names

* fix: routes in msw handler

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
Co-authored-by: Zakaria El Asri <zakaria.elas@gmail.com>
2022-04-03 20:48:49 +02:00
Philip Korsholm 3083aaee81 Fix: Add Customer id in generate line item for customer specific pricing (#1245)
* initial

* add logged in item to cart gets correct price

* customer id or cart_id customer id

* move customer_id to a config

* update unit test

* run pipelines
2022-03-28 09:57:33 +02:00
e2423020c0 Feat: use price selection strategy (#1165)
* init

* add query params

* added buld id validation to repo

* admin done

* updated price reqs

* initial price selection strategy

* update customer seeder

* format models

* price selection strategy

* price selection testing

* update price selection tests

* update price selection strategy

* remove console.warn

* update price seleciton strategy

* use price selection strategy in "get-product"

* price selection strategy integration testing

* update integration tests

* update price selection strat

* remove console.log

* fix unit tests

* update product snapshot integration tests

* fix failing unit tests

* update variant test snapshots

* update variant test snapshots

* fix failing unit tests

* update product snapshot integration tests

* intial implementation of PriceList

* add price selection strategy test to list-products

* add price selection to list products

* add price selection strategy to getRegionPrice

* add price selection strategy to get variant

* update product snapshot test

* store testing of price selection

* variant services

* update cart service

* update product tests

* update test

* unit testing with price selection strategy

* integration tests for price lists

* update sort prices for consistent results

* update snapshot

* update product snapshot with product ids

* this time pipelines work

* swap tests

* redo ordering

* updated admin/product integration tests

* update updateVariantPrices method

* remove comment from error handler

* add integration test for batch deleting prices associated with price list

* named ids

* run with verbose

* add console.log

* sort products in integration test

* remove verbose flag

* make update to prices through variant service limited to default prices

* update store/products.js snapshot

* update comment

* add todo

* lift existing price calculations to variant level

* remove unused import

* add api unit tests and update product integration tests to validate that prices from Price List are ignored

* fix product test

* update integration tests

* pre merge commit

* requested changes

* cascade

* ensure delete variant cascades to MoneyAmount

* fetch variants correctly

* use find options

* add pricelist to relevant seeders

* update integration tests

* update price selection with "includeDiscountPrices"

* use transaction with price selection strategy

* add await to prevent store test errors

* remove verbose

* addresses PR feedback

* removed unused endpoint

* remove unused repository from constructor

* remove from constructor argument

* update mock

* update unit tests

* fix failing store integration tests

* remove medusajs ressource

* re add env.template

* price selection strategy methods

* fix integration tests

* update unit tests

* remove commented out code

* update jsdoc

* update price selection strategy parameter

* update snapshots

* integration tests cleanup

* pr feedback

* update integration tests

* pr feedback

* price selection unit tests

* add calculated price type to results

* cleanup include discount prices and price selection configs

* refactor price selection params to a separate file

* update tests and refactor price selection seeder

* remove prices from variant update

* rename result

* pr feedback

* remove unused import

* create getRegionPriceContext

* remove from params in search

* remove unused import

Co-authored-by: Kasper <kasper@medusajs.com>
Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
2022-03-23 17:17:19 +01:00
dfa3502e41 Feat: Price selection implementation (#1158)
* init

* added buld id validation to repo

* admin done

* updated price reqs

* initial price selection strategy

* update customer seeder

* format models

* price selection strategy

* price selection testing

* update price selection tests

* update price selection strategy

* remove console.warn

* update price selection strat

* remove console.log

* fix unit tests

* update product snapshot integration tests

* fix failing unit tests

* update variant test snapshots

* intial implementation of PriceList

* integration tests for price lists

* updated admin/product integration tests

* update updateVariantPrices method

* remove comment from error handler

* add integration test for batch deleting prices associated with price list

* make update to prices through variant service limited to default prices

* update store/products.js snapshot

* add api unit tests and update product integration tests to validate that prices from Price List are ignored

* fix product test

* requested changes

* cascade

* ensure delete variant cascades to MoneyAmount

* addresses PR feedback

* removed unused endpoint

* update mock

* fix failing store integration tests

* remove medusajs ressource

* re add env.template

* price selection strategy methods

* fix integration tests

* update unit tests

* update jsdoc

* update price selection strategy parameter

* fix unit tests

* pr feedback

Co-authored-by: Kasper <kasper@medusajs.com>
Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
2022-03-21 19:03:42 +01:00
Philip KorsholmandSebastian Rindom dacc9c6c4b Feat: Add groups to list customer (#1113)
* add controllers directory and loaders

* update integration tests

* start groups

* move controllers to pure functions

* group filtering for customers

* print errors

* remove verbose flag

* controller refactor

* update imports

* Feat/list customers by customer group (#1114)

* move controllers to pure functions

* add customer group test

* add api for list customer group customers

* remove unused imports

* controller refactor

* update imports

* Update packages/medusa/src/api/routes/admin/customer-groups/get-customer-group-customers.ts

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* fix: dedupe

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-03-10 13:05:46 +01:00
Philip Korsholm 5f5a2af30b Feat: Add customer search controller (#1111)
* add controllers directory and loaders

* move controllers to pure functions

* controller refactor

* update imports
2022-03-09 10:55:05 +01:00
Philip KorsholmandSebastian Rindom 4b4463f0e2 Feat: Bulk add customers to customer group (#1095)
* fix babel transform-runtime regenerator required for migrations

* add customer group model

* add migration for customer group

* add customer group model export

* add customer group repository

* add customer group service

* add CustomerGroupRepository to "withTransaction" in CustomerGroupService

* remove unnecessary argument to runtime plugin

* service export ordering

* add create customer group endpoint

* add customergroup to route index in admin

* add customer group service

* add customer groups test

* cleanup

* add customers batch initial

* batch creation of customer groups

* integration testing batch creation

* integration tests

* chaining existing customers creation in repo

* remove commented test

* update unit tests to reflect change in idempotent behavior

* ensure that exceptions are expected

* update idempotency behavior

* update formatting

* update format

* Update packages/medusa/src/repositories/customer-group.ts

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* pr feedback

* add In import

* add seperate model dto

* add integration test

* error handling in repository

* remove unused import

* jsdoc

* Update packages/medusa/src/api/routes/admin/customer-groups/add-customers-batch.ts

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* Update packages/medusa/src/api/routes/admin/customer-groups/add-customers-batch.ts

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* pr review comments

* rename variable

* fix: adds atomic phase clean up callback

* fix: call error handler in new transaction block too

* restore

* error handling

* fix: error handler in no isolation case

* add integration test for missing group on update

* final adjustments to test

* fix pr feedback

* cleanup core for pr

* remove console.log

* remove customergroupservice test from customers

* Apply suggestions from code review

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* add end bracket to customer tests

* remove comments

* change model decorator

* fix integration test merge

* onDelete cascade instead of cascade:true

* remove verbose flag

* fix: dedupe type

* add save to customer groups

* customer model delete cascade

* add await to asyncronous save operations

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-28 10:03:26 +01:00
Philip KorsholmandSebastian Rindom 4d1c8e1ec5 Feat: bulk delete customers from customer group (#1097)
* integration testing

* customer seeder

* initial bulk removal

* integraiton testing of deletes

* delete fix

* not found test

* remove unused code

* Apply suggestions from code review

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* update integration tests

* pr review fixes

* update migration

* formatting

* integration tests for deletion

* pr feedback

* fix failing integration tests

* remove integration tests before merging

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-25 18:53:49 +01:00
Philip Korsholm 44fb9531d2 Feat: Delete customer group (#1102) 2022-02-25 18:53:49 +01:00
Philip KorsholmandSebastian Rindom 3b878bc5dd Feat: Create customer group (#1074)
* fix babel transform-runtime regenerator required for migrations

* add customer group model

* add migration for customer group

* add customer group model export

* add customer group repository

* add customer group service

* add CustomerGroupRepository to "withTransaction" in CustomerGroupService

* remove unnecessary argument to runtime plugin

* service export ordering

* add create customer group endpoint

* add customergroup to route index in admin

* add customer group service

* add customer groups test

* cleanup

* duplicate error handling

* ducplicate name integration test

* add jsdoc

* customergroup not customer

* pr feedback

* pipeline test

* fix weird merge

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-25 18:53:49 +01:00
Philip Korsholm cd842138ba add pagination and date filtering to regions (#976) 2022-02-25 18:53:49 +01:00
Philip KorsholmandSebastian Rindom 0394be36ef Feat: bulk delete customers from customer group (#1097)
* integration testing

* customer seeder

* initial bulk removal

* integraiton testing of deletes

* delete fix

* not found test

* remove unused code

* Apply suggestions from code review

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* update integration tests

* pr review fixes

* update migration

* formatting

* integration tests for deletion

* pr feedback

* fix failing integration tests

* remove integration tests before merging

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-25 15:29:13 +01:00
Philip Korsholm e35a4fb2ea Feat: Delete customer group (#1102) 2022-02-24 14:20:58 +01:00
Philip KorsholmandSebastian Rindom b16976a6f4 Feat: Create customer group (#1074)
* fix babel transform-runtime regenerator required for migrations

* add customer group model

* add migration for customer group

* add customer group model export

* add customer group repository

* add customer group service

* add CustomerGroupRepository to "withTransaction" in CustomerGroupService

* remove unnecessary argument to runtime plugin

* service export ordering

* add create customer group endpoint

* add customergroup to route index in admin

* add customer group service

* add customer groups test

* cleanup

* duplicate error handling

* ducplicate name integration test

* add jsdoc

* customergroup not customer

* pr feedback

* pipeline test

* fix weird merge

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-18 09:58:54 +01:00
Philip Korsholm 8141e12a3d add pagination and date filtering to regions (#976) 2022-02-10 09:15:07 +01:00
Philip Korsholm 24175025d1 Fix: admin list products expand integration test (#974) 2022-02-02 08:35:16 +01:00
Philip Korsholm 7fcdac51ea Feat: object notation in queryparams (#1002)
* add object notation for queryparams

* test rule.type query params in list-discount

* pr feedback
2022-02-01 17:31:12 +01:00
Philip Korsholm f4f9653efc Feat: admin collections filtering (#977)
* collections filtering

* filtering collection tests

* oas for list collections
2022-02-01 17:24:47 +01:00
Philip Korsholm f61eaeec12 feat: expand store product filtering (#973) 2022-01-11 16:06:16 +01:00
Philip Korsholm 5754534beb Feat: Client admin uploads (#952)
* convert uploads to ts

* add custom headers to request

* uploads resource

* uploads routes updates

* index export

* add oas

* remove delete uploads endpoint

* add new package for form-data

* remove exports for delete upload endpoint

* remove dev package from medusa-js

* automatic package upgrade of medusa
2022-01-04 16:18:17 +01:00
Philip Korsholm f405e9c874 notifications client (#949) 2021-12-20 14:09:12 +01:00
Philip KorsholmandOliver Windall Juhl e0be2da15e Feat: Client admin products (#930)
* add exports in product

* add product resource

* fix failling tests

* import reflect metadata

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2021-12-17 12:30:04 +01:00
Philip KorsholmandSebastian Rindom 59e268b919 Feat: Add users endpoint to medusajs (#925)
* add users endpoint to medusajs

* add exports to medusa

* use native omit

Co-authored-by: Sebastian Rindom <seb@medusajs.com>
2021-12-16 16:22:40 +01:00
Philip KorsholmandSebastian Rindom 01b915585b Feat/client admin orders (#932)
* add export to medusa index

* add orders to medusa-client

* correct update entity

* add orders to admin resource

Co-authored-by: Sebastian Rindom <seb@medusajs.com>
2021-12-16 14:43:16 +01:00
Philip Korsholm 3da46723a0 Feat: add variants to medusa client (#927) 2021-12-16 14:28:54 +01:00
Philip Korsholm f5d3e4de10 swaps in admin resources (#928) 2021-12-15 16:57:39 +01:00
Philip Korsholm b70df6be94 Feat: client admin shipping profiles (#929)
* shipping profiles resource

* spelling
2021-12-15 14:21:43 +01:00
Philip Korsholmandolivermrbl 40f6e88875 Feat/medusa js admin collections (#916)
* feat: Add Auth Admin routes to JS client

* include api key verification for admin

* add admin/collections to medusa-js

* undo file changes

* jsdoc

Co-authored-by: olivermrbl <oliver@mrbltech.com>
2021-12-14 17:33:55 +01:00
Philip Korsholmandolivermrbl fee4e46ea7 Feat/client authentication api key (#915)
* feat: Add Auth Admin routes to JS client

* include api key verification for admin

* undo changes

* undo file changes

* improve api key auth

* auth documentation in readme

* pr feedback

* typo

Co-authored-by: olivermrbl <oliver@mrbltech.com>
2021-12-14 16:55:20 +01:00
d1b8f4b50b Feat: Extend user api (#460)
* api routes for user management

* add invites and roles to db

* services

* invite repo

* include user in accepting invitation

* include user role in create user

* api password reset

* delete invite

* include email in reset password token

* added metadata as dbawarecolumn

* added events for invite handling and delete functionality

* added invite model to exports

* add default value member and allow null roles

* conditional inclusion of invites in "list-users"

* integration tests for users

* helpers for user testing

* add unauthenticated routes to users

* simplifying create invite

* create users with first and last name, and dev role

* reset password endpoint

* removed token from response

* update user with firstname, lastname and role

* create invite refactor

* test password reset without email in body

* removed redundant router variable

* cleanup

* unit tests

* adjustments

* service tests

* adjustments according to api changes

* fix cart test

* cloned now works

* change name to verified token for the verified token

* add a space

* db aware columns

* fix: timestampz dbaware

* more testing

* add list-invites endpoint

* reset-password error handling

* pr issues adjusted

* fixed test

* add optional to link templates

* move invites to a new endpoint

* migrate invites to own testsuite

* adjust snapshots

* email constraint for invite

* fix integration tests

* addressing pr feedback

* unit tests for extended user api

* linting

* fix integration tests

* fix unit tests

* fix: Addresses breaking change from class-transformer

* fix orders testing

* merge "create-claim" js and ts files

* add out commented tests

* update typescript endpoints to reflect changes made for user management

* converted invites to typescript

* add exports from api endpoints

* remove old js files used for reference

* integration test

* import reflect metadata

* invite service conversion to ts

* removed unused import

* update invite service to match styleguide

* add "expires_at" and "token" to invite table

* update invite service to save tokens and validate expires_at

* fix failing tests

* fix tests after adding token and expires_at to invite

* add expiration to create

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
Co-authored-by: olivermrbl <oliver@mrbltech.com>
2021-12-08 10:15:22 +01:00
Philip Korsholm 80089d04d8 Fix: get fulfillment options (#852) 2021-12-03 13:19:25 +01:00
Philip Korsholm f162b4a2a1 Feat/api reference curl examples (#720)
* curl reference initial

* add tooltips to curl command

* refactor copy component

* move copy to copy component

* formatting

* always include required fields

* add example values

* format svg

* fix property extraction

* explainer comment
2021-11-19 10:18:16 +01:00
Philip Korsholm 0bffa673b0 babel preset with typescript (#771) 2021-11-11 13:26:19 +01:00
Philip Korsholm 649d8d34aa Feat:cancel previous actions on push (#707) 2021-11-03 13:16:12 +01:00
Philip Korsholm 075864f24c fix mocks (#713) 2021-11-03 13:14:47 +01:00
Philip KorsholmandSebastian Rindom 68c2a4fe3a Fix/polish discount (#569)
* formatting and optional "is_dynamic" on updates

* formatting

* uppercasing discount code on update

* multiple regions fail with fixed discounts

* discount testing

* testing

* spelling

* removed comment

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2021-10-26 13:20:38 +02:00
Philip Korsholm 6b83653bf6 Fix/cascading product variant deletion (#570)
* testing for deletes of variants when a product is deleted

* remove variants with products

* test using direct db query

* formatting

* removed unused imports
2021-10-22 09:20:59 +02:00
Philip Korsholm 9d175ca332 Update assert-changed-files.sh 2021-10-21 21:13:32 +02:00
Philip Korsholm 20e5533bcd Update product.js 2021-10-21 21:12:48 +02:00
Philip Korsholm fbf94b8824 Update action.yml 2021-10-21 21:04:17 +02:00
Philip Korsholm cf6d63c41a Update action.yml 2021-10-21 20:58:39 +02:00
Philip Korsholm ac55bcd9fd Update product.js 2021-10-21 20:49:18 +02:00
Philip Korsholm b657ff9bfa Update product.js 2021-10-21 20:36:24 +02:00
Philip Korsholm 85612006eb Update product.js 2021-10-21 20:25:52 +02:00
Philip Korsholm d27649752b Update action.yml 2021-10-21 20:17:14 +02:00
Philip Korsholm da20f4907f Update product.js 2021-10-21 18:10:14 +02:00
Philip Korsholm ac5b747490 Update product.js 2021-10-21 18:01:59 +02:00
Philip Korsholm 1bd13a6dd7 update cache number 2021-10-21 17:43:17 +02:00
Philip Korsholm ac6d9c6ec2 Update assert-changed-files-actions.sh 2021-10-21 17:39:20 +02:00
Philip Korsholm eb797677e9 Update action.yml 2021-10-21 17:31:43 +02:00
1b0dd60a33 Feat/new actions (#586)
* test

* test

* create integration testing workflow

* Create unit-testing.yml

* Rename integration-testing to integration-testing.yml

* initial testing

* Update assert-changed-files.sh

* Update integration-testing.yml

* Update unit-testing.yml

* Update assert-changed-files.sh

* Delete integration-testing.yml

* Update assert-changed-files.sh

* Update assert-changed-files.sh

* Update assert-changed-files.sh

* Update order.js

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Update unit-testing.yml

* Create cache-bootstrap.yml

* Update cache-bootstrap.yml

* Update cache-bootstrap.yml

* Update cache-bootstrap.yml

* Update unit-testing.yml

* extracted action

* corrected ext. name for int. tests

* checked out actions

* added fetching of actions

* updated

* updated

* moved package

* updated

* Update action.yml

* Update action.yml

* ended if statement

* updated

* updated

* removed error

* updated cache version

* update

* updated to more strict cache policy

* update

* updated

* updated

* update

* update

* update

* update

* update

* update

* update

* update

* updated to also include on PR

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* removed current branch from diff

* updated comment

* Update action.yml

* Update action.yml

* Update action.yml

* save before merge

* Update action.yml

* Update product.js

* Update product.js

* Update action.yml

* Update action.yml

* Update action.yml

* Update action.yml

* Update assert-changed-files-actions.sh

* Update assert-changed-files-actions.sh

* Update product-variant.js

* Update product.js

* Update product.js

* cleanup

Co-authored-by: Sebastian Mateos Nicolajsen <80953876+sebastiannicolajsen@users.noreply.github.com>
Co-authored-by: Sebastian M. Nicolajsen <sebastian.m.nicolajsen@gmail.com>
2021-10-21 17:15:29 +02:00
Philip Korsholm 6a02090287 Update action.yml 2021-10-21 14:53:21 +02:00
Philip Korsholm 0a11cf51d3 Update action.yml 2021-10-21 14:50:15 +02:00
Philip Korsholm 816b45baf7 Update action.yml 2021-10-21 14:24:04 +02:00
Philip Korsholm 5fa3892e4f Update action.yml 2021-10-21 14:19:31 +02:00
Philip Korsholm 2126a5e5d2 Update action.yml 2021-10-21 14:16:25 +02:00
Philip Korsholm ac21142ba7 Update action.yml 2021-10-21 14:12:24 +02:00
Philip Korsholm 40d7cb2109 Update action.yml 2021-10-21 14:11:54 +02:00
Philip Korsholm e8f9884abe Update action.yml 2021-10-21 09:20:15 +02:00
Philip Korsholm 117d90193a Update action.yml 2021-10-21 09:20:04 +02:00
Philip KorsholmandSebastian Rindom ba2de6906a Feat:contentful plugin archive on delete
* extend plugin with methods for archival in contentful

* add events to services

* rename entities

* eventbusservice to delete

* Update packages/medusa-plugin-contentful/src/services/contentful.js

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* Update packages/medusa-plugin-contentful/src/services/contentful.js

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* Update packages/medusa-plugin-contentful/src/services/contentful.js

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* testing

* adjust options

* Update packages/medusa-plugin-contentful/src/services/contentful.js

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* adjust options

* Update packages/medusa-plugin-contentful/src/services/contentful.js

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* Update packages/medusa-plugin-contentful/src/services/contentful.js

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2021-10-14 17:00:27 +02:00
pKorsholm 5ef2a3fbcb feat: Product filtering (#439) 2021-10-13 16:01:59 +02:00
pKorsholmandSebastian Rindom cd4afd1576 fix(medusa): hide password hash (#429)
* auth tests

* customer auth tests

* user auth test

* store auth snapshot

* auth snapshot

* auth with deleted password hashes

* manual field input for test scripts

* fix circleci with double retrieve of user and customer

* add email validation to user

* fix: cleanup

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2021-09-30 12:19:37 +02:00
pKorsholm 9b64828ec3 Feat:discount expiration date (#403)
* discount expiration validation and testing

* integration testing

* double quotes

* add iso8601 package

* api testing

* add joi validation of start and end dates as well as valid_duration

* valid_duration column

* service testing

* discount validation in services

* integration test with invalid date interval

* include valid_duration when fetching a discount

* rename variable for clarity

* add test for dynamic discount with expiration date

* remove debug code

* adjust tests to reflect valid_duration being included in default fields

* additional discount update validation

* fixed failing test

* set ends_at on dynamic discount creation

* discount integration tests

* removed unused console.log

* removed validation of dynamic discounts by duration and added ends_at to dynamic discount creation

* integration tests for dynamic discount with and without duration

* optional valid duration for dynamic discounts

* allow nullable dynamic discount durations

* expect assertions

* fix unit test after change to dynamic discounts without duration

* change to date instead of string

* add assertions

* error handling

* addressed feedback
2021-09-30 12:13:59 +02:00
pKorsholmandPhilip Korsholm 42cdfde6d9 Feat/nested return reasons (#418)
* api endpoints for nested return_reasons

* add nested return reasons to database

* add parent reason to update

* integration tests

* add children relation

* integration tests for nested returns and failing doubly nesting returns

* add delete-route and nested relations

* delete return reason route

* doubly nested return reason creation check and deletion

* nested return reasons migration

* list only parent reasons

* removed null filter

* remove empty migration

* add return reason filter to get list of categories with children

* removed console log

* corrected delete route

* return reason testing

* return reasons query

* listREasonsFromIDs

* create return testing

* listReasonsFromIds

* return reason tests

* failing if returnreason has child on return

* integration tests

* cascading deletes on return reasons

* more elegant checking for children of return reasons when creating a return

* remove console.log

* pr adjust

Co-authored-by: Philip Korsholm <phko@MacBook-Pro.localdomain>
2021-09-29 09:22:09 +02:00
pKorsholm fab155c246 Merge pull request #373 from medusajs/feat/product-variant-rank
Feat: Add product variant rank
2021-09-09 09:58:27 +02:00
pKorsholm 3992fc15a0 Merge pull request #367 from medusajs/docs/remove-spelling-errors
Docs: fix spelling errors in "2-adding custom functionality"
2021-09-06 13:31:50 +02:00