@startuml skinparam linetype ortho '=============================================================================== '===================================PDM========================================= '=============================================================================== package PDM <> { abstract ProductModuleName { +request: GET +endpoint: http://api.pdm.vseinstrumenti.ru/api/v1/products/* +headers: Accept:application/json Authorization:Bearer m1iXCmdwRlbqTU7gBCIe4Xpk8fIjVBGD -- *response: guid товара -- * - 2019-08-16 17:00:00 } abstract CategoryModuleName { +request: GET +endpoint: http://api.pdm.vseinstrumenti.ru/api/v1/rubrics/* +headers: Accept:application/json Authorization:Bearer m1iXCmdwRlbqTU7gBCIe4Xpk8fIjVBGD -- *response: guid категории -- * - 2019-08-16 17:00:00 } abstract ManufacturerModuleName { +request: GET +endpoint: http://api.pdm.vseinstrumenti.ru/api/v1/manufacturers/* +headers: Accept:application/json Authorization:Bearer m1iXCmdwRlbqTU7gBCIe4Xpk8fIjVBGD -- *response: guid производителя -- * - 2019-08-16 17:00:00 } abstract SpecificationModuleName { +request: GET +endpoint: http://api.pdm.vseinstrumenti.ru/api/v1/tech_param/* +headers: Accept:application/json Authorization:Bearer m1iXCmdwRlbqTU7gBCIe4Xpk8fIjVBGD -- *response: guid изменившихся ТХ -- * - 2019-08-16 17:00:00 } } Package MySql <> { package "Manufacter_MySql" <> { entity "search_manufacturers_settings" as manufacturers_settings { *id: int auto_increment "PK" -- *manufacturer_guid: char(36) *locality_guid: char(36) *is_hide: tinyint(1) *updated_at: timestamp *created_at: timestamp -- unique (manufacturer_guid, locality_guid) } entity "search_manufacturers" as manufacturers { *id: int auto_increment "PK" -- *guid: char(36) *name: varchar(256) *is_our: tinyint(1) *description: varchar(256) *updated_at: timestamp -- unique (guid) } } package "Products_MySql" <> { entity "search_products" as products { *id: int auto_increment "PK" -- *is_consumable: tinyint(1) *is_on_site: tinyint(1) *is_visible: tinyint(1) *status: smallint *is_discountinued: tinyint(1) *is_for_order: tinyint(1) *sku: int *height: float *lenght: float *width: float *guid: char(36) *manufacter_guid: char(36) *name_site: varchar(256) *category: char(36) *name_pdm: varchar(256) *name_wtis: varchar(256) *name_contractor: varchar(256) *keywords: varchar(256) *lights: varchar(20) *country_code: varchar(3) *uri: text *advantages: text *description: text *equipment: text *features: text *updated_at: timestamp -- unique (guid) } entity "search_products_categories" as products_categories { *id: int auto_increment "PK" -- *hash: char(40) *product_guid: char(36) *category_guid: char(36) *is_enabled: tinyint(1) *updated_at: timestamp -- unique (hash) } } package "Categories_MySql" <> { entity "search_categories_settings" as categories_settings { *id: int auto_increment "PK" -- *category_guid: char(36) *locality_guid: char(36) *is_hide: tinyint(1) *updated_at: timestamp *created_at: timestamp -- unique (category_guid, locality_guid) } entity "search_categories_relationship" as categories_relationship { *id: int auto_increment "PK" -- *parent: char(36) *child: char(36) *main: tinyint(1) *level: int *line: int *created_at: timestamp } entity "search_categories" as categories { *id: int auto_increment "PK" -- *guid: char(36) name: varchar(256) type: varchar(256) parent_guid: char(36) is_active: tinyint(1) is_enable: tinyint(1) up_caption: varchar(256) updated_at: timestamp -- unique (guid) } } package PDM_Specifications <> { entity "search_specifications_bool" as specifications_bool { *id: int auto_increment "PK" -- *hash: char(40) *product_guid: char(36) *guid: char(36) *name: varchar(256) *unit: varchar(256) *description: text *value: tinyint(1) *updated_at: timestamp -- unique (hash) } entity "search_specifications_collection" as specifications_collection { *id: int auto_increment "PK" -- *hash: char(40) *product_guid: char(36) *guid: char(36) *name: varchar(256) *unit: varchar(256) *description: text *value: varchar(256) *value_guid: char(36) *updated_at: timestamp -- unique (hash) } entity "search_specifications_float" as specifications_float { *id: int auto_increment "PK" -- *hash: char(40) *product_guid: char(36) *guid: char(36) *name: varchar(256) *unit: varchar(256) *description: text *value: float *updated_at: timestamp -- unique (hash) } entity "search_specifications_int" as specifications_int { *id: int auto_increment "PK" -- *hash: char(40) *product_guid: char(36) *guid: char(36) *name: varchar(256) *unit: varchar(256) *description: text *value: int *updated_at: timestamp -- unique (hash) } entity "search_specifications_range" as specifications_range { *id: int auto_increment "PK" -- *hash: char(40) *product_guid: char(36) *guid: char(36) *name: varchar(256) *unit: varchar(256) *description: text *value_gte: float *value_lte: float *updated_at: timestamp -- unique (hash) } entity "search_specifications_text" as specifications_text { *id: int auto_increment "PK" -- *hash: char(40) *product_guid: char(36) *guid: char(36) *name: varchar(256) *unit: varchar(256) *description: text *value: varchar(256) *updated_at: timestamp -- unique (hash) } } } SpecificationModuleName -up----> PDM_Specifications ProductModuleName -up---> "Products_MySql" CategoryModuleName -up----> "Categories_MySql" ManufacturerModuleName -up---> "Manufacter_MySql" @enduml