#pragma once

#include <eedb/data/Users.hpp>

namespace eedb {
class PgUsers : public Users {
    // Users interface
  public:
    shared_ptr< User > findWith(int) const override;
    shared_ptr< User > findWith(const AuthIdentity & name) const override;
    shared_ptr< User > findWith(const Email & email) const override;
    shared_ptr< User > findWith(const AuthToken & token) const override;

    shared_ptr< User > addUser(unique_ptr< AuthIdentity >) override;
};
}
