feat: Add Store avro

This commit is contained in:
ldrogo27
2026-04-07 12:44:18 +02:00
parent ca4aa96565
commit 28a8f1c8c1
14 changed files with 1357 additions and 130 deletions

415
schemas/store.avsc Normal file
View File

@@ -0,0 +1,415 @@
{
"type": "record",
"name": "StoreAvro",
"namespace": "com.decathlon.onestore.avro",
"fields": [
{
"name": "thirdType",
"type": "int"
},
{
"name": "thirdNum",
"type": "int"
},
{
"name": "name",
"type": "string"
},
{
"name": "country",
"type": [
"null",
{
"type": "record",
"name": "CountryAvro",
"fields": [
{
"name": "countryCode",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "countryName",
"type": [
"null",
"string"
],
"default": null
}
]
}
],
"default": null
},
{
"name": "fiscalCompanyNumber",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "eanCode",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "address",
"type": {
"type": "record",
"name": "AddressAvro",
"fields": [
{
"name": "street",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "addressComplement",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "zipCode",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "city",
"type": "string"
},
{
"name": "administrativeAreaLevel1",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "administrativeAreaLevel2",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "administrativeAreaLevel3",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "administrativeAreaLevel4",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "administrativeAreaLevel5",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "latitude",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "longitude",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "timezone",
"type": [
"null",
"string"
],
"default": null
}
]
}
},
{
"name": "phones",
"type": {
"type": "record",
"name": "PhonesAvro",
"fields": [
{
"name": "phone1",
"type": {
"type": "record",
"name": "PhoneAvro",
"fields": [
{
"name": "label",
"type": "string"
},
{
"name": "index",
"type": [
"null",
"int"
],
"default": null
},
{
"name": "number",
"type": "string"
}
]
}
},
{
"name": "phone2",
"type": "PhoneAvro"
}
]
}
},
{
"name": "genericStoreType",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "category",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "language",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "status",
"type": "string"
},
{
"name": "franchised",
"type": "boolean",
"default": false
},
{
"name": "openingDate",
"type": [
"null",
{
"type": "int",
"logicalType": "date"
}
],
"default": null
},
{
"name": "workingHours",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "WorkingHourAvro",
"fields": [
{
"name": "day",
"type": "string"
},
{
"name": "status",
"type": "string"
},
{
"name": "opens",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "closes",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "dividedCloses",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "dividedOpens",
"type": [
"null",
"string"
],
"default": null
}
]
}
},
"default": []
},
{
"name": "leader",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "socialMedias",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "SocialMediaAvro",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "link",
"type": "string"
}
]
}
},
"default": []
},
{
"name": "publishOnEcommerce",
"type": "boolean"
},
{
"name": "picture",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "welcomeMessages",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "WelcomeMessageAvro",
"fields": [
{
"name": "language",
"type": "string"
},
{
"name": "message",
"type": "string"
}
]
}
},
"default": []
},
{
"name": "exceptionalHours",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "ExceptionalHourAvro",
"fields": [
{
"name": "date",
"type": "string"
},
{
"name": "status",
"type": "string"
},
{
"name": "opens",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "closes",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "dividedCloses",
"type": [
"null",
"string"
],
"default": null
},
{
"name": "dividedOpens",
"type": [
"null",
"string"
],
"default": null
}
]
}
},
"default": []
}
]
}

View File

@@ -0,0 +1,82 @@
{
"doc": "Legacy Store data",
"domain": "Supply",
"fields": [
{
"doc": "Third type",
"name": "store_third_type",
"type": "string"
},
{
"doc": "Third Id",
"name": "store_third_id",
"type": "string"
},
{
"doc": "Third sub id",
"name": "store_third_sub_id",
"type": "string"
},
{
"doc": "Store Sap Identifier",
"name": "sap_store_id",
"type": "string"
},
{
"default": null,
"doc": "Linear Size",
"name": "linear_size",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Opening Date",
"name": "opening_date",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "River Identifier",
"name": "river_id",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Logistic arera",
"name": "logistic_area",
"type": [
"null",
"string"
]
},
{
"default": null,
"name": "store_type",
"type": [
"null",
"string"
]
},
{
"default": null,
"name": "store_sign",
"type": [
"null",
"string"
]
}
],
"name": "SupplyStoreDetail",
"namespace": "com.decathlon.vct.vcstream.avro.supplystoredetail",
"type": "record",
"version": "1"
}

View File

@@ -0,0 +1,54 @@
{
"doc": "",
"domain": "Supply",
"fields": [
{
"doc": "parent third type",
"name": "parent_third_type",
"type": "string"
},
{
"doc": "parent_third_id",
"name": "parent_third_id",
"type": "string"
},
{
"doc": "Parent third sub Id",
"name": "parent_third_sub_id",
"type": "string"
},
{
"doc": "third type",
"name": "third_type",
"type": "string"
},
{
"doc": "third Id",
"name": "third_id",
"type": "string"
},
{
"doc": "third sub Id",
"name": "third_sub_id",
"type": "string"
},
{
"doc": "link between 2 thirds",
"name": "link_id",
"type": "string"
},
{
"default": null,
"doc": "Creation Date",
"name": "creation_date",
"type": [
"null",
"string"
]
}
],
"name": "SupplyThirdlink",
"namespace": "com.decathlon.vct.vcstream.avro.supplythirdlink",
"type": "record",
"version": "1"
}

View File

@@ -0,0 +1,300 @@
{
"doc": "Main Third data",
"domain": "Supply",
"fields": [
{
"doc": "Third type",
"name": "third_type",
"type": "string"
},
{
"doc": "Third Id",
"name": "third_id",
"type": "string"
},
{
"doc": "Third sub Id",
"name": "third_sub_id",
"type": "string"
},
{
"doc": "Supplier Name",
"name": "legal_name",
"type": "string"
},
{
"default": null,
"doc": "Country Code",
"name": "country_code",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Currency for Purchase Order",
"name": "order_currency",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Is this material internal ?",
"name": "is_internal",
"type": [
"null",
"boolean"
]
},
{
"default": null,
"doc": "SIREN Code",
"name": "tax_number",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Code identifier for VAT",
"name": "vat_number",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Vendor GLN Code",
"name": "third_gln",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Sort Name",
"name": "sort_name",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "CNUF Code",
"name": "cnuf_code",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Street description",
"name": "street",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Address Complement",
"name": "address_complement",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "ZIP Code",
"name": "zip_code",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "City",
"name": "city",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Phone number",
"name": "phone_number",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Fax number",
"name": "fax_number",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Rivers Id (obsolete)",
"name": "rivers_id",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Is this material autonomous ?",
"name": "is_autonomous",
"type": [
"null",
"boolean"
]
},
{
"default": null,
"doc": "define the vendor type (specific Brazil)",
"name": "is_linked_to_dp",
"type": [
"null",
"boolean"
]
},
{
"default": null,
"doc": "is it a subcontractor?",
"name": "is_subcontractor",
"type": [
"null",
"boolean"
]
},
{
"default": null,
"doc": "Fiscal company number",
"name": "fiscal_company_number",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Accounting Entity",
"name": "accounting_entity",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Cost center",
"name": "cost_center",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "jde Code",
"name": "jde_code",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "treeview organization",
"name": "treeview_organization",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "treeview level",
"name": "treeview_level",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "treeview number",
"name": "treeview_number",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Creation date",
"name": "creation_date",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Modification date",
"name": "modification_date",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Is this third closed ?",
"name": "is_closed",
"type": [
"null",
"boolean"
]
},
{
"default": null,
"doc": "language code",
"name": "language_code",
"type": [
"null",
"string"
]
},
{
"default": null,
"doc": "Logistic area",
"name": "logistic_area",
"type": [
"null",
"string"
]
}
],
"name": "SupplyThirdReferential",
"namespace": "com.decathlon.vct.vcstream.avro.supplythirdreferential",
"type": "record",
"version": "1"
}