diff --git a/app/config/service/api.yml b/app/config/service/api.yml new file mode 100644 index 0000000..c1debc3 --- /dev/null +++ b/app/config/service/api.yml @@ -0,0 +1,14 @@ +services: + client.brickset: + class: AppBundle\Api\Client\Brickset\Brickset + arguments: ['%brickset_apikey%'] + client.rebrickable: + class: AppBundle\Api\Client\Rebrickable\Rebrickable_v3 + arguments: ['%rebrickable_apikey%'] + + manager.brickset: + class: AppBundle\Api\Manager\BricksetManager + arguments: ['@client.brickset'] + manager.rebrickable: + class: AppBundle\Api\Manager\RebrickableManager + arguments: ['@client.rebrickable'] \ No newline at end of file diff --git a/app/config/service/loader.yml b/app/config/service/loader.yml new file mode 100644 index 0000000..08869f9 --- /dev/null +++ b/app/config/service/loader.yml @@ -0,0 +1,21 @@ +services: + service.loader: + abstract: true + class: AppBundle\Loader\Loader + arguments: ['@doctrine.orm.entity_manager'] + + service.ldview: + class: AppBundle\Service\LDViewService + arguments: ['%ldview_bin%', '@oneup_flysystem.media_filesystem'] + + loader.rebrickable: + class: AppBundle\Loader\RebrickableLoader + calls: + - [setArguments, ['@manager.rebrickable', '%rebrickable_url%']] + parent: service.loader + + loader.ldraw: + class: AppBundle\Loader\LDrawLoader + calls: + - [setArguments, ['@service.ldview', '%ldraw_url%', '@service.ldraw']] + parent: service.loader diff --git a/app/config/service/manager.yml b/app/config/service/manager.yml new file mode 100644 index 0000000..2a99018 --- /dev/null +++ b/app/config/service/manager.yml @@ -0,0 +1,23 @@ +services: + manager.ldraw.keyword: + class: AppBundle\Manager\LDraw\KeywordManager + arguments: + - "@repository.ldraw.keyword" + manager.ldraw.category: + class: AppBundle\Manager\LDraw\CategoryManager + arguments: + - "@repository.ldraw.category" + manager.ldraw.type: + class: AppBundle\Manager\LDraw\TypeManager + arguments: + - "@repository.ldraw.type" + manager.ldraw.part: + class: AppBundle\Manager\LDraw\PartManager + arguments: + - "@repository.ldraw.part" + manager.ldraw.partRelation: + class: AppBundle\Manager\LDraw\Part_RelationManager + arguments: + - "@repository.ldraw.partRelation" + + diff --git a/app/config/service/repository.yml b/app/config/service/repository.yml new file mode 100644 index 0000000..d3fa1a6 --- /dev/null +++ b/app/config/service/repository.yml @@ -0,0 +1,78 @@ +services: + repository.ldraw.keyword: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\LDraw\Keyword + + repository.ldraw.category: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\LDraw\Category + + repository.ldraw.model: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\LDraw\Model + + repository.ldraw.part: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\LDraw\Part + + repository.ldraw.type: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\LDraw\Type + + repository.ldraw.partRelation: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\LDraw\Part_Relation + + repository.rebrickable.category: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\Rebrickable\Category + + repository.rebrickable.color: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\Rebrickable\Color + + repository.rebrickable.inventory: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\Rebrickable\Inventory + + repository.rebrickable.inventoryPart: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\Rebrickable\Inventory_Part + + repository.rebrickable.part: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\Rebrickable\Part + + repository.rebrickable.set: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\Rebrickable\Set + + repository.rebrickable.theme: + class: Doctrine\ORM\EntityRepository + factory: ["@doctrine", getRepository] + arguments: + - AppBundle\Entity\Rebrickable\Theme \ No newline at end of file diff --git a/app/config/service/service.yml b/app/config/service/service.yml new file mode 100644 index 0000000..2d96f56 --- /dev/null +++ b/app/config/service/service.yml @@ -0,0 +1,19 @@ +services: + sevice.collection: + class: AppBundle\Service\CollectionService + arguments: ['@doctrine', '@manager.brickset','@manager.rebrickable'] + + service.ldraw: + class: AppBundle\Service\LDrawService + arguments: + - '@manager.ldraw.category' + - '@manager.ldraw.keyword' + - '@manager.ldraw.type' + - '@manager.ldraw.part' + - '@manager.ldraw.partRelation' + + app.form.filter_set: + class: AppBundle\Form\FilterSetType + arguments: ['@manager.brickset'] + tags: + - { name: form.type } \ No newline at end of file diff --git a/app/config/services.yml b/app/config/services.yml index 7a23fce..eba0605 100644 --- a/app/config/services.yml +++ b/app/config/services.yml @@ -1,45 +1,6 @@ -services: - client.brickset: - class: AppBundle\Api\Client\Brickset\Brickset - arguments: ['%brickset_apikey%'] - client.rebrickable: - class: AppBundle\Api\Client\Rebrickable\Rebrickable_v3 - arguments: ['%rebrickable_apikey%'] - - manager.brickset: - class: AppBundle\Api\Manager\BricksetManager - arguments: ['@client.brickset'] - manager.rebrickable: - class: AppBundle\Api\Manager\RebrickableManager - arguments: ['@client.rebrickable'] - - sevice.collection: - class: AppBundle\Service\CollectionService - arguments: ['@doctrine.orm.entity_manager', '@manager.brickset','@manager.rebrickable'] - - service.loader: - abstract: true - class: AppBundle\Loader\Loader - arguments: ['@doctrine.orm.entity_manager'] - - service.ldview: - class: AppBundle\Service\LDViewService - arguments: ['%ldview_bin%', '@oneup_flysystem.media_filesystem'] - - loader.rebrickable: - class: AppBundle\Loader\RebrickableLoader - calls: - - [setArguments, ['@manager.rebrickable', '%rebrickable_url%']] - parent: service.loader - - loader.ldraw: - class: AppBundle\Loader\LDrawLoader - calls: - - [setArguments, ['@service.ldview', '%ldraw_url%']] - parent: service.loader - - app.form.filter_set: - class: AppBundle\Form\FilterSetType - arguments: ['@manager.brickset'] - tags: - - { name: form.type } \ No newline at end of file +imports: + - { resource: service/repository.yml } + - { resource: service/api.yml } + - { resource: service/loader.yml } + - { resource: service/manager.yml } + - { resource: service/service.yml } diff --git a/src/AppBundle/Service/LDrawService.php b/src/AppBundle/Service/LDrawService.php new file mode 100644 index 0000000..ca7d848 --- /dev/null +++ b/src/AppBundle/Service/LDrawService.php @@ -0,0 +1,85 @@ +categoryManager = $categoryManager; + $this->keywordManager = $keywordManager; + $this->typeManager = $typeManager; + $this->partManager = $partManager; + $this->partRelationManager = $partRelationManager; + } + + /** + * @return mixed + */ + public function getCategoryManager() + { + return $this->categoryManager; + } + + /** + * @return mixed + */ + public function getKeywordManager() + { + return $this->keywordManager; + } + + /** + * @return TypeManager + */ + public function getTypeManager() + { + return $this->typeManager; + } + + /** + * @return PartManager + */ + public function getPartManager() + { + return $this->partManager; + } + + /** + * @return Part_RelationManager + */ + public function getPartRelationManager() + { + return $this->partRelationManager; + } +}