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 PocketBase.Start is executed. If you want to initialize the application before calling PocketBase.Start, then you'll have to manually call [PocketBase.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 PocketBase.Start is executed. If you want to initialize the application before calling PocketBase.Start, then you'll have to manually call [PocketBase.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, superuser, 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
|
|
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.). |
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. |