diff --git a/assets/components/tracking/watchlist/WatchlistCard.tsx b/assets/components/tracking/watchlist/WatchlistCard.tsx index a93b9e5..61cc9eb 100644 --- a/assets/components/tracking/watchlist/WatchlistCard.tsx +++ b/assets/components/tracking/watchlist/WatchlistCard.tsx @@ -1,5 +1,5 @@ import {Card, Divider, Space, Table, Tag, Tooltip} from "antd"; -import {DisconnectOutlined, LinkOutlined} from "@ant-design/icons"; +import {ClockCircleOutlined, DeleteOutlined, DisconnectOutlined, LinkOutlined} from "@ant-design/icons"; import {t} from "ttag"; import {ViewDiagramWatchlistButton} from "./diagram/ViewDiagramWatchlistButton"; import {UpdateWatchlistButton} from "./UpdateWatchlistButton"; @@ -78,7 +78,17 @@ export function WatchlistCard({watchlist, onUpdateWatchlist, connectors, onDelet pagination={false} style={{width: '100%'}} dataSource={[{ - domains: watchlist.domains.map(d => {punycode.toUnicode(d.ldhName)}), + domains: watchlist.domains.map(d => : // If the domain is deleted + d.status.includes('redemption period') ? : + d.status.includes('pending delete') ? : null + }>{punycode.toUnicode(d.ldhName)}), events: watchlist.triggers?.filter(t => t.action === 'email') .map(t => diff --git a/assets/pages/tracking/WatchlistPage.tsx b/assets/pages/tracking/WatchlistPage.tsx index c647f79..15d18da 100644 --- a/assets/pages/tracking/WatchlistPage.tsx +++ b/assets/pages/tracking/WatchlistPage.tsx @@ -15,7 +15,7 @@ import {AimOutlined} from "@ant-design/icons"; export type Watchlist = { name?: string token: string, - domains: { ldhName: string }[], + domains: { ldhName: string, deleted: boolean, status: string[] }[], triggers?: { event: EventAction, action: string }[], dsn?: string[] connector?: { diff --git a/src/Entity/Domain.php b/src/Entity/Domain.php index 31ac69d..6535581 100644 --- a/src/Entity/Domain.php +++ b/src/Entity/Domain.php @@ -70,7 +70,7 @@ class Domain private Collection $domainEntities; #[ORM\Column(type: Types::SIMPLE_ARRAY, nullable: true)] - #[Groups(['domain:item', 'domain:list'])] + #[Groups(['domain:item', 'domain:list', 'watchlist:item', 'watchlist:list'])] private array $status = []; /** @@ -103,7 +103,7 @@ class Domain private ?Tld $tld = null; #[ORM\Column(nullable: false)] - #[Groups(['domain:item', 'domain:list'])] + #[Groups(['domain:item', 'domain:list', 'watchlist:item', 'watchlist:list'])] private ?bool $deleted; /** @@ -375,8 +375,8 @@ class Domain return $this->getUpdatedAt() ->diff(new \DateTimeImmutable())->days >= 7 || (($fromUser || ($this->getUpdatedAt() - ->diff(new \DateTimeImmutable())->h * 60 + $this->getUpdatedAt() - ->diff(new \DateTimeImmutable())->i) >= 50) + ->diff(new \DateTimeImmutable())->h * 60 + $this->getUpdatedAt() + ->diff(new \DateTimeImmutable())->i) >= 50) && $this->isToBeWatchClosely()) || (count(array_intersect($this->getStatus(), ['auto renew period', 'client hold', 'server hold'])) > 0