update murph

This commit is contained in:
Simon Vieille 2022-11-19 20:42:30 +01:00
parent 41cf9590c6
commit 58956f2a83
Signed by: deblan
GPG key ID: 579388D585F70417
29 changed files with 163 additions and 430 deletions

View file

@ -16,13 +16,13 @@ doctrine:
mappings: mappings:
App\Core\Entity: App\Core\Entity:
is_bundle: false is_bundle: false
type: annotation type: attribute
dir: '%kernel.project_dir%/vendor/murph/murph-core/src/core/Entity' dir: '%kernel.project_dir%/vendor/murph/murph-core/src/core/Entity'
prefix: 'App\Core\Entity' prefix: 'App\Core\Entity'
alias: App\Core\Entity alias: App\Core\Entity
App\Entity: App\Entity:
is_bundle: false is_bundle: false
type: annotation type: attribute
dir: '%kernel.project_dir%/src/Entity' dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity' prefix: 'App\Entity'
alias: App\Entity alias: App\Entity

View file

@ -10,9 +10,7 @@ use Symfony\Component\Routing\Annotation\Route;
class CommentController extends AbstractController class CommentController extends AbstractController
{ {
/** #[Route(path: '/api/blog/comment/preview', name: 'api_blog_comment_preview', options: ['expose' => true])]
* @Route("/api/blog/comment/preview", name="api_blog_comment_preview", options={"expose"=true})
*/
public function preview(Request $request, CommentParser $parser): JsonResponse public function preview(Request $request, CommentParser $parser): JsonResponse
{ {
return $this->json([ return $this->json([

View file

@ -18,9 +18,7 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Session; use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** #[Route(path: '/admin/blog/category')]
* @Route("/admin/blog/category")
*/
class CategoryAdminController extends CrudController class CategoryAdminController extends CrudController
{ {
public function getConfiguration(): CrudConfiguration public function getConfiguration(): CrudConfiguration
@ -81,33 +79,25 @@ class CategoryAdminController extends CrudController
; ;
} }
/** #[Route(path: '/{page}', name: 'admin_blog_category_index', requirements: ['page' => '\d+'])]
* @Route("/{page}", name="admin_blog_category_index", requirements={"page": "\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/new', name: 'admin_blog_category_new')]
* @Route("/new", name="admin_blog_category_new")
*/
public function new(EntityFactory $factory, EntityManager $entityManager, Request $request): Response public function new(EntityFactory $factory, EntityManager $entityManager, Request $request): Response
{ {
return $this->doNew($factory->create(), $entityManager, $request); return $this->doNew($factory->create(), $entityManager, $request);
} }
/** #[Route(path: '/edit/{entity}', name: 'admin_blog_category_edit')]
* @Route("/edit/{entity}", name="admin_blog_category_edit")
*/
public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doEdit($entity, $entityManager, $request); return $this->doEdit($entity, $entityManager, $request);
} }
/** #[Route(path: '/show/{entity}', name: 'admin_blog_category_show')]
* @Route("/show/{entity}", name="admin_blog_category_show")
*/
public function show(Entity $entity, PostRepositoryQuery $postQuery): Response public function show(Entity $entity, PostRepositoryQuery $postQuery): Response
{ {
$posts = $postQuery->create() $posts = $postQuery->create()
@ -123,25 +113,19 @@ class CategoryAdminController extends CrudController
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/filter', name: 'admin_blog_category_filter', methods: ['GET'])]
* @Route("/filter", name="admin_blog_category_filter", methods={"GET"})
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/delete/{entity}', name: 'admin_blog_category_delete', methods: ['DELETE'])]
* @Route("/delete/{entity}", name="admin_blog_category_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/blog_category/batch/{page}', name: 'admin_blog_category_batch', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/blog_category/batch/{page}", name="admin_blog_category_batch", methods={"POST"}, requirements={"page":"\d+"})
*/
public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doBatch($page, $query, $entityManager, $request, $session); return $this->doBatch($page, $query, $entityManager, $request, $session);

View file

@ -17,9 +17,7 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Session; use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** #[Route(path: '/admin/blog/comment')]
* @Route("/admin/blog/comment")
*/
class CommentAdminController extends CrudController class CommentAdminController extends CrudController
{ {
public function getConfiguration(): CrudConfiguration public function getConfiguration(): CrudConfiguration
@ -67,49 +65,37 @@ class CommentAdminController extends CrudController
; ;
} }
/** #[Route(path: '/{page}', name: 'admin_blog_comment_index', requirements: ['page' => '\d+'])]
* @Route("/{page}", name="admin_blog_comment_index", requirements={"page": "\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/edit/{entity}', name: 'admin_blog_comment_edit')]
* @Route("/edit/{entity}", name="admin_blog_comment_edit")
*/
public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doEdit($entity, $entityManager, $request); return $this->doEdit($entity, $entityManager, $request);
} }
/** #[Route(path: '/show/{entity}', name: 'admin_blog_comment_show')]
* @Route("/show/{entity}", name="admin_blog_comment_show")
*/
public function show(Entity $entity): Response public function show(Entity $entity): Response
{ {
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/filters', name: 'admin_blog_comment_filter')]
* @Route("/filters", name="admin_blog_comment_filter")
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/delete/{entity}', name: 'admin_blog_comment_delete', methods: ['DELETE'])]
* @Route("/delete/{entity}", name="admin_blog_comment_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/blog_comment/batch/{page}', name: 'admin_blog_comment_batch', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/blog_comment/batch/{page}", name="admin_blog_comment_batch", methods={"POST"}, requirements={"page":"\d+"})
*/
public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doBatch($page, $query, $entityManager, $request, $session); return $this->doBatch($page, $query, $entityManager, $request, $session);

View file

@ -24,9 +24,7 @@ use App\Entity\Blog\Post;
use App\Analytic\DateRangeAnalytic; use App\Analytic\DateRangeAnalytic;
use App\Core\Repository\Site\NodeRepository; use App\Core\Repository\Site\NodeRepository;
/** #[Route(path: '/admin/blog/post')]
* @Route("/admin/blog/post")
*/
class PostAdminController extends CrudController class PostAdminController extends CrudController
{ {
public function getConfiguration(): CrudConfiguration public function getConfiguration(): CrudConfiguration
@ -99,17 +97,13 @@ class PostAdminController extends CrudController
; ;
} }
/** #[Route(path: '/{page}', name: 'admin_blog_post_index', requirements: ['page' => '\d+'])]
* @Route("/{page}", name="admin_blog_post_index", requirements={"page": "\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/new', name: 'admin_blog_post_new')]
* @Route("/new", name="admin_blog_post_new")
*/
public function new(EntityFactory $factory, EntityManager $entityManager, FileUploadHandler $fileUpload, Request $request): Response public function new(EntityFactory $factory, EntityManager $entityManager, FileUploadHandler $fileUpload, Request $request): Response
{ {
return $this->doNew( return $this->doNew(
@ -130,9 +124,7 @@ class PostAdminController extends CrudController
); );
} }
/** #[Route(path: '/edit/{entity}', name: 'admin_blog_post_edit')]
* @Route("/edit/{entity}", name="admin_blog_post_edit")
*/
public function edit(Entity $entity, EntityManager $entityManager, FileUploadHandler $fileUpload, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, FileUploadHandler $fileUpload, Request $request): Response
{ {
return $this->doEdit( return $this->doEdit(
@ -153,25 +145,19 @@ class PostAdminController extends CrudController
); );
} }
/** #[Route(path: '/show/{entity}', name: 'admin_blog_post_show')]
* @Route("/show/{entity}", name="admin_blog_post_show")
*/
public function show(Entity $entity): Response public function show(Entity $entity): Response
{ {
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/admin/blog_post/batch/{page}', name: 'admin_blog_post_batch', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/blog_post/batch/{page}", name="admin_blog_post_batch", methods={"POST"}, requirements={"page":"\d+"})
*/
public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doBatch($page, $query, $entityManager, $request, $session); return $this->doBatch($page, $query, $entityManager, $request, $session);
} }
/** #[Route(path: '/fetch_quick_data/{entity}', name: 'admin_blog_post_fetch_quick_data')]
* @Route("/fetch_quick_data/{entity}", name="admin_blog_post_fetch_quick_data")
*/
public function fetchQuickData(Entity $entity, EntityManager $entityManager): Response public function fetchQuickData(Entity $entity, EntityManager $entityManager): Response
{ {
$configuration = $this->getConfiguration(); $configuration = $this->getConfiguration();
@ -216,25 +202,19 @@ class PostAdminController extends CrudController
]); ]);
} }
/** #[Route(path: '/filters', name: 'admin_blog_post_filter')]
* @Route("/filters", name="admin_blog_post_filter")
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/delete/{entity}', name: 'admin_blog_post_delete', methods: ['DELETE'])]
* @Route("/delete/{entity}", name="admin_blog_post_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);
} }
/** #[Route(path: '/analytic_stats/{entity}/{range}', name: 'admin_blog_post_analytic_stats')]
* @Route("/analytic_stats/{entity}/{range}", name="admin_blog_post_analytic_stats")
*/
public function stats( public function stats(
Entity $entity, Entity $entity,
DateRangeAnalytic $analytic, DateRangeAnalytic $analytic,

View file

@ -32,9 +32,7 @@ class PostController extends PageController
$this->postQuery = $postQuery; $this->postQuery = $postQuery;
} }
/** #[UrlGenerator(service: PostGenerator::class, method: 'post')]
* @UrlGenerator(service=PostGenerator::class, method="post")
*/
public function post( public function post(
Post $post, Post $post,
string $slug, string $slug,
@ -123,9 +121,7 @@ class PostController extends PageController
]); ]);
} }
/** #[UrlGenerator(service: PostGenerator::class, method: 'category')]
* @UrlGenerator(service=PostGenerator::class, method="category")
*/
public function category(Category $category, string $slug, int $page = 1): Response public function category(Category $category, string $slug, int $page = 1): Response
{ {
$entities = $this->createQuery() $entities = $this->createQuery()

View file

@ -6,14 +6,10 @@ use App\Core\Controller\Dashboard\DashboardAdminController as Controller;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** #[Route(path: '/admin')]
* @Route("/admin")
*/
class DashboardAdminController extends Controller class DashboardAdminController extends Controller
{ {
/** #[Route(path: '/', name: 'admin_dashboard_index')]
* @Route("/", name="admin_dashboard_index")
*/
public function index(): Response public function index(): Response
{ {
return $this->render('admin/dashboard.html.twig'); return $this->render('admin/dashboard.html.twig');

View file

@ -19,65 +19,49 @@ use App\Entity\Project;
class ProjectAdminController extends CrudController class ProjectAdminController extends CrudController
{ {
/** #[Route(path: '/admin/project/{page}', name: 'admin_project_index', methods: ['GET'], requirements: ['page' => '\d+'])]
* @Route("/admin/project/{page}", name="admin_project_index", methods={"GET"}, requirements={"page":"\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/admin/project/new', name: 'admin_project_new', methods: ['GET', 'POST'])]
* @Route("/admin/project/new", name="admin_project_new", methods={"GET", "POST"})
*/
public function new(Factory $factory, EntityManager $entityManager, Request $request): Response public function new(Factory $factory, EntityManager $entityManager, Request $request): Response
{ {
return $this->doNew($factory->create(), $entityManager, $request); return $this->doNew($factory->create(), $entityManager, $request);
} }
/** #[Route(path: '/admin/project/show/{entity}', name: 'admin_project_show', methods: ['GET'])]
* @Route("/admin/project/show/{entity}", name="admin_project_show", methods={"GET"})
*/
public function show(Entity $entity): Response public function show(Entity $entity): Response
{ {
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/admin/project/filter', name: 'admin_project_filter', methods: ['GET'])]
* @Route("/admin/project/filter", name="admin_project_filter", methods={"GET"})
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/admin/project/edit/{entity}', name: 'admin_project_edit', methods: ['GET', 'POST'])]
* @Route("/admin/project/edit/{entity}", name="admin_project_edit", methods={"GET", "POST"})
*/
public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doEdit($entity, $entityManager, $request); return $this->doEdit($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/project/sort/{page}', name: 'admin_project_sort', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/project/sort/{page}", name="admin_project_sort", methods={"POST"}, requirements={"page":"\d+"})
*/
public function sort(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function sort(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doSort($page, $query, $entityManager, $request, $session); return $this->doSort($page, $query, $entityManager, $request, $session);
} }
/** #[Route(path: '/admin/project/batch/{page}', name: 'admin_project_batch', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/project/batch/{page}", name="admin_project_batch", methods={"POST"}, requirements={"page":"\d+"})
*/
public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doBatch($page, $query, $entityManager, $request, $session); return $this->doBatch($page, $query, $entityManager, $request, $session);
} }
/** #[Route(path: '/admin/project/delete/{entity}', name: 'admin_project_delete', methods: ['DELETE'])]
* @Route("/admin/project/delete/{entity}", name="admin_project_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);

View file

@ -18,65 +18,49 @@ use Symfony\Component\Routing\Annotation\Route;
class StlMeshAdminController extends CrudController class StlMeshAdminController extends CrudController
{ {
/** #[Route(path: '/admin/stl_mesh/{page}', name: 'admin_stl_mesh_index', methods: ['GET'], requirements: ['page' => '\d+'])]
* @Route("/admin/stl_mesh/{page}", name="admin_stl_mesh_index", methods={"GET"}, requirements={"page":"\d+"})
*/
public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response public function index(RepositoryQuery $query, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doIndex($page, $query, $request, $session); return $this->doIndex($page, $query, $request, $session);
} }
/** #[Route(path: '/admin/stl_mesh/new', name: 'admin_stl_mesh_new', methods: ['GET', 'POST'])]
* @Route("/admin/stl_mesh/new", name="admin_stl_mesh_new", methods={"GET", "POST"})
*/
public function new(Factory $factory, EntityManager $entityManager, Request $request): Response public function new(Factory $factory, EntityManager $entityManager, Request $request): Response
{ {
return $this->doNew($factory->create(), $entityManager, $request); return $this->doNew($factory->create(), $entityManager, $request);
} }
/** #[Route(path: '/admin/stl_mesh/show/{entity}', name: 'admin_stl_mesh_show', methods: ['GET'])]
* @Route("/admin/stl_mesh/show/{entity}", name="admin_stl_mesh_show", methods={"GET"})
*/
public function show(Entity $entity): Response public function show(Entity $entity): Response
{ {
return $this->doShow($entity); return $this->doShow($entity);
} }
/** #[Route(path: '/admin/stl_mesh/filter', name: 'admin_stl_mesh_filter', methods: ['GET'])]
* @Route("/admin/stl_mesh/filter", name="admin_stl_mesh_filter", methods={"GET"})
*/
public function filter(Session $session): Response public function filter(Session $session): Response
{ {
return $this->doFilter($session); return $this->doFilter($session);
} }
/** #[Route(path: '/admin/stl_mesh/edit/{entity}', name: 'admin_stl_mesh_edit', methods: ['GET', 'POST'])]
* @Route("/admin/stl_mesh/edit/{entity}", name="admin_stl_mesh_edit", methods={"GET", "POST"})
*/
public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response public function edit(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doEdit($entity, $entityManager, $request); return $this->doEdit($entity, $entityManager, $request);
} }
/** #[Route(path: '/admin/stl_mesh/sort/{page}', name: 'admin_stl_mesh_sort', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/stl_mesh/sort/{page}", name="admin_stl_mesh_sort", methods={"POST"}, requirements={"page":"\d+"})
*/
public function sort(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function sort(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doSort($page, $query, $entityManager, $request, $session); return $this->doSort($page, $query, $entityManager, $request, $session);
} }
/** #[Route(path: '/admin/stl_mesh/batch/{page}', name: 'admin_stl_mesh_batch', methods: ['POST'], requirements: ['page' => '\d+'])]
* @Route("/admin/stl_mesh/batch/{page}", name="admin_stl_mesh_batch", methods={"POST"}, requirements={"page":"\d+"})
*/
public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response public function batch(RepositoryQuery $query, EntityManager $entityManager, Request $request, Session $session, int $page = 1): Response
{ {
return $this->doBatch($page, $query, $entityManager, $request, $session); return $this->doBatch($page, $query, $entityManager, $request, $session);
} }
/** #[Route(path: '/admin/stl_mesh/delete/{entity}', name: 'admin_stl_mesh_delete', methods: ['DELETE'])]
* @Route("/admin/stl_mesh/delete/{entity}", name="admin_stl_mesh_delete", methods={"DELETE"})
*/
public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response public function delete(Entity $entity, EntityManager $entityManager, Request $request): Response
{ {
return $this->doDelete($entity, $entityManager, $request); return $this->doDelete($entity, $entityManager, $request);

View file

@ -25,9 +25,7 @@ class StlMeshController extends PageController
]); ]);
} }
/** #[Route(path: '/mesh/download/{stlMesh}/{key}', name: 'mesh_download')]
* @Route("/mesh/download/{stlMesh}/{key}", name="mesh_download")
*/
public function download(StlMesh $stlMesh, int $key): Response public function download(StlMesh $stlMesh, int $key): Response
{ {
$file = $stlMesh->getFiles()[--$key] ?? null; $file = $stlMesh->getFiles()[--$key] ?? null;
@ -45,9 +43,7 @@ class StlMeshController extends PageController
return $response; return $response;
} }
/** #[Route(path: '/mesh/viewer/{stlMesh}/{key}', name: 'mesh_viewer')]
* @Route("/mesh/viewer/{stlMesh}/{key}", name="mesh_viewer")
*/
public function viewer(StlMesh $stlMesh, int $key): Response public function viewer(StlMesh $stlMesh, int $key): Response
{ {
$file = $stlMesh->getFiles()[--$key] ?? null; $file = $stlMesh->getFiles()[--$key] ?? null;

View file

@ -9,59 +9,39 @@ use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: CategoryRepository::class)]
* @ORM\Entity(repositoryClass=CategoryRepository::class) #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks
*/
class Category implements EntityInterface class Category implements EntityInterface
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
private $id; private $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
private $title; private $title;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $subTitle; private $subTitle;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
private $description; private $description;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $slug; private $slug;
/** #[ORM\ManyToMany(targetEntity: Post::class, mappedBy: 'categories')]
* @ORM\ManyToMany(targetEntity=Post::class, mappedBy="categories")
*/
private $posts; private $posts;
/** #[ORM\Column(type: 'boolean', options: ['default' => 1])]
* @ORM\Column(type="boolean", options={"default"=1})
*/
private $isActive; private $isActive;
/** #[ORM\ManyToOne(targetEntity: Category::class, inversedBy: 'categories')]
* @ORM\ManyToOne(targetEntity=Category::class, inversedBy="categories")
*/
private $parentCategory; private $parentCategory;
/** #[ORM\OneToMany(targetEntity: Category::class, mappedBy: 'parentCategory')]
* @ORM\OneToMany(targetEntity=Category::class, mappedBy="parentCategory")
*/
private $categories; private $categories;
public function __construct() public function __construct()

View file

@ -9,66 +9,44 @@ use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: CommentRepository::class)]
* @ORM\Entity(repositoryClass=CommentRepository::class) #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks
*/
class Comment implements EntityInterface class Comment implements EntityInterface
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
private $id; private $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
private $author; private $author;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $website; private $website;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $email; private $email;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
private $content; private $content;
/** #[ORM\Column(type: 'boolean')]
* @ORM\Column(type="boolean")
*/
private $isActive; private $isActive;
/** #[ORM\ManyToOne(targetEntity: Post::class, inversedBy: 'comments')]
* @ORM\ManyToOne(targetEntity=Post::class, inversedBy="comments") #[ORM\JoinColumn(nullable: false)]
* @ORM\JoinColumn(nullable=false)
*/
private $post; private $post;
/** #[ORM\ManyToOne(targetEntity: Comment::class, inversedBy: 'comments')]
* @ORM\ManyToOne(targetEntity=Comment::class, inversedBy="comments") #[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
* @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
*/
private $parentComment; private $parentComment;
/** #[ORM\OneToMany(targetEntity: Comment::class, mappedBy: 'parentComment')]
* @ORM\OneToMany(targetEntity=Comment::class, mappedBy="parentComment")
*/
private $comments; private $comments;
/** #[ORM\OneToMany(targetEntity: PostFollow::class, mappedBy: 'comment', orphanRemoval: true)]
* @ORM\OneToMany(targetEntity=PostFollow::class, mappedBy="comment", orphanRemoval=true)
*/
private $postFollows; private $postFollows;
public function __construct() public function __construct()

View file

@ -10,14 +10,11 @@ use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Table]
* @ORM\Entity(repositoryClass=PostRepository::class) #[ORM\Index(name: 'post_title', columns: ['title'], flags: ['fulltext'])]
* @ORM\Table(indexes={ #[ORM\Index(name: 'post_content', columns: ['content'], flags: ['fulltext'])]
* @ORM\Index(name="post_title", columns={"title"}, flags={"fulltext"}), #[ORM\Entity(repositoryClass: PostRepository::class)]
* @ORM\Index(name="post_content", columns={"content"}, flags={"fulltext"}) #[ORM\HasLifecycleCallbacks]
* })
* @ORM\HasLifecycleCallbacks
*/
class Post implements EntityInterface class Post implements EntityInterface
{ {
use Timestampable; use Timestampable;
@ -25,106 +22,66 @@ class Post implements EntityInterface
const DRAFT = 0; const DRAFT = 0;
const PUBLISHED = 1; const PUBLISHED = 1;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
private $id; private $id;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $title; private $title;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
private $content; private $content;
/** #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
private $status; private $status;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $slug; private $slug;
/** #[ORM\Column(type: 'datetime', nullable: true)]
* @ORM\Column(type="datetime", nullable=true)
*/
private $publishedAt; private $publishedAt;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $image; private $image;
/** #[ORM\ManyToMany(targetEntity: Category::class, inversedBy: 'posts')]
* @ORM\ManyToMany(targetEntity=Category::class, inversedBy="posts")
*/
private $categories; private $categories;
/** #[ORM\Column(type: 'string', length: 20)]
* @ORM\Column(type="string", length=20)
*/
private $contentFormat; private $contentFormat;
/** #[ORM\Column(type: 'array', nullable: true)]
* @ORM\Column(type="array", nullable=true)
*/
private $tags = []; private $tags = [];
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
private $isQuick = false; private $isQuick = false;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $quickUrl; private $quickUrl;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $quickImage; private $quickImage;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $quickVideo; private $quickVideo;
/** #[ORM\Column(type: 'integer', nullable: true)]
* @ORM\Column(type="integer", nullable=true)
*/
private $quickVideoWidth; private $quickVideoWidth;
/** #[ORM\Column(type: 'integer', nullable: true)]
* @ORM\Column(type="integer", nullable=true)
*/
private $quickVideoHeight; private $quickVideoHeight;
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
private $quickShowVideo = false; private $quickShowVideo = false;
/** #[ORM\OneToMany(targetEntity: Comment::class, mappedBy: 'post', orphanRemoval: true)]
* @ORM\OneToMany(targetEntity=Comment::class, mappedBy="post", orphanRemoval=true)
*/
private $comments; private $comments;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
private $notebook; private $notebook;
/** #[ORM\OneToMany(targetEntity: PostFollow::class, mappedBy: 'post', orphanRemoval: true)]
* @ORM\OneToMany(targetEntity=PostFollow::class, mappedBy="post", orphanRemoval=true)
*/
private $postFollows; private $postFollows;
public function __construct() public function __construct()

View file

@ -7,41 +7,29 @@ use App\Core\Entity\EntityInterface;
use App\Repository\Blog\PostFollowRepository; use App\Repository\Blog\PostFollowRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: PostFollowRepository::class)]
* @ORM\Entity(repositoryClass=PostFollowRepository::class) #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks
*/
class PostFollow implements EntityInterface class PostFollow implements EntityInterface
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
private $id; private $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
private $hash; private $hash;
/** #[ORM\Column(type: 'boolean')]
* @ORM\Column(type="boolean")
*/
private $isEnabled; private $isEnabled;
/** #[ORM\ManyToOne(targetEntity: Post::class, inversedBy: 'postFollows')]
* @ORM\ManyToOne(targetEntity=Post::class, inversedBy="postFollows") #[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private $post; private $post;
/** #[ORM\ManyToOne(targetEntity: Comment::class, inversedBy: 'postFollows')]
* @ORM\ManyToOne(targetEntity=Comment::class, inversedBy="postFollows") #[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private $comment; private $comment;
public function getId(): ?int public function getId(): ?int

View file

@ -4,9 +4,7 @@ namespace App\Entity\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class CategoriesPage extends TitledPage class CategoriesPage extends TitledPage
{ {
} }

View file

@ -4,9 +4,7 @@ namespace App\Entity\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class CategoryPage extends TitledPage class CategoryPage extends TitledPage
{ {
} }

View file

@ -4,9 +4,7 @@ namespace App\Entity\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class ContactPage extends SimplePage class ContactPage extends SimplePage
{ {
} }

View file

@ -4,9 +4,7 @@ namespace App\Entity\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class LinksPage extends SimplePage class LinksPage extends SimplePage
{ {
} }

View file

@ -4,9 +4,7 @@ namespace App\Entity\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class MeshPage extends SimplePage class MeshPage extends SimplePage
{ {
} }

View file

@ -4,9 +4,7 @@ namespace App\Entity\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class PostPage extends TitledPage class PostPage extends TitledPage
{ {
} }

View file

@ -4,9 +4,7 @@ namespace App\Entity\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class PostsPage extends TitledPage class PostsPage extends TitledPage
{ {
} }

View file

@ -8,9 +8,7 @@ use App\Core\Form\Site\Page\TextBlockType;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
/** #[ORM\Entity]
* @ORM\Entity
*/
class RssPage extends Page class RssPage extends Page
{ {
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)

View file

@ -4,9 +4,7 @@ namespace App\Entity\Page;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity]
* @ORM\Entity
*/
class SearchPage extends TitledPage class SearchPage extends TitledPage
{ {
} }

View file

@ -8,9 +8,7 @@ use App\Form\Type\SimpleMdTextareaBlockType;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
/** #[ORM\Entity]
* @ORM\Entity
*/
class SimplePage extends TitledPage class SimplePage extends TitledPage
{ {
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)

View file

@ -9,9 +9,7 @@ use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use App\Core\Entity\Site\Page\Page; use App\Core\Entity\Site\Page\Page;
/** #[ORM\Entity]
* @ORM\Entity
*/
class TextPage extends Page class TextPage extends Page
{ {
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)

View file

@ -8,9 +8,7 @@ use App\Core\Form\Site\Page\TextBlockType;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
/** #[ORM\Entity]
* @ORM\Entity
*/
class TitledPage extends Page class TitledPage extends Page
{ {
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)

View file

@ -7,10 +7,8 @@ use App\Core\Entity\EntityInterface;
use App\Repository\ProjectRepository; use App\Repository\ProjectRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
/** #[ORM\Entity(repositoryClass: ProjectRepository::class)]
* @ORM\Entity(repositoryClass=ProjectRepository::class) #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks
*/
class Project implements EntityInterface class Project implements EntityInterface
{ {
use Timestampable; use Timestampable;
@ -18,41 +16,27 @@ class Project implements EntityInterface
const DRAFT = 0; const DRAFT = 0;
const PUBLISHED = 1; const PUBLISHED = 1;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
private $id; private $id;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
private $label; private $label;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
private $description; private $description;
/** #[ORM\Column(type: 'integer', options: ['default' => 0])]
* @ORM\Column(type="integer", options={"default"=0})
*/
private $status = 0; private $status = 0;
/** #[ORM\Column(type: 'integer', nullable: true)]
* @ORM\Column(type="integer", nullable=true)
*/
private $sortOrder; private $sortOrder;
/** #[ORM\Column(type: 'array')]
* @ORM\Column(type="array")
*/
private $links = []; private $links = [];
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
private $image; private $image;
public function getId(): ?int public function getId(): ?int

View file

@ -6,41 +6,27 @@ use App\Repository\StlMeshRepository;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use App\Core\Entity\EntityInterface; use App\Core\Entity\EntityInterface;
/** #[ORM\Entity(repositoryClass: StlMeshRepository::class)]
* @ORM\Entity(repositoryClass=StlMeshRepository::class)
*/
class StlMesh implements EntityInterface class StlMesh implements EntityInterface
{ {
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
private $id; private $id;
/** #[ORM\Column(type: 'integer', nullable: true)]
* @ORM\Column(type="integer", nullable=true)
*/
private $sortOrder; private $sortOrder;
/** #[ORM\Column(type: 'string', length: 255)]
* @ORM\Column(type="string", length=255)
*/
private $label; private $label;
/** #[ORM\Column(type: 'text', nullable: true)]
* @ORM\Column(type="text", nullable=true)
*/
private $description; private $description;
/** #[ORM\Column(type: 'array', nullable: true)]
* @ORM\Column(type="array", nullable=true)
*/
private $files = []; private $files = [];
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $preview; private $preview;
public function getId(): ?int public function getId(): ?int

View file

@ -10,64 +10,44 @@ use Scheb\TwoFactorBundle\Model\Google\TwoFactorInterface;
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface; use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Security\Core\User\UserInterface;
/** #[ORM\Entity(repositoryClass: UserRepository::class)]
* @ORM\Entity(repositoryClass=UserRepository::class) #[ORM\HasLifecycleCallbacks]
* @ORM\HasLifecycleCallbacks()
*/
class User implements PasswordAuthenticatedUserInterface, UserInterface, TwoFactorInterface, EntityInterface class User implements PasswordAuthenticatedUserInterface, UserInterface, TwoFactorInterface, EntityInterface
{ {
use Timestampable; use Timestampable;
/** #[ORM\Id]
* @ORM\Id #[ORM\GeneratedValue]
* @ORM\GeneratedValue #[ORM\Column(type: 'integer')]
* @ORM\Column(type="integer")
*/
private $id; private $id;
/** #[ORM\Column(type: 'string', length: 180, unique: true)]
* @ORM\Column(type="string", length=180, unique=true)
*/
private $email; private $email;
/** #[ORM\Column(type: 'json')]
* @ORM\Column(type="json")
*/
private $roles = []; private $roles = [];
/** /**
* @var string The hashed password * @var string The hashed password
* @ORM\Column(type="string")
*/ */
#[ORM\Column(type: 'string')]
private $password; private $password;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $displayName; private $displayName;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $totpSecret; private $totpSecret;
/** #[ORM\Column(type: 'datetime', nullable: true)]
* @ORM\Column(type="datetime", nullable=true)
*/
private $passwordRequestedAt; private $passwordRequestedAt;
/** #[ORM\Column(type: 'string', length: 255, nullable: true)]
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $confirmationToken; private $confirmationToken;
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
private $isAdmin; private $isAdmin;
/** #[ORM\Column(type: 'boolean', options: ['default' => 0])]
* @ORM\Column(type="boolean", options={"default"=0})
*/
private $isWriter; private $isWriter;
public function __construct() public function __construct()