Вы можете прочитать о фильтрации в документации PostGraphile .Чтобы добиться того, что вы указали, вы можете использовать плагин postgraphile-plugin-connection-filter и выполнить запрос, подобный следующему:
query SessionsSince($timestamp: DateTime!) {
allSessions(filter: {
createdAt: { greaterThan: $timestamp }
deviceid: { equalTo: "123" }
}) {
...
}
}
Однако, имейте в виду, чтоGraphQL API не предназначен для того, чтобы предоставлять пользователям всю функциональность вашей базы данных.Вместо того, чтобы показывать этот необработанный интерфейс, я бы лично использовал пользовательский запрос , который предоставил бы намного более аккуратный API;что-то вроде:
create function recent_sessions(deviceid text) returns setof sessions as $$
select *
from sessions
where sessions.deviceid = recent_sessions.deviceid
and created_at > NOW() - interval '1 hour';
$$ language sql stable;
Затем вы бы запросили это так:
{
recentSessions(deviceid: "123") {
nodes {
deviceid
}
}
}