package com.ufund.api.ufundapi.persistence;

import com.ufund.api.ufundapi.model.UserAuth;

import java.io.IOException;

public interface UserAuthDAO {

    /**
     * Get a user authentication profile
     *
     * @param key The auth key
     * @return The authentication profile or null if there was none
     */
    UserAuth getUserAuth(String key) throws IOException;

    /**
     * Add a user authentication profile
     *
     * @param userAuth The user auth profile to add
     * @throws IOException Thrown on any file writing error
     */
    void addUserAuth(UserAuth userAuth) throws IOException;

    /**
     * Remove a user authentication profile
     *
     * @param key The key of the user auth profile to remove
     * @throws IOException Thrown on any file writing error
     */
    void removeUserAuth(String key) throws IOException;
}