#pragma once

#include <maps/wikimap/mapspro/services/social/src/libs/common/db_pools.h>

#include <maps/wikimap/mapspro/libs/acl_utils/include/caching_acl.h>
#include <maps/wikimap/mapspro/libs/acl_utils/include/cached_moderation_statuses.h>

#include <yandex/maps/wiki/configs/editor/config_holder.h>

namespace maps::wiki {

namespace common {

class ExtendedXmlDoc;

} // namespace common

namespace socialsrv {

struct GlobalsScope {
    explicit GlobalsScope(const common::ExtendedXmlDoc& config);
    ~GlobalsScope();
};

struct Globals
{
    static const configs::editor::ConfigHolder& editorConfig();
    static DbPools& dbPools();
    static acl_utils::CachingAclChecker& aclChecker();
    static acl_utils::UserGroupsUidsCache& userGroupsUidsCache();
};

} // namespace socialsrv

} // namespace maps::wiki
