* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* testing for deletes of variants when a product is deleted
* remove variants with products
* test using direct db query
* formatting
* removed unused imports
* 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>
* 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