3 namespace Friendica\Object\Api\Mastodon;
5 use Friendica\BaseEntity;
6 use Friendica\Core\Protocol;
7 use Friendica\Database\DBA;
13 * @see https://docs.joinmastodon.org/api/entities/#stats
15 class Stats extends BaseEntity
18 protected $user_count = 0;
20 protected $status_count = 0;
22 protected $domain_count = 0;
25 * Creates a stats record
28 * @throws \Friendica\Network\HTTPException\InternalServerErrorException
30 public static function get() {
32 if (!empty(DI::config()->get('system', 'nodeinfo'))) {
33 $stats->user_count = intval(DI::config()->get('nodeinfo', 'total_users'));
34 $stats->status_count = DI::config()->get('nodeinfo', 'local_posts') + DI::config()->get('nodeinfo', 'local_comments');
35 $stats->domain_count = DBA::count('gserver', ["`network` in (?, ?) AND `last_contact` >= `last_failure`", Protocol::DFRN, Protocol::ACTIVITYPUB]);