From b6f63cf15b78bf0e5d62116bbfbbd2460ef54658 Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Thu, 14 Apr 2022 11:26:40 -0500 Subject: [PATCH] Add template for fetching database objects. --- hff_notion_api_client.nimble | 2 +- src/hff_notion_api_client.nim | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/hff_notion_api_client.nimble b/hff_notion_api_client.nimble index db12f6b..84be14e 100644 --- a/hff_notion_api_client.nimble +++ b/hff_notion_api_client.nimble @@ -1,6 +1,6 @@ # Package -version = "0.3.1" +version = "0.3.2" author = "Jonathan Bernard" description = "Utilities and bindings for HFF's Notion API." license = "GPL-3.0-or-later" diff --git a/src/hff_notion_api_client.nim b/src/hff_notion_api_client.nim index c2481ea..911a356 100644 --- a/src/hff_notion_api_client.nim +++ b/src/hff_notion_api_client.nim @@ -76,6 +76,14 @@ proc fetchAllPages*( if nextCursor.isEmptyOrWhitespace: break +template fetchDatabaseObject*(notion: NotionClient, dbId: string): untyped = + let resp = notion.http.get(notion.apiBaseUrl & "/databases/" & dbId) + + if not resp.status.startsWith("2"): + debug resp.body + raise newException(HttpRequestError, "API Request failed: " & resp.body) + parseJson(resp.body) + template fetchPage*(notion: NotionClient, pageId: string): untyped = let resp = notion.http.get(notion.apiBaseUrl & "/pages/" & pageId)