Categorygithub.com/devcaldev/devcal-go
modulepackage
0.2.0
Repository: https://github.com/devcaldev/devcal-go.git
Documentation: pkg.go.dev

# README

devcal-go

devcal go client is a thin wrapper for devcal grpc go client which handles type conversions between grpc and go internally.

quick start

import devcal-go package

import (
  "log"
  devcal "github.com/devcaldev/devcal-go"
)

initialize client

client, err := devcal.New("devcal.dev:50051", apiKey)
if err != nil {
	log.Fatal(err)
}
defer client.Close()

insert non recurring event

event, err := client.InsertEvent(ctx, &devcal.InsertEventParams{
	Dtstart: time.Now(),
	Dtend:   time.Now().Add(time.Hour),
})
if err != nil {
	log.Fatal(err)
}
log.Println("Event", event)

insert recurring event

event, err := client.InsertEvent(ctx, &devcal.InsertEventParams{
	Dtstart: time.Now(),
	Dtend:   time.Now().Add(time.Hour),
	Rrule:   "FREQ=WEEKLY;INTERVAL=2;BYDAY=MO,SU",
})
if err != nil {
	log.Fatal(err)
}
log.Println("Event", event)

insert event with additional properties

event, err := client.InsertEvent(ctx, &devcal.InsertEventParams{
	Dtstart: time.Now(),
	Dtend:   time.Now().Add(time.Hour),
	Rrule:   "FREQ=WEEKLY;INTERVAL=2;BYDAY=MO,SU",
  Props:   map[string]any{"calendar_id": "c1"},
})
if err != nil {
	log.Fatal(err)
}
log.Println("Event", event)

see client_test.go file and example folder for detailed usage.

goto devcal.dev to get an api key

# Packages

example demonstrates how to insert, get and list events + generating recurrences using rrule-go package.
No description provided by the author

# Functions

New creates a new Client with secure credentials.
NewWithInsecureCredentials creates a new Client with insecure credentials.
NewWithOptions creates a new Client with the provided gRPC dial options.

# Structs

Client represents a client for interacting with the EventsService.
DeleteEventParams holds parameters for deleting an event.
Event represents an event with its details.
GetEventParams holds parameters for retrieving an event.
InsertEventParams holds parameters for inserting an event.
ListEventsParams holds parameters for listing events.
UpdateEventParams holds parameters for updating an event.