├── .dockerignore ├── .editorconfig ├── .env ├── .gitignore ├── README.md ├── app.php ├── app ├── AppBundle.php ├── AppCache.php ├── AppKernel.php ├── Common │ ├── Doctrine │ │ ├── MigrationEventSubscriber.php │ │ └── NestedArrayHydrator.php │ ├── Security │ │ ├── EventListener │ │ │ └── JwtUserEventListener.php │ │ └── Token │ │ │ └── JwtUserToken.php │ └── services.php ├── GraphQL │ ├── Field │ │ ├── Author.php │ │ ├── Feed.php │ │ └── Post.php │ ├── Resolver │ │ ├── PostResolver.php │ │ └── UserResolver.php │ ├── Schema.php │ ├── Type │ │ ├── LocationType.php │ │ ├── PageInfoType.php │ │ ├── PaginatedList.php │ │ ├── PostType.php │ │ ├── Scalar │ │ │ └── UuidType.php │ │ └── UserType.php │ └── services.php ├── Posts │ ├── Action │ │ ├── AddPost.php │ │ └── AddPostAction.php │ ├── Model │ │ ├── Author.php │ │ ├── Location.php │ │ ├── Post.php │ │ ├── PostBuilder.php │ │ ├── PostRepository.php │ │ ├── Tag.php │ │ └── TagProcessor.php │ ├── Service │ │ ├── DoctrineTagsExtractor.php │ │ └── TextTagsExtractor.php │ └── services.php ├── Resources │ ├── config │ │ ├── config.yml │ │ ├── config_dev.yml │ │ ├── config_prod.yml │ │ ├── config_test.yml │ │ ├── parameters.yml │ │ ├── routing.yml │ │ ├── routing_dev.yml │ │ ├── security.yml │ │ └── services.yml │ ├── migrations │ │ └── Version20170326191521.php │ └── views │ │ ├── base.html.twig │ │ └── default │ │ └── index.html.twig ├── Uploads │ └── FileReference.php └── autoload.php ├── bin ├── boot ├── console ├── healthcheck ├── symfony_requirements └── wait_db ├── composer.json ├── composer.lock ├── docker ├── docker-compose.build.yml ├── docker-compose.local.yml ├── docker-compose.yml ├── nginx │ ├── Dockerfile │ ├── boot │ ├── config │ │ ├── conf.d │ │ │ └── default.tpl │ │ ├── directives │ │ │ ├── cache-file-descriptors.conf │ │ │ ├── extra-security.conf │ │ │ ├── gzip.conf │ │ │ ├── https_config.conf │ │ │ └── x-ua-compatible.conf │ │ ├── empty.conf │ │ ├── http_to_https_redirect.conf │ │ ├── locations │ │ │ ├── api_doc.conf │ │ │ ├── image_cache.conf │ │ │ ├── php_api.conf │ │ │ ├── protect-system-files.conf │ │ │ └── spa.conf │ │ └── nginx.conf │ └── web │ │ ├── app │ │ └── index.html │ │ ├── apple-touch-icon.png │ │ ├── favicon.ico │ │ └── robots.txt ├── php │ └── Dockerfile └── shortcuts │ ├── console │ ├── php │ └── psql ├── dynamicReturnTypeMeta.json ├── example.php ├── phpunit.xml.dist └── tests ├── Common └── Doctrine │ └── NestedArrayHydratorTest.php ├── Fixture ├── Fixture.php ├── PostsFixture.php └── TagsFixture.php └── Posts ├── Model └── PostTest.php └── Service └── TextTagsExtractorTest.php /.dockerignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/.env -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /phpunit.xml 2 | /var/* 3 | /vendor/ 4 | /docker/nginx/web/bundles/ 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/README.md -------------------------------------------------------------------------------- /app.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app.php -------------------------------------------------------------------------------- /app/AppBundle.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/AppBundle.php -------------------------------------------------------------------------------- /app/AppCache.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/AppCache.php -------------------------------------------------------------------------------- /app/AppKernel.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/AppKernel.php -------------------------------------------------------------------------------- /app/Common/Doctrine/MigrationEventSubscriber.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Common/Doctrine/MigrationEventSubscriber.php -------------------------------------------------------------------------------- /app/Common/Doctrine/NestedArrayHydrator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Common/Doctrine/NestedArrayHydrator.php -------------------------------------------------------------------------------- /app/Common/Security/EventListener/JwtUserEventListener.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Common/Security/EventListener/JwtUserEventListener.php -------------------------------------------------------------------------------- /app/Common/Security/Token/JwtUserToken.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Common/Security/Token/JwtUserToken.php -------------------------------------------------------------------------------- /app/Common/services.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Common/services.php -------------------------------------------------------------------------------- /app/GraphQL/Field/Author.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Field/Author.php -------------------------------------------------------------------------------- /app/GraphQL/Field/Feed.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Field/Feed.php -------------------------------------------------------------------------------- /app/GraphQL/Field/Post.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Field/Post.php -------------------------------------------------------------------------------- /app/GraphQL/Resolver/PostResolver.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Resolver/PostResolver.php -------------------------------------------------------------------------------- /app/GraphQL/Resolver/UserResolver.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Resolver/UserResolver.php -------------------------------------------------------------------------------- /app/GraphQL/Schema.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Schema.php -------------------------------------------------------------------------------- /app/GraphQL/Type/LocationType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Type/LocationType.php -------------------------------------------------------------------------------- /app/GraphQL/Type/PageInfoType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Type/PageInfoType.php -------------------------------------------------------------------------------- /app/GraphQL/Type/PaginatedList.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Type/PaginatedList.php -------------------------------------------------------------------------------- /app/GraphQL/Type/PostType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Type/PostType.php -------------------------------------------------------------------------------- /app/GraphQL/Type/Scalar/UuidType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Type/Scalar/UuidType.php -------------------------------------------------------------------------------- /app/GraphQL/Type/UserType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/Type/UserType.php -------------------------------------------------------------------------------- /app/GraphQL/services.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/GraphQL/services.php -------------------------------------------------------------------------------- /app/Posts/Action/AddPost.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Action/AddPost.php -------------------------------------------------------------------------------- /app/Posts/Action/AddPostAction.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Action/AddPostAction.php -------------------------------------------------------------------------------- /app/Posts/Model/Author.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Model/Author.php -------------------------------------------------------------------------------- /app/Posts/Model/Location.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Model/Location.php -------------------------------------------------------------------------------- /app/Posts/Model/Post.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Model/Post.php -------------------------------------------------------------------------------- /app/Posts/Model/PostBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Model/PostBuilder.php -------------------------------------------------------------------------------- /app/Posts/Model/PostRepository.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Model/PostRepository.php -------------------------------------------------------------------------------- /app/Posts/Model/Tag.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Model/Tag.php -------------------------------------------------------------------------------- /app/Posts/Model/TagProcessor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Model/TagProcessor.php -------------------------------------------------------------------------------- /app/Posts/Service/DoctrineTagsExtractor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Service/DoctrineTagsExtractor.php -------------------------------------------------------------------------------- /app/Posts/Service/TextTagsExtractor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/Service/TextTagsExtractor.php -------------------------------------------------------------------------------- /app/Posts/services.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Posts/services.php -------------------------------------------------------------------------------- /app/Resources/config/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/config.yml -------------------------------------------------------------------------------- /app/Resources/config/config_dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/config_dev.yml -------------------------------------------------------------------------------- /app/Resources/config/config_prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/config_prod.yml -------------------------------------------------------------------------------- /app/Resources/config/config_test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/config_test.yml -------------------------------------------------------------------------------- /app/Resources/config/parameters.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/parameters.yml -------------------------------------------------------------------------------- /app/Resources/config/routing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/routing.yml -------------------------------------------------------------------------------- /app/Resources/config/routing_dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/routing_dev.yml -------------------------------------------------------------------------------- /app/Resources/config/security.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/security.yml -------------------------------------------------------------------------------- /app/Resources/config/services.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/config/services.yml -------------------------------------------------------------------------------- /app/Resources/migrations/Version20170326191521.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/migrations/Version20170326191521.php -------------------------------------------------------------------------------- /app/Resources/views/base.html.twig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/views/base.html.twig -------------------------------------------------------------------------------- /app/Resources/views/default/index.html.twig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Resources/views/default/index.html.twig -------------------------------------------------------------------------------- /app/Uploads/FileReference.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/Uploads/FileReference.php -------------------------------------------------------------------------------- /app/autoload.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/app/autoload.php -------------------------------------------------------------------------------- /bin/boot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/bin/boot -------------------------------------------------------------------------------- /bin/console: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/bin/console -------------------------------------------------------------------------------- /bin/healthcheck: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/bin/healthcheck -------------------------------------------------------------------------------- /bin/symfony_requirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/bin/symfony_requirements -------------------------------------------------------------------------------- /bin/wait_db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/bin/wait_db -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/composer.json -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/composer.lock -------------------------------------------------------------------------------- /docker/docker-compose.build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/docker-compose.build.yml -------------------------------------------------------------------------------- /docker/docker-compose.local.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/docker-compose.local.yml -------------------------------------------------------------------------------- /docker/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/docker-compose.yml -------------------------------------------------------------------------------- /docker/nginx/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/Dockerfile -------------------------------------------------------------------------------- /docker/nginx/boot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/boot -------------------------------------------------------------------------------- /docker/nginx/config/conf.d/default.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/conf.d/default.tpl -------------------------------------------------------------------------------- /docker/nginx/config/directives/cache-file-descriptors.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/directives/cache-file-descriptors.conf -------------------------------------------------------------------------------- /docker/nginx/config/directives/extra-security.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/directives/extra-security.conf -------------------------------------------------------------------------------- /docker/nginx/config/directives/gzip.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/directives/gzip.conf -------------------------------------------------------------------------------- /docker/nginx/config/directives/https_config.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/directives/https_config.conf -------------------------------------------------------------------------------- /docker/nginx/config/directives/x-ua-compatible.conf: -------------------------------------------------------------------------------- 1 | # Force the latest IE version 2 | add_header "X-UA-Compatible" "IE=Edge"; -------------------------------------------------------------------------------- /docker/nginx/config/empty.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docker/nginx/config/http_to_https_redirect.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/http_to_https_redirect.conf -------------------------------------------------------------------------------- /docker/nginx/config/locations/api_doc.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/locations/api_doc.conf -------------------------------------------------------------------------------- /docker/nginx/config/locations/image_cache.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/locations/image_cache.conf -------------------------------------------------------------------------------- /docker/nginx/config/locations/php_api.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/locations/php_api.conf -------------------------------------------------------------------------------- /docker/nginx/config/locations/protect-system-files.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/locations/protect-system-files.conf -------------------------------------------------------------------------------- /docker/nginx/config/locations/spa.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/locations/spa.conf -------------------------------------------------------------------------------- /docker/nginx/config/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fesor/api-example/HEAD/docker/nginx/config/nginx.conf -------------------------------------------------------------------------------- /docker/nginx/web/app/index.html: -------------------------------------------------------------------------------- 1 |