Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[sync-actions] Compare only id and typeId fields when syncing references

Abierto
#1,253 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
api

Línea de trabajo

Comienza localizando la lógica de sync-actions que compara SET de atributos REFERENCE y encuentra sus pruebas existentes. Reproduce las dos estructuras de antes/después descritas en el issue y verifica que las referencias sin cambios no produzcan una acción de actualización, mientras que los valores id o typeId modificados sí lo hagan.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Type: Bug

When syncing attributes with SET of REFERENCE type it should compare only fields id and typeId. For example:

If the attribute before and after looks like this:

{
	name: 'setOfReference',
	value: [{
		id: '517321b8-7e3f-4427-ac5e-9d9001d69dc4',
		typeId: 'product'
	}, {
		id: 'f49aceda-145b-4975-af1b-a8c782b54354',
		typeId: 'product'
	}]
}

It won't generate any update actions, which is correct.

But if the before looks like this:

{
	name: 'setOfReference',
	value: [{
		id: '517321b8-7e3f-4427-ac5e-9d9001d69dc4',
		typeId: 'product',
		obj: { /** resolved product */ }
	}, {
		id: 'f49aceda-145b-4975-af1b-a8c782b54354',
		typeId: 'product',
		obj: { /** resolved product */ }
	}]
}

It will generate update action:

{
	"action": {
		"action": "setAttribute",
		"variantId": 1,
		"name": "packageContents",
		"value": [{
			"typeId": "product",
			"id": "517321b8-7e3f-4427-ac5e-9d9001d69dc4"
		}, {
			"typeId": "product",
			"id": "f49aceda-145b-4975-af1b-a8c782b54354"
		}],
		"staged": true
	}
}

Which is wrong because SET items were not changed so the API will throw an error:

"message": "A duplicate combination of the variant values (sku, key, images, prices, attributes) exists.",
Lenguaje dominante
JavaScript
Estrellas
77
Forks
70
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de commercetools/nodejs

Todos los issues de commercetools/nodejs

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.