-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Description
Hi, great client!
When trying to update a People column in a database page (row), it seems that the User object is not being marshalled to the proper JSON object per the api.
Example usage of updating a page:
user := notion.User{BaseUser: notion.BaseUser{ID: "<user-id>"}}
newPageProperties := notion.DatabasePageProperties{}
newPageProperties["Contributors"] = notion.DatabasePageProperty{People: []notion.User{user}}
res, err := n.Client.UpdatePage(ctx, "<page-id>", notion.UpdatePageParams{
DatabasePageProperties: *newPageProperties,
})
if err != nil {
fmt.Println(err)
}
The output error shows:
notion: failed to update page properties: body failed validation. Fix one:
body.properties.Contributors.people[0].type should be not present, instead was `""`.
body.properties.Contributors.people[0].name should be not present, instead was `""`.
body.properties.Contributors.people[0].avatar_url should be not present, instead was `""`.
body.properties.Contributors.people[0].person should be not present or an object, instead was `null`.
body.properties.Contributors.people[0].bot should be not present or an object, instead was `null`. (code: validation_error, status: 400)
from looking at the source code, I suspect the problem might be that the struct don't have an omitempty
tag on their respective JSON representation. I'm happy to contribute an MR if needed
Metadata
Metadata
Assignees
Labels
No labels