Merge branch 'develop' into feat/rma-shipping-options
This commit is contained in:
commit
690cdd2392
4 files changed
+72
-8
No files matched your search
@@ -50,7 +50,7 @@ export default async (req, res) => {
|
||||
const id = req.user.customer_id
|
||||
|
||||
const schema = Validator.object().keys({
|
||||
billing_address: Validator.address().optional(),
|
||||
billing_address: Validator.address().optional().allow(null),
|
||||
first_name: Validator.string().optional(),
|
||||
last_name: Validator.string().optional(),
|
||||
password: Validator.string().optional(),
|
||||
@@ -66,9 +66,9 @@ export default async (req, res) => {
|
||||
|
||||
try {
|
||||
const customerService = req.scope.resolve("customerService")
|
||||
let customer = await customerService.update(id, value)
|
||||
await customerService.update(id, value)
|
||||
|
||||
customer = await customerService.retrieve(customer.id, {
|
||||
const customer = await customerService.retrieve(id, {
|
||||
relations: defaultRelations,
|
||||
select: defaultFields,
|
||||
})
|
||||
|
||||
@@ -224,7 +224,6 @@ class CustomerService extends BaseService {
|
||||
const query = this.buildQuery_({ id: validatedId }, config)
|
||||
|
||||
const customer = await customerRepo.findOne(query)
|
||||
|
||||
if (!customer) {
|
||||
throw new MedusaError(
|
||||
MedusaError.Types.NOT_FOUND,
|
||||
@@ -286,7 +285,7 @@ class CustomerService extends BaseService {
|
||||
/**
|
||||
* Hashes a password
|
||||
* @param {string} password - the value to hash
|
||||
* @return {string} hashed password
|
||||
* @return {Promise<string>} hashed password
|
||||
*/
|
||||
async hashPassword_(password) {
|
||||
const buf = await Scrypt.kdf(password, { logN: 1, r: 1, p: 1 })
|
||||
@@ -371,7 +370,14 @@ class CustomerService extends BaseService {
|
||||
|
||||
const customer = await this.retrieve(customerId)
|
||||
|
||||
const { email, password, metadata, ...rest } = update
|
||||
const {
|
||||
email,
|
||||
password,
|
||||
metadata,
|
||||
billing_address,
|
||||
billing_address_id,
|
||||
...rest
|
||||
} = update
|
||||
|
||||
if (metadata) {
|
||||
customer.metadata = this.setMetadata_(customer, metadata)
|
||||
@@ -382,7 +388,7 @@ class CustomerService extends BaseService {
|
||||
}
|
||||
|
||||
if ("billing_address_id" in update || "billing_address" in update) {
|
||||
const address = update.billing_address_id || update.billing_address
|
||||
const address = billing_address_id || billing_address
|
||||
await this.updateBillingAddress_(customer, address, addrRepo)
|
||||
}
|
||||
|
||||
@@ -411,6 +417,11 @@ class CustomerService extends BaseService {
|
||||
* @return {Promise} the result of the update operation
|
||||
*/
|
||||
async updateBillingAddress_(customer, addressOrId, addrRepo) {
|
||||
if (addressOrId === null) {
|
||||
customer.billing_address_id = null
|
||||
return
|
||||
}
|
||||
|
||||
if (typeof addressOrId === `string`) {
|
||||
addressOrId = await addrRepo.findOne({
|
||||
where: { id: addressOrId },
|
||||
@@ -421,7 +432,6 @@ class CustomerService extends BaseService {
|
||||
|
||||
if (addressOrId.id) {
|
||||
customer.billing_address_id = addressOrId.id
|
||||
customer.billing_address = addressOrId
|
||||
} else {
|
||||
if (customer.billing_address_id) {
|
||||
const addr = await addrRepo.findOne({
|
||||
|
||||
Reference in new issue
Block a user