package org.mercury_im.messenger.data.repository;

import javax.inject.Inject;
import javax.inject.Singleton;

@Singleton
public class Repositories {

    private final AccountRepository accountRepository;
    private final DirectChatRepository directChatRepository;
    private final GroupChatRepository groupChatRepository;
    private final MessageRepository messageRepository;
    private final PeerRepository peerRepository;
    private final EntityCapsRepository entityCapsRepository;

    @Inject
    public Repositories(AccountRepository accountRepository,
                        DirectChatRepository directChatRepository,
                        GroupChatRepository groupChatRepository,
                        MessageRepository messageRepository,
                        PeerRepository peerRepository,
                        EntityCapsRepository entityCapsRepository) {
        this.accountRepository = accountRepository;
        this.directChatRepository = directChatRepository;
        this.groupChatRepository = groupChatRepository;
        this.messageRepository = messageRepository;
        this.peerRepository = peerRepository;
        this.entityCapsRepository = entityCapsRepository;
    }

    public AccountRepository getAccountRepository() {
        return accountRepository;
    }

    public DirectChatRepository getDirectChatRepository() {
        return directChatRepository;
    }

    public GroupChatRepository getGroupChatRepository() {
        return groupChatRepository;
    }

    public MessageRepository getMessageRepository() {
        return messageRepository;
    }

    public PeerRepository getPeerRepository() {
        return peerRepository;
    }

    public EntityCapsRepository getEntityCapsRepository() {
        return entityCapsRepository;
    }
}
