apis

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 27, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Overview

Package apis contains the API groups for the admin API.

Index

Constants

View Source
const (
	// PermissionReadPosts is the permission required to read a post.
	PermissionReadPosts = "read:posts"
	// PermissionWritePosts is the permission required to create a post.
	PermissionWritePosts = "write:posts"
	// PermissionPublishPosts is the permission required to publish a post.
	PermissionPublishPosts = "publish:posts"

	// PermissionReadAssets is the permission required to read an asset.
	PermissionReadAssets = "read:assets"
	// PermissionWriteAssets is the permission required to create an asset.
	PermissionWriteAssets = "write:assets"
)

Variables

View Source
var ErrPostIDRequired = errors.New("post ID is required")

ErrPostIDRequired is returned when a post ID is required but not provided.

Functions

This section is empty.

Types

type API

type API struct {
	postsv1.UnimplementedPostsManagerServiceServer
	// contains filtered or unexported fields
}

API is the grpc server implementation

func NewAPI

func NewAPI(listen string, auth auth.Auth, opts ...Opt) *API

NewAPI creates a new API

func (*API) CreatePost

CreatePost implements adminapis.PostsManagerServer.CreatePost

func (*API) DeleteAsset

DeleteAsset deletes an asset, implements adminapis.PostsManagerServer.DeleteAsset

func (*API) DeletePost

DeletePost implements adminapis.PostsManagerServer.DeletePost

func (*API) GetAsset

GetAsset retrieves an asset by its ID, implements adminapis.PostsManagerServer.GetAsset

func (*API) GetPost

GetPost implements adminapis.PostsManagerServer.GetPost

func (*API) ListAssets

ListAssets lists assets, implements adminapis.PostsManagerServer.ListAssets

func (*API) ListPosts

ListPosts implements adminapis.PostsManagerServer.ListPosts

func (*API) NewAsset

NewAsset creates a new asset, implements adminapis.PostsManagerServer.NewAsset

func (*API) PublishPost

PublishPost implements adminapis.PostsManagerServer.PublishPost

func (*API) Serve

func (api *API) Serve() error

Serve starts the API server

func (*API) UnpublishPost

UnpublishPost implements adminapis.PostsManagerServer.UnpublishPost

func (*API) UpdateAsset

UpdateAsset updates an asset, implements adminapis.PostsManagerServer.UpdateAsset

func (*API) UpdatePost

UpdatePost implements adminapis.PostsManagerServer.UpdatePost

type Opt

type Opt func(*API)

Opt is a functional option for API

func WithDataStore

func WithDataStore(store storage.DataStore) Opt

WithDataStore sets the store for the API

func WithDev

func WithDev(dev bool) Opt

WithDev sets the dev mode for the API

func WithFileStore

func WithFileStore(store storage.FileStore) Opt

WithFileStore sets the file store for the API

func WithLogger

func WithLogger(logger *zap.Logger) Opt

WithLogger sets the logger for the API

func WithPrivateAssetGetURLExpiry

func WithPrivateAssetGetURLExpiry(expiry time.Duration) Opt

WithPrivateAssetGetURLExpiry sets the expiry duration for private asset get URLs

func WithPublicAssetGetURLExpiry

func WithPublicAssetGetURLExpiry(expiry time.Duration) Opt

WithPublicAssetGetURLExpiry sets the expiry duration for public asset get URLs

func WithRefreshAssetURLExpiry

func WithRefreshAssetURLExpiry(expiry time.Duration) Opt

WithRefreshAssetURLExpiry sets the expiry duration for refresh asset URLs

func WithServerOptions

func WithServerOptions(options ...grpc.ServerOption) Opt

WithServerOptions sets the grpc server options for the API

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL