Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Version = "(untracked)"
Version of PocketBase
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v0.7.2
type Config struct {
// hide the default console server info on app startup
HideStartBanner bool
// optional default values for the console flags
DefaultDev bool
DefaultDataDir string // if not set, it will fallback to "./pb_data"
DefaultEncryptionEnv string
DefaultQueryTimeout time.Duration // default to core.DefaultQueryTimeout (in seconds)
// optional DB configurations
DataMaxOpenConns int // default to core.DefaultDataMaxOpenConns
DataMaxIdleConns int // default to core.DefaultDataMaxIdleConns
AuxMaxOpenConns int // default to core.DefaultAuxMaxOpenConns
AuxMaxIdleConns int // default to core.DefaultAuxMaxIdleConns
DBConnect core.DBConnectFunc // default to core.dbConnect
}
Config is the PocketBase initialization config struct.
type PocketBase ¶
type PocketBase struct {
core.App
// RootCmd is the main console command
RootCmd *cobra.Command
// contains filtered or unexported fields
}
PocketBase defines a PocketBase app launcher.
It implements core.App via embedding and all of the app interface methods could be accessed directly through the instance (eg. PocketBase.DataDir()).
func New ¶
func New() *PocketBase
New creates a new PocketBase instance with the default configuration. Use [NewWithConfig()] if you want to provide a custom configuration.
Note that the application will not be initialized/bootstrapped yet, aka. DB connections, migrations, app settings, etc. will not be accessible. Everything will be initialized when [Start()] is executed. If you want to initialize the application before calling [Start()], then you'll have to manually call [Bootstrap()].
func NewWithConfig ¶ added in v0.7.2
func NewWithConfig(config Config) *PocketBase
NewWithConfig creates a new PocketBase instance with the provided config.
Note that the application will not be initialized/bootstrapped yet, aka. DB connections, migrations, app settings, etc. will not be accessible. Everything will be initialized when [Start()] is executed. If you want to initialize the application before calling [Start()], then you'll have to manually call [Bootstrap()].
func (*PocketBase) Execute ¶
func (pb *PocketBase) Execute() error
Execute initializes the application (if not already) and executes the pb.RootCmd with graceful shutdown support.
This method differs from pb.Start() by not registering the default system commands!
func (*PocketBase) Start ¶
func (pb *PocketBase) Start() error
Start starts the application, aka. registers the default system commands (serve, migrate, version) and executes pb.RootCmd.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package core is the backbone of PocketBase.
|
Package core is the backbone of PocketBase. |
|
validators
Package validators implements some common custom PocketBase validators.
|
Package validators implements some common custom PocketBase validators. |
|
examples
|
|
|
base
command
|
|
|
Package mails implements various helper methods for sending user and admin emails like forgotten password, verification, etc.
|
Package mails implements various helper methods for sending user and admin emails like forgotten password, verification, etc. |
|
plugins
|
|
|
ghupdate
Package ghupdate implements a new command to selfupdate the current PocketBase executable with the latest GitHub release.
|
Package ghupdate implements a new command to selfupdate the current PocketBase executable with the latest GitHub release. |
|
jsvm
Package jsvm implements pluggable utilities for binding a JS goja runtime to the PocketBase instance (loading migrations, attaching to app hooks, etc.).
|
Package jsvm implements pluggable utilities for binding a JS goja runtime to the PocketBase instance (loading migrations, attaching to app hooks, etc.). |
|
jsvm/internal/types
command
|
|
|
migratecmd
Package migratecmd adds a new "migrate" command support to a PocketBase instance.
|
Package migratecmd adds a new "migrate" command support to a PocketBase instance. |
|
Package tests provides common helpers and mocks used in PocketBase application tests.
|
Package tests provides common helpers and mocks used in PocketBase application tests. |
|
tools
|
|
|
cron
Package cron implements a crontab-like service to execute and schedule repeative tasks/jobs.
|
Package cron implements a crontab-like service to execute and schedule repeative tasks/jobs. |
|
template
Package template is a thin wrapper around the standard html/template and text/template packages that implements a convenient registry to load and cache templates on the fly concurrently.
|
Package template is a thin wrapper around the standard html/template and text/template packages that implements a convenient registry to load and cache templates on the fly concurrently. |
|
tokenizer
Package tokenizer implements a rudimentary tokens parser of buffered io.Reader while respecting quotes and parenthesis boundaries.
|
Package tokenizer implements a rudimentary tokens parser of buffered io.Reader while respecting quotes and parenthesis boundaries. |
|
types
Package types implements some commonly used db serializable types like datetime, json, etc.
|
Package types implements some commonly used db serializable types like datetime, json, etc. |
|
Package ui handles the PocketBase Superuser frontend embedding.
|
Package ui handles the PocketBase Superuser frontend embedding. |