using LiteDB;

using skydiveLogs_api.Domain;

namespace skydiveLogs_api.Infrastructure.Interfaces
{
    public interface IDataProvider
    {
        #region Public Methods

        void Close();

        ILiteCollection<T> GetCollection<T>();

        #endregion Public Methods

        #region Public Properties

        ILiteCollection<Aircraft> CollOfAircraft { get; }

        ILiteCollection<DropZone> CollOfDropZone { get; }

        ILiteCollection<FavoriteDropZone> CollOfFavoriteDropZone { get; }
        ILiteCollection<Gear> CollOfGear { get; }

        ILiteCollection<UserImage> CollOfImage { get; }
        ILiteCollection<Jump> CollOfJump { get; }
        ILiteCollection<JumpType> CollOfJumpType { get; }
        ILiteCollection<User> CollOfUser { get; }

        #endregion Public Properties
    }
}