Skip to content

Commit

Permalink
Add support for audio block type (#48)
Browse files Browse the repository at this point in the history
Closes #47
  • Loading branch information
dstotijn committed Nov 18, 2022
1 parent de8cab8 commit 87a7d4c
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
28 changes: 28 additions & 0 deletions block.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ type blockDTO struct {
Code *CodeBlock `json:"code,omitempty"`
Embed *EmbedBlock `json:"embed,omitempty"`
Image *ImageBlock `json:"image,omitempty"`
Audio *AudioBlock `json:"audio,omitempty"`
Video *VideoBlock `json:"video,omitempty"`
File *FileBlock `json:"file,omitempty"`
PDF *PDFBlock `json:"pdf,omitempty"`
Expand Down Expand Up @@ -460,6 +461,29 @@ func (b ImageBlock) MarshalJSON() ([]byte, error) {
})
}

type AudioBlock struct {
baseBlock

Type FileType `json:"type"`
File *FileFile `json:"file,omitempty"`
External *FileExternal `json:"external,omitempty"`
Caption []RichText `json:"caption,omitempty"`
}

// MarshalJSON implements json.Marshaler.
func (b AudioBlock) MarshalJSON() ([]byte, error) {
type (
blockAlias ImageBlock
dto struct {
Audio blockAlias `json:"audio"`
}
)

return json.Marshal(dto{
Audio: blockAlias(b),
})
}

type VideoBlock struct {
baseBlock

Expand Down Expand Up @@ -806,6 +830,7 @@ const (
BlockTypeCode BlockType = "code"
BlockTypeEmbed BlockType = "embed"
BlockTypeImage BlockType = "image"
BlockTypeAudio BlockType = "audio"
BlockTypeVideo BlockType = "video"
BlockTypeFile BlockType = "file"
BlockTypePDF BlockType = "pdf"
Expand Down Expand Up @@ -937,6 +962,9 @@ func (dto blockDTO) Block() Block {
case BlockTypeImage:
dto.Image.baseBlock = baseBlock
return dto.Image
case BlockTypeAudio:
dto.Audio.baseBlock = baseBlock
return dto.Audio
case BlockTypeVideo:
dto.Video.baseBlock = baseBlock
return dto.Video
Expand Down
6 changes: 6 additions & 0 deletions examples/create-page/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,12 @@ func main() {
URL: "https://picsum.photos/600/200.jpg",
},
},
notion.AudioBlock{
Type: notion.FileTypeExternal,
External: &notion.FileExternal{
URL: "https://download.samplelib.com/mp3/sample-3s.mp3",
},
},
notion.VideoBlock{
Type: notion.FileTypeExternal,
External: &notion.FileExternal{
Expand Down

0 comments on commit 87a7d4c

Please sign in to comment.