// Package api contains type definitions for the gob API. package api import "encoding/gob" type ErrorCode int //go:generate go tool stringer -type=ErrorCode const ( Ok ErrorCode = iota Unauthenticated // missing credentials PermissionDenied // invalid credentials, or login required BadRequest // incorrect request format (try gob) InvalidArgument // one or more arguments was invalid NotFound // requested resource was not found Internal // server encountered an unexpected error ) func (c ErrorCode) Error() string { return c.String() } type Response struct { Status ErrorCode Err string Ok any } type LoginResponse struct { Token string } type ListNotesRequest struct{} type ListNotesResponse struct { Notes []string } type CreateNoteRequest struct { ContinuationToken []byte Chunk []byte } type CreateNoteResponse struct { Name string ContinuationToken []byte } type ReadNoteRequest struct { Note string } type ReadNoteResponseStream struct { Chunk []byte } type DeleteNoteRequest struct{} type DeleteNoteResponse struct{} func init() { gob.Register(&LoginResponse{}) gob.Register(&ListNotesResponse{}) gob.Register(&CreateNoteResponse{}) gob.Register(&ReadNoteResponseStream{}) gob.Register(&DeleteNoteResponse{}) }