@hed-hog/catalog 0.0.292 → 0.0.293

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/hedhog/data/menu.yaml +233 -233
  2. package/hedhog/data/role.yaml +7 -7
  3. package/hedhog/data/route.yaml +56 -56
  4. package/hedhog/table/catalog_affiliate_program.yaml +41 -41
  5. package/hedhog/table/catalog_attribute.yaml +53 -53
  6. package/hedhog/table/catalog_attribute_group.yaml +18 -18
  7. package/hedhog/table/catalog_brand.yaml +34 -34
  8. package/hedhog/table/catalog_category_attribute.yaml +36 -36
  9. package/hedhog/table/catalog_click_event.yaml +50 -50
  10. package/hedhog/table/catalog_comparison.yaml +65 -65
  11. package/hedhog/table/catalog_comparison_highlight.yaml +39 -39
  12. package/hedhog/table/catalog_comparison_item.yaml +30 -30
  13. package/hedhog/table/catalog_content_relation.yaml +42 -42
  14. package/hedhog/table/catalog_import_run.yaml +33 -33
  15. package/hedhog/table/catalog_import_source.yaml +24 -24
  16. package/hedhog/table/catalog_merchant.yaml +29 -29
  17. package/hedhog/table/catalog_offer.yaml +83 -83
  18. package/hedhog/table/catalog_price_history.yaml +34 -34
  19. package/hedhog/table/catalog_product.yaml +76 -76
  20. package/hedhog/table/catalog_product_attribute_value.yaml +60 -60
  21. package/hedhog/table/catalog_product_category.yaml +26 -26
  22. package/hedhog/table/catalog_product_image.yaml +34 -34
  23. package/hedhog/table/catalog_product_score.yaml +38 -38
  24. package/hedhog/table/catalog_product_site.yaml +47 -47
  25. package/hedhog/table/catalog_product_tag.yaml +19 -19
  26. package/hedhog/table/catalog_score_criterion.yaml +37 -37
  27. package/hedhog/table/catalog_seo_page_rule.yaml +51 -51
  28. package/hedhog/table/catalog_similarity_rule.yaml +28 -28
  29. package/hedhog/table/catalog_site.yaml +40 -40
  30. package/hedhog/table/catalog_site_category.yaml +26 -26
  31. package/package.json +5 -5
  32. package/src/catalog.controller.ts +82 -82
  33. package/src/catalog.module.ts +12 -12
  34. package/src/index.ts +1 -1
  35. package/src/language/en.json +4 -4
  36. package/src/language/pt.json +4 -4
@@ -1,53 +1,53 @@
1
- columns:
2
- - type: pk
3
- - name: group_id
4
- type: fk
5
- isNullable: true
6
- references:
7
- table: catalog_attribute_group
8
- column: id
9
- onDelete: SET NULL
10
- - name: slug
11
- type: varchar
12
- length: 255
13
- - name: label
14
- type: varchar
15
- length: 255
16
- - name: description
17
- type: text
18
- isNullable: true
19
- - name: data_type
20
- type: enum
21
- values: [text, number, boolean, json]
22
- default: text
23
- - name: unit
24
- type: varchar
25
- length: 63
26
- isNullable: true
27
- - name: comparison_mode
28
- type: enum
29
- values: [neutral, higher_better, lower_better, boolean_true_better, enum_ordered]
30
- default: neutral
31
- - name: is_filterable
32
- type: boolean
33
- default: false
34
- - name: is_sortable
35
- type: boolean
36
- default: false
37
- - name: is_required_for_comparison
38
- type: boolean
39
- default: false
40
- - name: normalization_rule_json
41
- type: json
42
- isNullable: true
43
- - name: display_order
44
- type: int
45
- default: 0
46
- - type: created_at
47
- - type: updated_at
48
- indices:
49
- - columns: [slug]
50
- isUnique: true
51
- - columns: [group_id, display_order]
52
- - columns: [data_type]
53
- - columns: [is_filterable]
1
+ columns:
2
+ - type: pk
3
+ - name: group_id
4
+ type: fk
5
+ isNullable: true
6
+ references:
7
+ table: catalog_attribute_group
8
+ column: id
9
+ onDelete: SET NULL
10
+ - name: slug
11
+ type: varchar
12
+ length: 255
13
+ - name: label
14
+ type: varchar
15
+ length: 255
16
+ - name: description
17
+ type: text
18
+ isNullable: true
19
+ - name: data_type
20
+ type: enum
21
+ values: [text, number, boolean, json]
22
+ default: text
23
+ - name: unit
24
+ type: varchar
25
+ length: 63
26
+ isNullable: true
27
+ - name: comparison_mode
28
+ type: enum
29
+ values: [neutral, higher_better, lower_better, boolean_true_better, enum_ordered]
30
+ default: neutral
31
+ - name: is_filterable
32
+ type: boolean
33
+ default: false
34
+ - name: is_sortable
35
+ type: boolean
36
+ default: false
37
+ - name: is_required_for_comparison
38
+ type: boolean
39
+ default: false
40
+ - name: normalization_rule_json
41
+ type: json
42
+ isNullable: true
43
+ - name: display_order
44
+ type: int
45
+ default: 0
46
+ - type: created_at
47
+ - type: updated_at
48
+ indices:
49
+ - columns: [slug]
50
+ isUnique: true
51
+ - columns: [group_id, display_order]
52
+ - columns: [data_type]
53
+ - columns: [is_filterable]
@@ -1,18 +1,18 @@
1
- columns:
2
- - type: pk
3
- - name: slug
4
- type: varchar
5
- length: 255
6
- - name: name
7
- type: varchar
8
- length: 255
9
- - name: status
10
- type: enum
11
- values: [active, inactive]
12
- default: active
13
- - type: created_at
14
- - type: updated_at
15
- indices:
16
- - columns: [slug]
17
- isUnique: true
18
- - columns: [status]
1
+ columns:
2
+ - type: pk
3
+ - name: slug
4
+ type: varchar
5
+ length: 255
6
+ - name: name
7
+ type: varchar
8
+ length: 255
9
+ - name: status
10
+ type: enum
11
+ values: [active, inactive]
12
+ default: active
13
+ - type: created_at
14
+ - type: updated_at
15
+ indices:
16
+ - columns: [slug]
17
+ isUnique: true
18
+ - columns: [status]
@@ -1,34 +1,34 @@
1
- columns:
2
- - type: pk
3
- - name: slug
4
- type: varchar
5
- length: 255
6
- - name: name
7
- type: varchar
8
- length: 255
9
- - name: normalized_name
10
- type: varchar
11
- length: 255
12
- - name: logo_file_id
13
- type: fk
14
- isNullable: true
15
- references:
16
- table: file
17
- column: id
18
- onDelete: SET NULL
19
- - name: status
20
- type: enum
21
- values: [active, inactive]
22
- default: active
23
- - name: website_url
24
- type: varchar
25
- length: 500
26
- isNullable: true
27
- - type: created_at
28
- - type: updated_at
29
- indices:
30
- - columns: [slug]
31
- isUnique: true
32
- - columns: [normalized_name]
33
- - columns: [logo_file_id]
34
- - columns: [status]
1
+ columns:
2
+ - type: pk
3
+ - name: slug
4
+ type: varchar
5
+ length: 255
6
+ - name: name
7
+ type: varchar
8
+ length: 255
9
+ - name: normalized_name
10
+ type: varchar
11
+ length: 255
12
+ - name: logo_file_id
13
+ type: fk
14
+ isNullable: true
15
+ references:
16
+ table: file
17
+ column: id
18
+ onDelete: SET NULL
19
+ - name: status
20
+ type: enum
21
+ values: [active, inactive]
22
+ default: active
23
+ - name: website_url
24
+ type: varchar
25
+ length: 500
26
+ isNullable: true
27
+ - type: created_at
28
+ - type: updated_at
29
+ indices:
30
+ - columns: [slug]
31
+ isUnique: true
32
+ - columns: [normalized_name]
33
+ - columns: [logo_file_id]
34
+ - columns: [status]
@@ -1,36 +1,36 @@
1
- columns:
2
- - type: pk
3
- - name: category_id
4
- type: fk
5
- references:
6
- table: category
7
- column: id
8
- onDelete: CASCADE
9
- - name: attribute_id
10
- type: fk
11
- references:
12
- table: catalog_attribute
13
- column: id
14
- onDelete: CASCADE
15
- - name: is_required
16
- type: boolean
17
- default: false
18
- - name: is_highlighted
19
- type: boolean
20
- default: false
21
- - name: display_order
22
- type: int
23
- default: 0
24
- - name: weight
25
- type: int
26
- default: 1
27
- - name: facet_mode
28
- type: enum
29
- values: [default, range, exact, hidden]
30
- default: default
31
- - type: created_at
32
- - type: updated_at
33
- indices:
34
- - columns: [category_id, attribute_id]
35
- isUnique: true
36
- - columns: [category_id, display_order]
1
+ columns:
2
+ - type: pk
3
+ - name: category_id
4
+ type: fk
5
+ references:
6
+ table: category
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: attribute_id
10
+ type: fk
11
+ references:
12
+ table: catalog_attribute
13
+ column: id
14
+ onDelete: CASCADE
15
+ - name: is_required
16
+ type: boolean
17
+ default: false
18
+ - name: is_highlighted
19
+ type: boolean
20
+ default: false
21
+ - name: display_order
22
+ type: int
23
+ default: 0
24
+ - name: weight
25
+ type: int
26
+ default: 1
27
+ - name: facet_mode
28
+ type: enum
29
+ values: [default, range, exact, hidden]
30
+ default: default
31
+ - type: created_at
32
+ - type: updated_at
33
+ indices:
34
+ - columns: [category_id, attribute_id]
35
+ isUnique: true
36
+ - columns: [category_id, display_order]
@@ -1,50 +1,50 @@
1
- columns:
2
- - type: pk
3
- - name: offer_id
4
- type: fk
5
- references:
6
- table: catalog_offer
7
- column: id
8
- onDelete: CASCADE
9
- - name: product_id
10
- type: fk
11
- references:
12
- table: catalog_product
13
- column: id
14
- onDelete: CASCADE
15
- - name: site_id
16
- type: fk
17
- references:
18
- table: catalog_site
19
- column: id
20
- onDelete: CASCADE
21
- - name: comparison_id
22
- type: fk
23
- isNullable: true
24
- references:
25
- table: catalog_comparison
26
- column: id
27
- onDelete: SET NULL
28
- - name: clicked_at
29
- type: datetime
30
- - name: placement
31
- type: varchar
32
- length: 120
33
- isNullable: true
34
- - name: utm_json
35
- type: json
36
- isNullable: true
37
- - name: session_hash
38
- type: varchar
39
- length: 255
40
- isNullable: true
41
- - name: referrer_host
42
- type: varchar
43
- length: 255
44
- isNullable: true
45
- - type: created_at
46
- - type: updated_at
47
- indices:
48
- - columns: [offer_id, clicked_at]
49
- - columns: [site_id, clicked_at]
50
- - columns: [comparison_id, clicked_at]
1
+ columns:
2
+ - type: pk
3
+ - name: offer_id
4
+ type: fk
5
+ references:
6
+ table: catalog_offer
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: product_id
10
+ type: fk
11
+ references:
12
+ table: catalog_product
13
+ column: id
14
+ onDelete: CASCADE
15
+ - name: site_id
16
+ type: fk
17
+ references:
18
+ table: catalog_site
19
+ column: id
20
+ onDelete: CASCADE
21
+ - name: comparison_id
22
+ type: fk
23
+ isNullable: true
24
+ references:
25
+ table: catalog_comparison
26
+ column: id
27
+ onDelete: SET NULL
28
+ - name: clicked_at
29
+ type: datetime
30
+ - name: placement
31
+ type: varchar
32
+ length: 120
33
+ isNullable: true
34
+ - name: utm_json
35
+ type: json
36
+ isNullable: true
37
+ - name: session_hash
38
+ type: varchar
39
+ length: 255
40
+ isNullable: true
41
+ - name: referrer_host
42
+ type: varchar
43
+ length: 255
44
+ isNullable: true
45
+ - type: created_at
46
+ - type: updated_at
47
+ indices:
48
+ - columns: [offer_id, clicked_at]
49
+ - columns: [site_id, clicked_at]
50
+ - columns: [comparison_id, clicked_at]
@@ -1,65 +1,65 @@
1
- columns:
2
- - type: pk
3
- - name: category_id
4
- type: fk
5
- references:
6
- table: category
7
- column: id
8
- onDelete: RESTRICT
9
- - name: site_id
10
- type: fk
11
- references:
12
- table: catalog_site
13
- column: id
14
- onDelete: CASCADE
15
- - name: primary_content_id
16
- type: fk
17
- isNullable: true
18
- references:
19
- table: content
20
- column: id
21
- onDelete: SET NULL
22
- - name: slug
23
- type: varchar
24
- length: 255
25
- - name: comparison_type
26
- type: enum
27
- values: [manual, automatic, similarity, compatibility]
28
- default: manual
29
- - name: generation_mode
30
- type: enum
31
- values: [manual, automatic]
32
- default: manual
33
- - name: status
34
- type: enum
35
- values: [draft, published, archived]
36
- default: draft
37
- - name: title
38
- type: varchar
39
- length: 255
40
- - name: summary
41
- type: text
42
- isNullable: true
43
- - name: intro
44
- type: text
45
- isNullable: true
46
- - name: verdict
47
- type: text
48
- isNullable: true
49
- - name: spec_snapshot_json
50
- type: json
51
- isNullable: true
52
- - name: eligibility_hash
53
- type: varchar
54
- length: 255
55
- isNullable: true
56
- - name: published_at
57
- type: datetime
58
- isNullable: true
59
- - type: created_at
60
- - type: updated_at
61
- indices:
62
- - columns: [site_id, slug]
63
- isUnique: true
64
- - columns: [category_id, status]
65
- - columns: [generation_mode, status]
1
+ columns:
2
+ - type: pk
3
+ - name: category_id
4
+ type: fk
5
+ references:
6
+ table: category
7
+ column: id
8
+ onDelete: RESTRICT
9
+ - name: site_id
10
+ type: fk
11
+ references:
12
+ table: catalog_site
13
+ column: id
14
+ onDelete: CASCADE
15
+ - name: primary_content_id
16
+ type: fk
17
+ isNullable: true
18
+ references:
19
+ table: content
20
+ column: id
21
+ onDelete: SET NULL
22
+ - name: slug
23
+ type: varchar
24
+ length: 255
25
+ - name: comparison_type
26
+ type: enum
27
+ values: [manual, automatic, similarity, compatibility]
28
+ default: manual
29
+ - name: generation_mode
30
+ type: enum
31
+ values: [manual, automatic]
32
+ default: manual
33
+ - name: status
34
+ type: enum
35
+ values: [draft, published, archived]
36
+ default: draft
37
+ - name: title
38
+ type: varchar
39
+ length: 255
40
+ - name: summary
41
+ type: text
42
+ isNullable: true
43
+ - name: intro
44
+ type: text
45
+ isNullable: true
46
+ - name: verdict
47
+ type: text
48
+ isNullable: true
49
+ - name: spec_snapshot_json
50
+ type: json
51
+ isNullable: true
52
+ - name: eligibility_hash
53
+ type: varchar
54
+ length: 255
55
+ isNullable: true
56
+ - name: published_at
57
+ type: datetime
58
+ isNullable: true
59
+ - type: created_at
60
+ - type: updated_at
61
+ indices:
62
+ - columns: [site_id, slug]
63
+ isUnique: true
64
+ - columns: [category_id, status]
65
+ - columns: [generation_mode, status]
@@ -1,39 +1,39 @@
1
- columns:
2
- - type: pk
3
- - name: comparison_id
4
- type: fk
5
- references:
6
- table: catalog_comparison
7
- column: id
8
- onDelete: CASCADE
9
- - name: product_id
10
- type: fk
11
- isNullable: true
12
- references:
13
- table: catalog_product
14
- column: id
15
- onDelete: SET NULL
16
- - name: attribute_id
17
- type: fk
18
- isNullable: true
19
- references:
20
- table: catalog_attribute
21
- column: id
22
- onDelete: SET NULL
23
- - name: highlight_type
24
- type: enum
25
- values: [pro, con, difference, summary, verdict]
26
- default: summary
27
- - name: title
28
- type: varchar
29
- length: 255
30
- - name: body
31
- type: text
32
- isNullable: true
33
- - name: sort_order
34
- type: int
35
- default: 0
36
- - type: created_at
37
- - type: updated_at
38
- indices:
39
- - columns: [comparison_id, highlight_type, sort_order]
1
+ columns:
2
+ - type: pk
3
+ - name: comparison_id
4
+ type: fk
5
+ references:
6
+ table: catalog_comparison
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: product_id
10
+ type: fk
11
+ isNullable: true
12
+ references:
13
+ table: catalog_product
14
+ column: id
15
+ onDelete: SET NULL
16
+ - name: attribute_id
17
+ type: fk
18
+ isNullable: true
19
+ references:
20
+ table: catalog_attribute
21
+ column: id
22
+ onDelete: SET NULL
23
+ - name: highlight_type
24
+ type: enum
25
+ values: [pro, con, difference, summary, verdict]
26
+ default: summary
27
+ - name: title
28
+ type: varchar
29
+ length: 255
30
+ - name: body
31
+ type: text
32
+ isNullable: true
33
+ - name: sort_order
34
+ type: int
35
+ default: 0
36
+ - type: created_at
37
+ - type: updated_at
38
+ indices:
39
+ - columns: [comparison_id, highlight_type, sort_order]
@@ -1,30 +1,30 @@
1
- columns:
2
- - type: pk
3
- - name: comparison_id
4
- type: fk
5
- references:
6
- table: catalog_comparison
7
- column: id
8
- onDelete: CASCADE
9
- - name: product_id
10
- type: fk
11
- references:
12
- table: catalog_product
13
- column: id
14
- onDelete: CASCADE
15
- - name: sort_order
16
- type: int
17
- default: 0
18
- - name: is_winner
19
- type: boolean
20
- default: false
21
- - name: badge_label
22
- type: varchar
23
- length: 255
24
- isNullable: true
25
- - type: created_at
26
- - type: updated_at
27
- indices:
28
- - columns: [comparison_id, product_id]
29
- isUnique: true
30
- - columns: [product_id]
1
+ columns:
2
+ - type: pk
3
+ - name: comparison_id
4
+ type: fk
5
+ references:
6
+ table: catalog_comparison
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: product_id
10
+ type: fk
11
+ references:
12
+ table: catalog_product
13
+ column: id
14
+ onDelete: CASCADE
15
+ - name: sort_order
16
+ type: int
17
+ default: 0
18
+ - name: is_winner
19
+ type: boolean
20
+ default: false
21
+ - name: badge_label
22
+ type: varchar
23
+ length: 255
24
+ isNullable: true
25
+ - type: created_at
26
+ - type: updated_at
27
+ indices:
28
+ - columns: [comparison_id, product_id]
29
+ isUnique: true
30
+ - columns: [product_id]