Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Version = "(untracked)"
Version of PocketBase
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // optional default values for the console flags DefaultDev bool DefaultDataDir string // if not set, it will fallback to "./pb_data" DefaultEncryptionEnv string // hide the default console server info on app startup HideStartBanner bool // optional DB configurations DataMaxOpenConns int // default to core.DefaultDataMaxOpenConns DataMaxIdleConns int // default to core.DefaultDataMaxIdleConns LogsMaxOpenConns int // default to core.DefaultLogsMaxOpenConns LogsMaxIdleConns int // default to core.DefaultLogsMaxIdleConns }
Config is the PocketBase initialization config struct.
type PocketBase ¶
type PocketBase struct { // 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 ¶
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 apis implements the default PocketBase api services and middlewares.
|
Package apis implements the default PocketBase api services and middlewares. |
Package core is the backbone of PocketBase.
|
Package core is the backbone of PocketBase. |
Package daos handles common PocketBase DB model manipulations.
|
Package daos handles common PocketBase DB model manipulations. |
examples
|
|
Package models implements various services used for request data validation and applying changes to existing DB models through the app Dao.
|
Package models implements various services used for request data validation and applying changes to existing DB models through the app Dao. |
validators
Package validators implements custom shared PocketBase validators.
|
Package validators implements custom shared PocketBase validators. |
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. |
Package migrations contains the system PocketBase DB migrations.
|
Package migrations contains the system PocketBase DB migrations. |
Package models implements all PocketBase DB models and DTOs.
|
Package models implements all PocketBase DB models and DTOs. |
schema
Package schema implements custom Schema and SchemaField datatypes for handling the Collection schema definitions.
|
Package schema implements custom Schema and SchemaField datatypes for handling the Collection schema definitions. |
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 resolvers contains custom search.FieldResolver implementations.
|
Package resolvers contains custom search.FieldResolver implementations. |
Package tests provides common helpers and mocks used in PocketBase application tests.
|
Package tests provides common helpers and mocks used in PocketBase application tests. |
Package tokens implements various user and admin tokens generation methods.
|
Package tokens implements various user and admin tokens generation methods. |
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 Admin frontend embedding.
|
Package ui handles the PocketBase Admin frontend embedding. |