xref: /webtrees/app/Statistics/Repository/Interfaces/LatestUserRepositoryInterface.php (revision d72b284a0846ca045e548a1c77ad11813bcbab92)
1<?php
2
3/**
4 * webtrees: online genealogy
5 * Copyright (C) 2019 webtrees development team
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17declare(strict_types=1);
18
19namespace Fisharebest\Webtrees\Statistics\Repository\Interfaces;
20
21/**
22 * A repository providing methods for latest user related statistics.
23 */
24interface LatestUserRepositoryInterface
25{
26    /**
27     * Get the newest registered user's ID.
28     *
29     * @return string
30     */
31    public function latestUserId(): string;
32
33    /**
34     * Get the newest registered user's username.
35     *
36     * @return string
37     */
38    public function latestUserName(): string;
39
40    /**
41     * Get the newest registered user's real name.
42     *
43     * @return string
44     */
45    public function latestUserFullName(): string;
46
47    /**
48     * Get the date of the newest user registration.
49     *
50     * @param string|null $format
51     *
52     * @return string
53     */
54    public function latestUserRegDate(string $format = null): string;
55
56    /**
57     * Find the timestamp of the latest user to register.
58     *
59     * @param string|null $format
60     *
61     * @return string
62     */
63    public function latestUserRegTime(string $format = null): string;
64
65    /**
66     * Is the most recently registered user logged in right now?
67     *
68     * @param string|null $yes
69     * @param string|null $no
70     *
71     * @return string
72     */
73    public function latestUserLoggedin(string $yes = null, string $no = null): string;
74}
75