paneric / aggregate-micro-service-console
v1.0.4
2021-02-19 18:43 UTC
Requires
- paneric/di-container: ^1.0
- psr/container: ^1.0
- symfony/console: ^5.0
Requires (Dev)
- phpspec/phpspec: ^6.2
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-04-20 01:30:53 UTC
README
Console
$ bin/app ams
Psr-4 (no trailing slash !!!): ECommerce
Service vendor folder path (relative to project folder, no trailing slash !!!): vendor/paneric/e-commerce-user-address
Service name (CamelCase !!!): UserAddress
Service prefix (lower case !!!): ua
Related services vendor folders paths (coma separated, relative to project folder, no trailing slash !!!): vendor/paneric/e-commerce-user,vendor/paneric/e-commerce-address
Related services names (CamelCase, coma separated !!!): User,Address
Related services prefixes (lower case, coma separated !!!): usr,adr
Other services names (CamelCase, coma separated !!!): ListCountry,ListTypeCompany,Credential
DB table name: user_addresss
AGGREGATE MICRO SERVICE UPDATE SUCCESS:
Resources update with vendor "ECommerce", service "UserAddress" and prefix "ua" success.
src/UserAddressApi/config/dependencies/repository.php src/UserAddressApp/config/dependencies/repository.php
return [
'user_address_repository' => static function (Container $container): UserAddressRepository
{
return new UserAddressRepository(
$container->get(Manager::class),
[
'table' => 'user_addresss',//{aggregate_table}
'dao_class' => UserAddressDAO::class,
'create_unique_where' => sprintf(
' %s',
'WHERE ua_address_id=:ua_address_id'
),
'update_unique_where' => sprintf(
' %s',
'WHERE ua_address_id=:ua_address_id'
),
]
);
},
'user_address_query' => static function (Container $container): UserAddressQuery
{
return new UserAddressQuery(
$container->get(Manager::class),
[
'adao_class' => UserAddressADAO::class,
'base_query' => '
SELECT * FROM user_addresss bt
JOIN users st1 ON bt.ua_user_id = st1.usr_id
JOIN credentials st1_1 ON st1.usr_credential_id = st1_1.crd_id
JOIN addresss st2 ON bt.ua_address_id = st2.adr_id
JOIN list_countrys st2_1 ON st2.adr_list_country_id = st2_1.lc_id
JOIN list_type_companys st2_2 ON st2.adr_list_type_company_id = st2_2.ltc_id
',
]
);
},
];