fix: Use integer for variant and category ranks (#7572)
This commit is contained in:
@@ -314,7 +314,7 @@ moduleIntegrationTestRunner({
|
||||
mpath:
|
||||
"electronics.computers.laptops.gaming-laptops.high-performance.",
|
||||
parent_category_id: "gaming-laptops",
|
||||
category_children: [
|
||||
category_children: expect.arrayContaining([
|
||||
{
|
||||
id: "4k-gaming",
|
||||
handle: "4k-gaming-laptops",
|
||||
@@ -331,7 +331,7 @@ moduleIntegrationTestRunner({
|
||||
parent_category_id: "high-performance",
|
||||
category_children: [],
|
||||
},
|
||||
],
|
||||
]),
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -900,10 +900,10 @@ moduleIntegrationTestRunner({
|
||||
}
|
||||
)
|
||||
|
||||
expect(productCategory).toEqual(
|
||||
expect(JSON.parse(JSON.stringify(productCategory))).toEqual(
|
||||
expect.objectContaining({
|
||||
name: "New Category",
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
})
|
||||
)
|
||||
})
|
||||
@@ -932,7 +932,7 @@ moduleIntegrationTestRunner({
|
||||
expect(productCategoryNew).toEqual(
|
||||
expect.objectContaining({
|
||||
name: "New Category 2",
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
})
|
||||
)
|
||||
|
||||
@@ -954,7 +954,7 @@ moduleIntegrationTestRunner({
|
||||
expect.objectContaining({
|
||||
name: "New Category 2.1",
|
||||
parent_category_id: productCategoryNew.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
})
|
||||
)
|
||||
})
|
||||
@@ -1032,15 +1032,15 @@ moduleIntegrationTestRunner({
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: productCategoryTwo.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZero.id,
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryOne.id,
|
||||
rank: "2",
|
||||
rank: 2,
|
||||
}),
|
||||
])
|
||||
)
|
||||
@@ -1065,19 +1065,19 @@ moduleIntegrationTestRunner({
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: productCategoryTwo.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroZero.id,
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroOne.id,
|
||||
rank: "2",
|
||||
rank: 2,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroTwo.id,
|
||||
rank: "3",
|
||||
rank: 3,
|
||||
}),
|
||||
])
|
||||
)
|
||||
@@ -1102,19 +1102,19 @@ moduleIntegrationTestRunner({
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: productCategoryTwo.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroZero.id,
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroOne.id,
|
||||
rank: "2",
|
||||
rank: 2,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroTwo.id,
|
||||
rank: "3",
|
||||
rank: 3,
|
||||
}),
|
||||
])
|
||||
)
|
||||
@@ -1182,11 +1182,11 @@ moduleIntegrationTestRunner({
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: productCategoryZero.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryTwo.id,
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
}),
|
||||
])
|
||||
)
|
||||
|
||||
@@ -281,7 +281,7 @@ moduleIntegrationTestRunner({
|
||||
expect(productCategory).toEqual(
|
||||
expect.objectContaining({
|
||||
name: "New Category",
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
})
|
||||
)
|
||||
})
|
||||
@@ -324,7 +324,7 @@ moduleIntegrationTestRunner({
|
||||
expect(productCategoryNew).toEqual(
|
||||
expect.objectContaining({
|
||||
name: "New Category 2",
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
})
|
||||
)
|
||||
|
||||
@@ -346,7 +346,7 @@ moduleIntegrationTestRunner({
|
||||
expect.objectContaining({
|
||||
name: "New Category 2.1",
|
||||
parent_category_id: productCategoryNew.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
})
|
||||
)
|
||||
})
|
||||
@@ -438,15 +438,15 @@ moduleIntegrationTestRunner({
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: productCategoryTwo.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZero.id,
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryOne.id,
|
||||
rank: "2",
|
||||
rank: 2,
|
||||
}),
|
||||
])
|
||||
)
|
||||
@@ -471,19 +471,19 @@ moduleIntegrationTestRunner({
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: productCategoryTwo.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroZero.id,
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroOne.id,
|
||||
rank: "2",
|
||||
rank: 2,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroTwo.id,
|
||||
rank: "3",
|
||||
rank: 3,
|
||||
}),
|
||||
])
|
||||
)
|
||||
@@ -508,19 +508,19 @@ moduleIntegrationTestRunner({
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: productCategoryTwo.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroZero.id,
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroOne.id,
|
||||
rank: "2",
|
||||
rank: 2,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryZeroTwo.id,
|
||||
rank: "3",
|
||||
rank: 3,
|
||||
}),
|
||||
])
|
||||
)
|
||||
@@ -600,11 +600,11 @@ moduleIntegrationTestRunner({
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
id: productCategoryZero.id,
|
||||
rank: "0",
|
||||
rank: 0,
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: productCategoryTwo.id,
|
||||
rank: "1",
|
||||
rank: 1,
|
||||
}),
|
||||
])
|
||||
)
|
||||
|
||||
@@ -74,13 +74,13 @@
|
||||
},
|
||||
"rank": {
|
||||
"name": "rank",
|
||||
"type": "numeric",
|
||||
"type": "integer",
|
||||
"unsigned": false,
|
||||
"autoincrement": false,
|
||||
"primary": false,
|
||||
"nullable": false,
|
||||
"default": "0",
|
||||
"mappedType": "decimal"
|
||||
"mappedType": "integer"
|
||||
},
|
||||
"parent_category_id": {
|
||||
"name": "parent_category_id",
|
||||
@@ -1378,13 +1378,13 @@
|
||||
},
|
||||
"variant_rank": {
|
||||
"name": "variant_rank",
|
||||
"type": "numeric",
|
||||
"type": "integer",
|
||||
"unsigned": false,
|
||||
"autoincrement": false,
|
||||
"primary": false,
|
||||
"nullable": true,
|
||||
"default": "0",
|
||||
"mappedType": "decimal"
|
||||
"mappedType": "integer"
|
||||
},
|
||||
"product_id": {
|
||||
"name": "product_id",
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
import { Migration } from "@mikro-orm/migrations"
|
||||
|
||||
export class Migration20240601111544 extends Migration {
|
||||
async up(): Promise<void> {
|
||||
this.addSql(
|
||||
'alter table if exists "product_category" alter column "rank" type integer using ("rank"::integer);'
|
||||
)
|
||||
|
||||
this.addSql(
|
||||
'alter table if exists "product_variant" alter column "variant_rank" type integer using ("variant_rank"::integer);'
|
||||
)
|
||||
}
|
||||
|
||||
async down(): Promise<void> {
|
||||
this.addSql(
|
||||
'alter table if exists "product_category" alter column "rank" type numeric using ("rank"::numeric);'
|
||||
)
|
||||
|
||||
this.addSql(
|
||||
'alter table if exists "product_variant" alter column "variant_rank" type numeric using ("variant_rank"::numeric);'
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -68,7 +68,11 @@ class ProductCategory {
|
||||
@Property({ columnType: "boolean", default: false })
|
||||
is_internal?: boolean
|
||||
|
||||
@Property({ columnType: "numeric", nullable: false, default: 0 })
|
||||
@Property({
|
||||
columnType: "integer",
|
||||
nullable: false,
|
||||
default: 0,
|
||||
})
|
||||
rank?: number
|
||||
|
||||
@ManyToOne(() => ProductCategory, {
|
||||
|
||||
@@ -130,12 +130,10 @@ class ProductVariant {
|
||||
@Property({ columnType: "jsonb", nullable: true })
|
||||
metadata?: Record<string, unknown> | null
|
||||
|
||||
// TODO: replace with BigNumber, or in this case a normal int should work
|
||||
@Property({
|
||||
columnType: "numeric",
|
||||
columnType: "integer",
|
||||
nullable: true,
|
||||
default: 0,
|
||||
serializer: optionalNumericSerializer,
|
||||
})
|
||||
variant_rank?: number | null
|
||||
|
||||
|
||||
Reference in New Issue
Block a user