From 28c678f42cb71541476fefca66f52bf775e87981 Mon Sep 17 00:00:00 2001 From: christianbeeznst Date: Fri, 19 Jan 2024 17:46:23 -0500 Subject: [PATCH] User: Cascade deletion entity refactor - refs BT#21198 --- src/CoreBundle/Entity/CourseRelUserCatalogue.php | 2 +- src/CoreBundle/Entity/CourseRequest.php | 2 +- src/CoreBundle/Entity/ExtraFieldSavedSearch.php | 4 ++-- src/CoreBundle/Entity/GradebookCategory.php | 2 +- src/CoreBundle/Entity/Portfolio.php | 2 +- src/CoreBundle/Entity/SessionRelCourseRelUser.php | 4 ++-- src/CoreBundle/Entity/SessionRelUser.php | 2 +- src/CoreBundle/Entity/SkillRelItemRelUser.php | 2 +- src/CoreBundle/Entity/SkillRelUserComment.php | 2 +- src/CoreBundle/Entity/TicketAssignedLog.php | 2 +- src/CoreBundle/Entity/TicketCategoryRelUser.php | 2 +- src/CoreBundle/Entity/TrackEAccessComplete.php | 2 +- src/CoreBundle/Entity/TrackELogin.php | 2 +- src/CoreBundle/Entity/User.php | 8 ++++---- src/CoreBundle/Entity/UserRelTag.php | 4 ++-- src/CourseBundle/Entity/CAttendanceResult.php | 2 +- src/CourseBundle/Entity/CAttendanceSheet.php | 2 +- src/CourseBundle/Entity/CForumPost.php | 2 +- src/CourseBundle/Entity/CForumThread.php | 2 +- src/CourseBundle/Entity/CGroupRelTutor.php | 2 +- src/CourseBundle/Entity/CGroupRelUser.php | 2 +- src/CourseBundle/Entity/CLpCategoryRelUser.php | 2 +- src/CourseBundle/Entity/CLpRelUser.php | 4 ++-- src/CourseBundle/Entity/CStudentPublication.php | 2 +- 24 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/CoreBundle/Entity/CourseRelUserCatalogue.php b/src/CoreBundle/Entity/CourseRelUserCatalogue.php index d65e60c47b..bfb391e316 100644 --- a/src/CoreBundle/Entity/CourseRelUserCatalogue.php +++ b/src/CoreBundle/Entity/CourseRelUserCatalogue.php @@ -24,7 +24,7 @@ class CourseRelUserCatalogue implements Stringable protected ?int $id = null; #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'courses', cascade: ['persist'])] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected ?User $user = null; #[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'users', cascade: ['persist'])] diff --git a/src/CoreBundle/Entity/CourseRequest.php b/src/CoreBundle/Entity/CourseRequest.php index 98e8d7b66a..7635e88f1d 100644 --- a/src/CoreBundle/Entity/CourseRequest.php +++ b/src/CoreBundle/Entity/CourseRequest.php @@ -24,7 +24,7 @@ class CourseRequest protected ?int $id = null; #[ORM\ManyToOne(targetEntity: User::class, cascade: ['persist'])] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; #[Assert\NotBlank] diff --git a/src/CoreBundle/Entity/ExtraFieldSavedSearch.php b/src/CoreBundle/Entity/ExtraFieldSavedSearch.php index ca46142981..7482133bca 100644 --- a/src/CoreBundle/Entity/ExtraFieldSavedSearch.php +++ b/src/CoreBundle/Entity/ExtraFieldSavedSearch.php @@ -27,10 +27,10 @@ class ExtraFieldSavedSearch protected ExtraField $field; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; - #[ORM\Column(name: 'value', type: 'array', nullable: true, unique: false)] + #[ORM\Column(name: 'value', type: 'array', unique: false, nullable: true)] protected ?array $value; public function __construct() diff --git a/src/CoreBundle/Entity/GradebookCategory.php b/src/CoreBundle/Entity/GradebookCategory.php index f89a11014e..990eaf5d6d 100644 --- a/src/CoreBundle/Entity/GradebookCategory.php +++ b/src/CoreBundle/Entity/GradebookCategory.php @@ -54,7 +54,7 @@ class GradebookCategory protected ?string $description; #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'gradeBookCategories')] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; #[ORM\ManyToOne(targetEntity: Course::class, inversedBy: 'gradebookCategories')] diff --git a/src/CoreBundle/Entity/Portfolio.php b/src/CoreBundle/Entity/Portfolio.php index d0e66d2e2d..5163fbec36 100644 --- a/src/CoreBundle/Entity/Portfolio.php +++ b/src/CoreBundle/Entity/Portfolio.php @@ -35,7 +35,7 @@ class Portfolio protected string $content; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] protected User $user; #[ORM\ManyToOne(targetEntity: Course::class)] diff --git a/src/CoreBundle/Entity/SessionRelCourseRelUser.php b/src/CoreBundle/Entity/SessionRelCourseRelUser.php index ad3eb25f1a..f4bb814289 100644 --- a/src/CoreBundle/Entity/SessionRelCourseRelUser.php +++ b/src/CoreBundle/Entity/SessionRelCourseRelUser.php @@ -76,14 +76,14 @@ class SessionRelCourseRelUser 'session_rel_course_rel_user:read', ])] #[ORM\ManyToOne(targetEntity: UserAlias::class, cascade: ['persist'], inversedBy: 'sessionRelCourseRelUsers')] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] protected UserAlias $user; #[Groups([ 'session_rel_course_rel_user:read', ])] #[ORM\ManyToOne(targetEntity: Session::class, cascade: ['persist'], inversedBy: 'sessionRelCourseRelUsers')] - #[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', nullable: false)] + #[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] protected Session $session; #[Groups([ diff --git a/src/CoreBundle/Entity/SessionRelUser.php b/src/CoreBundle/Entity/SessionRelUser.php index 87ec0f717d..9869eb201b 100644 --- a/src/CoreBundle/Entity/SessionRelUser.php +++ b/src/CoreBundle/Entity/SessionRelUser.php @@ -77,7 +77,7 @@ class SessionRelUser #[Assert\NotNull] #[Groups(['session_rel_user:read', 'session:item:read'])] #[ORM\ManyToOne(targetEntity: User::class, cascade: ['persist'], inversedBy: 'sessionsRelUser')] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; #[Groups(['session_rel_user:read', 'session:item:read'])] diff --git a/src/CoreBundle/Entity/SkillRelItemRelUser.php b/src/CoreBundle/Entity/SkillRelItemRelUser.php index a697841f91..927ef08343 100644 --- a/src/CoreBundle/Entity/SkillRelItemRelUser.php +++ b/src/CoreBundle/Entity/SkillRelItemRelUser.php @@ -28,7 +28,7 @@ class SkillRelItemRelUser protected SkillRelItem $skillRelItem; #[ORM\ManyToOne(targetEntity: User::class, cascade: ['persist'])] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] protected User $user; #[ORM\Column(name: 'result_id', type: 'integer', nullable: true)] diff --git a/src/CoreBundle/Entity/SkillRelUserComment.php b/src/CoreBundle/Entity/SkillRelUserComment.php index c713741ca0..0a688d2f81 100644 --- a/src/CoreBundle/Entity/SkillRelUserComment.php +++ b/src/CoreBundle/Entity/SkillRelUserComment.php @@ -24,7 +24,7 @@ class SkillRelUserComment protected ?SkillRelUser $skillRelUser = null; #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'commentedUserSkills')] - #[ORM\JoinColumn(name: 'feedback_giver_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'feedback_giver_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected ?User $feedbackGiver = null; #[ORM\Column(name: 'feedback_text', type: 'text')] diff --git a/src/CoreBundle/Entity/TicketAssignedLog.php b/src/CoreBundle/Entity/TicketAssignedLog.php index 4fb355e80f..d90874f533 100644 --- a/src/CoreBundle/Entity/TicketAssignedLog.php +++ b/src/CoreBundle/Entity/TicketAssignedLog.php @@ -23,7 +23,7 @@ class TicketAssignedLog protected Ticket $ticket; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; #[ORM\Column(name: 'sys_insert_user_id', type: 'integer', nullable: false)] diff --git a/src/CoreBundle/Entity/TicketCategoryRelUser.php b/src/CoreBundle/Entity/TicketCategoryRelUser.php index c31d899bc2..0f2c2697ed 100644 --- a/src/CoreBundle/Entity/TicketCategoryRelUser.php +++ b/src/CoreBundle/Entity/TicketCategoryRelUser.php @@ -25,6 +25,6 @@ class TicketCategoryRelUser protected TicketCategory $category; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected TicketCategory $user; } diff --git a/src/CoreBundle/Entity/TrackEAccessComplete.php b/src/CoreBundle/Entity/TrackEAccessComplete.php index e25ed91c53..09477e2cf3 100644 --- a/src/CoreBundle/Entity/TrackEAccessComplete.php +++ b/src/CoreBundle/Entity/TrackEAccessComplete.php @@ -24,7 +24,7 @@ class TrackEAccessComplete protected ?int $id = null; #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'trackEAccessCompleteList')] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE', nullable: false)] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] protected User $user; #[ORM\Column(name: 'date_reg', type: 'datetime', nullable: false)] diff --git a/src/CoreBundle/Entity/TrackELogin.php b/src/CoreBundle/Entity/TrackELogin.php index 01c7c3e4ec..6eae39eece 100644 --- a/src/CoreBundle/Entity/TrackELogin.php +++ b/src/CoreBundle/Entity/TrackELogin.php @@ -23,7 +23,7 @@ class TrackELogin #[ORM\GeneratedValue] protected int $loginId; - #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'logins', cascade: ['persist'])] + #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'logins')] #[ORM\JoinColumn(name: 'login_user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; diff --git a/src/CoreBundle/Entity/User.php b/src/CoreBundle/Entity/User.php index efdc0b9eb2..bdf39e2137 100644 --- a/src/CoreBundle/Entity/User.php +++ b/src/CoreBundle/Entity/User.php @@ -243,7 +243,7 @@ class User implements UserInterface, EquatableInterface, ResourceInterface, Reso /** * @var Collection */ - #[ORM\OneToMany(mappedBy: 'user', targetEntity: CourseRelUser::class, orphanRemoval: true)] + #[ORM\OneToMany(mappedBy: 'user', targetEntity: CourseRelUser::class, cascade: ['persist', 'remove'], orphanRemoval: true)] protected Collection $courses; /** @@ -305,7 +305,7 @@ class User implements UserInterface, EquatableInterface, ResourceInterface, Reso /** * @var Collection */ - #[ORM\OneToMany(mappedBy: 'creator', targetEntity: ResourceNode::class)] + #[ORM\OneToMany(mappedBy: 'creator', targetEntity: ResourceNode::class, cascade: ['persist', 'remove'])] protected Collection $resourceNodes; /** @@ -676,13 +676,13 @@ class User implements UserInterface, EquatableInterface, ResourceInterface, Reso /** * @var Collection */ - #[ORM\OneToMany(mappedBy: 'user', targetEntity: CSurveyInvitation::class, cascade: ['remove'])] + #[ORM\OneToMany(mappedBy: 'user', targetEntity: CSurveyInvitation::class, cascade: ['persist', 'remove'])] protected Collection $surveyInvitations; /** * @var Collection */ - #[ORM\OneToMany(mappedBy: 'user', targetEntity: TrackELogin::class, cascade: ['remove'])] + #[ORM\OneToMany(mappedBy: 'user', targetEntity: TrackELogin::class, cascade: ['persist', 'remove'])] protected Collection $logins; #[ORM\OneToOne(mappedBy: 'user', targetEntity: Admin::class, cascade: ['persist', 'remove'], orphanRemoval: true)] diff --git a/src/CoreBundle/Entity/UserRelTag.php b/src/CoreBundle/Entity/UserRelTag.php index fd53a0c2cc..ee4d342c3a 100644 --- a/src/CoreBundle/Entity/UserRelTag.php +++ b/src/CoreBundle/Entity/UserRelTag.php @@ -25,11 +25,11 @@ class UserRelTag #[ORM\GeneratedValue(strategy: 'IDENTITY')] protected ?int $id = null; - #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'userRelTags', cascade: ['persist'])] + #[ORM\ManyToOne(targetEntity: User::class, cascade: ['persist'], inversedBy: 'userRelTags')] #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; - #[ORM\ManyToOne(targetEntity: Tag::class, inversedBy: 'userRelTags', cascade: ['persist'])] + #[ORM\ManyToOne(targetEntity: Tag::class, cascade: ['persist'], inversedBy: 'userRelTags')] #[ORM\JoinColumn(name: 'tag_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected Tag $tag; diff --git a/src/CourseBundle/Entity/CAttendanceResult.php b/src/CourseBundle/Entity/CAttendanceResult.php index 345d008b40..6ba9969742 100644 --- a/src/CourseBundle/Entity/CAttendanceResult.php +++ b/src/CourseBundle/Entity/CAttendanceResult.php @@ -20,7 +20,7 @@ class CAttendanceResult protected ?int $iid = null; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; #[ORM\ManyToOne(targetEntity: CAttendance::class, inversedBy: 'results')] diff --git a/src/CourseBundle/Entity/CAttendanceSheet.php b/src/CourseBundle/Entity/CAttendanceSheet.php index bb6025aea3..3d9fc32819 100644 --- a/src/CourseBundle/Entity/CAttendanceSheet.php +++ b/src/CourseBundle/Entity/CAttendanceSheet.php @@ -25,7 +25,7 @@ class CAttendanceSheet protected bool $presence; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; #[ORM\ManyToOne(targetEntity: CAttendanceCalendar::class, inversedBy: 'sheets')] diff --git a/src/CourseBundle/Entity/CForumPost.php b/src/CourseBundle/Entity/CForumPost.php index 7837d96439..459a1f16bc 100644 --- a/src/CourseBundle/Entity/CForumPost.php +++ b/src/CourseBundle/Entity/CForumPost.php @@ -68,7 +68,7 @@ class CForumPost extends AbstractResource implements ResourceInterface, Stringab #[Assert\NotBlank] #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'poster_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'poster_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected ?User $user = null; #[ORM\ManyToOne(targetEntity: self::class, inversedBy: 'children')] diff --git a/src/CourseBundle/Entity/CForumThread.php b/src/CourseBundle/Entity/CForumThread.php index 5f997b0001..c754d9cb22 100644 --- a/src/CourseBundle/Entity/CForumThread.php +++ b/src/CourseBundle/Entity/CForumThread.php @@ -39,7 +39,7 @@ class CForumThread extends AbstractResource implements ResourceInterface, String protected ?CForum $forum = null; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'thread_poster_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'thread_poster_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; #[ORM\ManyToOne(targetEntity: CForumPost::class, cascade: ['persist', 'remove'])] diff --git a/src/CourseBundle/Entity/CGroupRelTutor.php b/src/CourseBundle/Entity/CGroupRelTutor.php index b72cd11d6e..444ae41092 100644 --- a/src/CourseBundle/Entity/CGroupRelTutor.php +++ b/src/CourseBundle/Entity/CGroupRelTutor.php @@ -23,7 +23,7 @@ class CGroupRelTutor protected int $cId; #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'courseGroupsAsTutor')] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] protected User $user; #[ORM\ManyToOne(targetEntity: CGroup::class, inversedBy: 'tutors')] diff --git a/src/CourseBundle/Entity/CGroupRelUser.php b/src/CourseBundle/Entity/CGroupRelUser.php index bed9b72246..2db8a9f874 100644 --- a/src/CourseBundle/Entity/CGroupRelUser.php +++ b/src/CourseBundle/Entity/CGroupRelUser.php @@ -29,7 +29,7 @@ class CGroupRelUser protected int $cId; #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'courseGroupsAsMember')] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] protected User $user; #[ORM\ManyToOne(targetEntity: CGroup::class, inversedBy: 'members')] diff --git a/src/CourseBundle/Entity/CLpCategoryRelUser.php b/src/CourseBundle/Entity/CLpCategoryRelUser.php index 44c03f3ec3..fa67072bd4 100644 --- a/src/CourseBundle/Entity/CLpCategoryRelUser.php +++ b/src/CourseBundle/Entity/CLpCategoryRelUser.php @@ -30,7 +30,7 @@ class CLpCategoryRelUser implements Stringable protected CLpCategory $category; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; public function __toString(): string diff --git a/src/CourseBundle/Entity/CLpRelUser.php b/src/CourseBundle/Entity/CLpRelUser.php index fbd5ef304a..38f7534025 100644 --- a/src/CourseBundle/Entity/CLpRelUser.php +++ b/src/CourseBundle/Entity/CLpRelUser.php @@ -41,7 +41,7 @@ class CLpRelUser protected ?Session $session = null; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false)] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] protected User $user; #[Gedmo\Timestampable(on: 'create')] @@ -49,7 +49,7 @@ class CLpRelUser protected DateTime $createdAt; #[ORM\ManyToOne(targetEntity: User::class, cascade: ['persist'])] - #[ORM\JoinColumn(name: 'creator_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'creator_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected ?User $creatorUser; public function getIid(): ?int diff --git a/src/CourseBundle/Entity/CStudentPublication.php b/src/CourseBundle/Entity/CStudentPublication.php index 5418b8ac13..19cd30e17c 100644 --- a/src/CourseBundle/Entity/CStudentPublication.php +++ b/src/CourseBundle/Entity/CStudentPublication.php @@ -140,7 +140,7 @@ class CStudentPublication extends AbstractResource implements ResourceInterface, protected ?CStudentPublication $publicationParent; #[ORM\ManyToOne(targetEntity: User::class)] - #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected User $user; #[Groups(['c_student_publication:write', 'student_publication:read'])]