mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-29 16:15:04 +00:00
feat: delete on cascade when a user is deleted
This commit is contained in:
@@ -13,7 +13,8 @@ import {
|
|||||||
LogoutOutlined,
|
LogoutOutlined,
|
||||||
SearchOutlined,
|
SearchOutlined,
|
||||||
TeamOutlined,
|
TeamOutlined,
|
||||||
UserOutlined
|
UserOutlined,
|
||||||
|
FieldBinaryOutlined
|
||||||
} from "@ant-design/icons";
|
} from "@ant-design/icons";
|
||||||
import {Badge, Menu} from "antd";
|
import {Badge, Menu} from "antd";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
@@ -52,19 +53,11 @@ export function Sider({isAuthenticated}: { isAuthenticated: boolean }) {
|
|||||||
onClick: () => navigate('/info/tld')
|
onClick: () => navigate('/info/tld')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'entity-finder',
|
key: 'ip-finder',
|
||||||
icon: <TeamOutlined/>,
|
icon: <FieldBinaryOutlined />,
|
||||||
label: t`Entity`,
|
label: t`LIPI IP Finder`,
|
||||||
title: t`Entity Finder`,
|
title: t`IP Finder`,
|
||||||
disabled: true,
|
disabled: false,
|
||||||
onClick: () => navigate('/search/entity')
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 'ns-finder',
|
|
||||||
icon: <CloudServerOutlined/>,
|
|
||||||
label: t`Nameserver`,
|
|
||||||
title: t`Nameserver Finder`,
|
|
||||||
disabled: true,
|
|
||||||
onClick: () => navigate('/search/nameserver')
|
onClick: () => navigate('/search/nameserver')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
50
migrations/Version20240806222018.php
Normal file
50
migrations/Version20240806222018.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace DoctrineMigrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Doctrine\Migrations\AbstractMigration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated Migration: Please modify to your needs!
|
||||||
|
*/
|
||||||
|
final class Version20240806222018 extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function getDescription(): string
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function up(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this up() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('ALTER TABLE connector DROP CONSTRAINT FK_148C456EA76ED395');
|
||||||
|
$this->addSql('ALTER TABLE connector ADD CONSTRAINT FK_148C456EA76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE watch_list DROP CONSTRAINT FK_152B584BA76ED395');
|
||||||
|
$this->addSql('ALTER TABLE watch_list ADD CONSTRAINT FK_152B584BA76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE watch_lists_domains DROP CONSTRAINT FK_F693E1D0D52D7AA6');
|
||||||
|
$this->addSql('ALTER TABLE watch_lists_domains DROP CONSTRAINT FK_F693E1D0AF923913');
|
||||||
|
$this->addSql('ALTER TABLE watch_lists_domains ADD CONSTRAINT FK_F693E1D0D52D7AA6 FOREIGN KEY (watch_list_token) REFERENCES watch_list (token) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE watch_lists_domains ADD CONSTRAINT FK_F693E1D0AF923913 FOREIGN KEY (domain_ldh_name) REFERENCES domain (ldh_name) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE watch_list_trigger DROP CONSTRAINT FK_CF857A4CC4508918');
|
||||||
|
$this->addSql('ALTER TABLE watch_list_trigger ADD CONSTRAINT FK_CF857A4CC4508918 FOREIGN KEY (watch_list_id) REFERENCES watch_list (token) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this down() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('CREATE SCHEMA public');
|
||||||
|
$this->addSql('ALTER TABLE watch_list_trigger DROP CONSTRAINT fk_cf857a4cc4508918');
|
||||||
|
$this->addSql('ALTER TABLE watch_list_trigger ADD CONSTRAINT fk_cf857a4cc4508918 FOREIGN KEY (watch_list_id) REFERENCES watch_list (token) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE watch_list DROP CONSTRAINT fk_152b584ba76ed395');
|
||||||
|
$this->addSql('ALTER TABLE watch_list ADD CONSTRAINT fk_152b584ba76ed395 FOREIGN KEY (user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE connector DROP CONSTRAINT fk_148c456ea76ed395');
|
||||||
|
$this->addSql('ALTER TABLE connector ADD CONSTRAINT fk_148c456ea76ed395 FOREIGN KEY (user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE watch_lists_domains DROP CONSTRAINT fk_f693e1d0d52d7aa6');
|
||||||
|
$this->addSql('ALTER TABLE watch_lists_domains DROP CONSTRAINT fk_f693e1d0af923913');
|
||||||
|
$this->addSql('ALTER TABLE watch_lists_domains ADD CONSTRAINT fk_f693e1d0d52d7aa6 FOREIGN KEY (watch_list_token) REFERENCES watch_list (token) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE watch_lists_domains ADD CONSTRAINT fk_f693e1d0af923913 FOREIGN KEY (domain_ldh_name) REFERENCES domain (ldh_name) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -44,7 +44,7 @@ class Connector
|
|||||||
private ?string $id;
|
private ?string $id;
|
||||||
|
|
||||||
#[ORM\ManyToOne(inversedBy: 'connectors')]
|
#[ORM\ManyToOne(inversedBy: 'connectors')]
|
||||||
#[ORM\JoinColumn(nullable: false)]
|
#[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
|
||||||
public ?User $user = null;
|
public ?User $user = null;
|
||||||
|
|
||||||
#[Groups(['connector:list', 'connector:create', 'watchlist:list'])]
|
#[Groups(['connector:list', 'connector:create', 'watchlist:list'])]
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ class WatchList
|
|||||||
private string $token;
|
private string $token;
|
||||||
|
|
||||||
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'watchLists')]
|
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'watchLists')]
|
||||||
#[ORM\JoinColumn(nullable: false)]
|
#[ORM\JoinColumn(nullable: false, onDelete: 'CASCADE')]
|
||||||
public ?User $user = null;
|
public ?User $user = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,8 +81,8 @@ class WatchList
|
|||||||
*/
|
*/
|
||||||
#[ORM\ManyToMany(targetEntity: Domain::class, inversedBy: 'watchLists')]
|
#[ORM\ManyToMany(targetEntity: Domain::class, inversedBy: 'watchLists')]
|
||||||
#[ORM\JoinTable(name: 'watch_lists_domains',
|
#[ORM\JoinTable(name: 'watch_lists_domains',
|
||||||
joinColumns: [new ORM\JoinColumn(name: 'watch_list_token', referencedColumnName: 'token')],
|
joinColumns: [new ORM\JoinColumn(name: 'watch_list_token', referencedColumnName: 'token', onDelete: 'CASCADE')],
|
||||||
inverseJoinColumns: [new ORM\JoinColumn(name: 'domain_ldh_name', referencedColumnName: 'ldh_name')])]
|
inverseJoinColumns: [new ORM\JoinColumn(name: 'domain_ldh_name', referencedColumnName: 'ldh_name', onDelete: 'CASCADE')])]
|
||||||
#[Groups(['watchlist:list', 'watchlist:item', 'watchlist:create', 'watchlist:update'])]
|
#[Groups(['watchlist:list', 'watchlist:item', 'watchlist:create', 'watchlist:update'])]
|
||||||
private Collection $domains;
|
private Collection $domains;
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class WatchListTrigger
|
|||||||
|
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\ManyToOne(targetEntity: WatchList::class, inversedBy: 'watchListTriggers')]
|
#[ORM\ManyToOne(targetEntity: WatchList::class, inversedBy: 'watchListTriggers')]
|
||||||
#[ORM\JoinColumn(referencedColumnName: 'token', nullable: false)]
|
#[ORM\JoinColumn(referencedColumnName: 'token', nullable: false, onDelete: 'CASCADE')]
|
||||||
private ?WatchList $watchList = null;
|
private ?WatchList $watchList = null;
|
||||||
|
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
|
|||||||
Reference in New Issue
Block a user