forms

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2022 License: MIT Imports: 27 Imported by: 63

Documentation

Overview

Package models implements various services used for request data validation and applying changes to existing DB models through the app Dao.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminLogin

type AdminLogin struct {
	Email    string `form:"email" json:"email"`
	Password string `form:"password" json:"password"`
	// contains filtered or unexported fields
}

AdminLogin defines an admin email/pass login form.

func NewAdminLogin

func NewAdminLogin(app core.App) *AdminLogin

NewAdminLogin creates new admin login form for the provided app.

func (*AdminLogin) Submit

func (form *AdminLogin) Submit() (*models.Admin, error)

Submit validates and submits the admin form. On success returns the authorized admin model.

func (*AdminLogin) Validate

func (form *AdminLogin) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type AdminPasswordResetConfirm

type AdminPasswordResetConfirm struct {
	Token           string `form:"token" json:"token"`
	Password        string `form:"password" json:"password"`
	PasswordConfirm string `form:"passwordConfirm" json:"passwordConfirm"`
	// contains filtered or unexported fields
}

AdminPasswordResetConfirm defines an admin password reset confirmation form.

func NewAdminPasswordResetConfirm

func NewAdminPasswordResetConfirm(app core.App) *AdminPasswordResetConfirm

NewAdminPasswordResetConfirm creates new admin password reset confirmation form.

func (*AdminPasswordResetConfirm) Submit

func (form *AdminPasswordResetConfirm) Submit() (*models.Admin, error)

Submit validates and submits the admin password reset confirmation form. On success returns the updated admin model associated to `form.Token`.

func (*AdminPasswordResetConfirm) Validate

func (form *AdminPasswordResetConfirm) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type AdminPasswordResetRequest

type AdminPasswordResetRequest struct {
	Email string `form:"email" json:"email"`
	// contains filtered or unexported fields
}

AdminPasswordResetRequest defines an admin password reset request form.

func NewAdminPasswordResetRequest

func NewAdminPasswordResetRequest(app core.App) *AdminPasswordResetRequest

NewAdminPasswordResetRequest creates new admin password reset request form.

func (*AdminPasswordResetRequest) Submit

func (form *AdminPasswordResetRequest) Submit() error

Submit validates and submits the form. On success sends a password reset email to the `form.Email` admin.

func (*AdminPasswordResetRequest) Validate

func (form *AdminPasswordResetRequest) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

This method doesn't verify that admin with `form.Email` exists (this is done on Submit).

type AdminUpsert

type AdminUpsert struct {
	Avatar          int    `form:"avatar" json:"avatar"`
	Email           string `form:"email" json:"email"`
	Password        string `form:"password" json:"password"`
	PasswordConfirm string `form:"passwordConfirm" json:"passwordConfirm"`
	// contains filtered or unexported fields
}

AdminUpsert defines an admin upsert (create/update) form.

func NewAdminUpsert

func NewAdminUpsert(app core.App, admin *models.Admin) *AdminUpsert

NewAdminUpsert creates new upsert form for the provided admin model (pass an empty admin model instance (`&models.Admin{}`) for create).

func (*AdminUpsert) Submit

func (form *AdminUpsert) Submit(interceptors ...InterceptorFunc) error

Submit validates the form and upserts the form admin model.

You can optionally provide a list of InterceptorFunc to further modify the form behavior before persisting it.

func (*AdminUpsert) Validate

func (form *AdminUpsert) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type CollectionUpsert

type CollectionUpsert struct {
	Name       string        `form:"name" json:"name"`
	System     bool          `form:"system" json:"system"`
	Schema     schema.Schema `form:"schema" json:"schema"`
	ListRule   *string       `form:"listRule" json:"listRule"`
	ViewRule   *string       `form:"viewRule" json:"viewRule"`
	CreateRule *string       `form:"createRule" json:"createRule"`
	UpdateRule *string       `form:"updateRule" json:"updateRule"`
	DeleteRule *string       `form:"deleteRule" json:"deleteRule"`
	// contains filtered or unexported fields
}

CollectionUpsert defines a collection upsert (create/update) form.

func NewCollectionUpsert

func NewCollectionUpsert(app core.App, collection *models.Collection) *CollectionUpsert

NewCollectionUpsert creates new collection upsert form for the provided Collection model (pass an empty Collection model instance (`&models.Collection{}`) for create).

func (*CollectionUpsert) Submit

func (form *CollectionUpsert) Submit(interceptors ...InterceptorFunc) error

Submit validates the form and upserts the form's Collection model.

On success the related record table schema will be auto updated.

You can optionally provide a list of InterceptorFunc to further modify the form behavior before persisting it.

func (*CollectionUpsert) Validate

func (form *CollectionUpsert) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type InterceptorFunc added in v0.2.4

type InterceptorFunc func(next InterceptorNextFunc) InterceptorNextFunc

InterceptorFunc defines a single interceptor function that will execute the provided next func handler.

type InterceptorNextFunc added in v0.2.4

type InterceptorNextFunc = func() error

InterceptorNextFunc is a interceptor handler function. Usually used in combination with InterceptorFunc.

type RealtimeSubscribe

type RealtimeSubscribe struct {
	ClientId      string   `form:"clientId" json:"clientId"`
	Subscriptions []string `form:"subscriptions" json:"subscriptions"`
}

RealtimeSubscribe defines a RealtimeSubscribe request form.

func NewRealtimeSubscribe

func NewRealtimeSubscribe() *RealtimeSubscribe

NewRealtimeSubscribe creates new RealtimeSubscribe request form.

func (*RealtimeSubscribe) Validate

func (form *RealtimeSubscribe) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type RecordUpsert

type RecordUpsert struct {
	Data map[string]any `json:"data"`
	// contains filtered or unexported fields
}

RecordUpsert defines a Record upsert form.

func NewRecordUpsert

func NewRecordUpsert(app core.App, record *models.Record) *RecordUpsert

NewRecordUpsert creates a new Record upsert form. (pass a new Record model instance (`models.NewRecord(...)`) for create).

func (*RecordUpsert) DrySubmit

func (form *RecordUpsert) DrySubmit(callback func(txDao *daos.Dao) error) error

DrySubmit performs a form submit within a transaction and reverts it. For actual record persistence, check the `form.Submit()` method.

This method doesn't handle file uploads/deletes or trigger any app events!

func (*RecordUpsert) LoadData

func (form *RecordUpsert) LoadData(r *http.Request) error

LoadData loads and normalizes json OR multipart/form-data request data.

File upload is supported only via multipart/form-data.

To REPLACE previously uploaded file(s) you can suffix the field name with the file index (eg. `myfile.0`) and set the new value. For single file upload fields, you can skip the index and directly assign the file value to the field name (eg. `myfile`).

To DELETE previously uploaded file(s) you can suffix the field name with the file index (eg. `myfile.0`) and set it to null or empty string. For single file upload fields, you can skip the index and directly reset the field using its field name (eg. `myfile`).

func (*RecordUpsert) Submit

func (form *RecordUpsert) Submit(interceptors ...InterceptorFunc) error

Submit validates the form and upserts the form Record model.

You can optionally provide a list of InterceptorFunc to further modify the form behavior before persisting it.

func (*RecordUpsert) Validate

func (form *RecordUpsert) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type SettingsUpsert

type SettingsUpsert struct {
	*core.Settings
	// contains filtered or unexported fields
}

SettingsUpsert defines app settings upsert form.

func NewSettingsUpsert

func NewSettingsUpsert(app core.App) *SettingsUpsert

NewSettingsUpsert creates new settings upsert form from the provided app.

func (*SettingsUpsert) Submit

func (form *SettingsUpsert) Submit(interceptors ...InterceptorFunc) error

Submit validates the form and upserts the loaded settings.

On success the app settings will be refreshed with the form ones.

You can optionally provide a list of InterceptorFunc to further modify the form behavior before persisting it.

func (*SettingsUpsert) Validate

func (form *SettingsUpsert) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type UserEmailChangeConfirm

type UserEmailChangeConfirm struct {
	Token    string `form:"token" json:"token"`
	Password string `form:"password" json:"password"`
	// contains filtered or unexported fields
}

UserEmailChangeConfirm defines a user email change confirmation form.

func NewUserEmailChangeConfirm

func NewUserEmailChangeConfirm(app core.App) *UserEmailChangeConfirm

NewUserEmailChangeConfirm creates new user email change confirmation form.

func (*UserEmailChangeConfirm) Submit

func (form *UserEmailChangeConfirm) Submit() (*models.User, error)

Submit validates and submits the user email change confirmation form. On success returns the updated user model associated to `form.Token`.

func (*UserEmailChangeConfirm) Validate

func (form *UserEmailChangeConfirm) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type UserEmailChangeRequest

type UserEmailChangeRequest struct {
	NewEmail string `form:"newEmail" json:"newEmail"`
	// contains filtered or unexported fields
}

UserEmailChangeRequest defines a user email change request form.

func NewUserEmailChangeRequest

func NewUserEmailChangeRequest(app core.App, user *models.User) *UserEmailChangeRequest

NewUserEmailChangeRequest creates a new user email change request form.

func (*UserEmailChangeRequest) Submit

func (form *UserEmailChangeRequest) Submit() error

Submit validates and sends the change email request.

func (*UserEmailChangeRequest) Validate

func (form *UserEmailChangeRequest) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type UserEmailLogin

type UserEmailLogin struct {
	Email    string `form:"email" json:"email"`
	Password string `form:"password" json:"password"`
	// contains filtered or unexported fields
}

UserEmailLogin defines a user email/pass login form.

func NewUserEmailLogin

func NewUserEmailLogin(app core.App) *UserEmailLogin

NewUserEmailLogin creates a new user email/pass login form.

func (*UserEmailLogin) Submit

func (form *UserEmailLogin) Submit() (*models.User, error)

Submit validates and submits the form. On success returns the authorized user model.

func (*UserEmailLogin) Validate

func (form *UserEmailLogin) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type UserOauth2Login

type UserOauth2Login struct {

	// The name of the OAuth2 client provider (eg. "google")
	Provider string `form:"provider" json:"provider"`

	// The authorization code returned from the initial request.
	Code string `form:"code" json:"code"`

	// The code verifier sent with the initial request as part of the code_challenge.
	CodeVerifier string `form:"codeVerifier" json:"codeVerifier"`

	// The redirect url sent with the initial request.
	RedirectUrl string `form:"redirectUrl" json:"redirectUrl"`
	// contains filtered or unexported fields
}

UserOauth2Login defines a user Oauth2 login form.

func NewUserOauth2Login

func NewUserOauth2Login(app core.App) *UserOauth2Login

NewUserOauth2Login creates a new user Oauth2 login form.

func (*UserOauth2Login) Submit

func (form *UserOauth2Login) Submit() (*models.User, *auth.AuthUser, error)

Submit validates and submits the form. On success returns the authorized user model and the fetched provider's data.

func (*UserOauth2Login) Validate

func (form *UserOauth2Login) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type UserPasswordResetConfirm

type UserPasswordResetConfirm struct {
	Token           string `form:"token" json:"token"`
	Password        string `form:"password" json:"password"`
	PasswordConfirm string `form:"passwordConfirm" json:"passwordConfirm"`
	// contains filtered or unexported fields
}

UserPasswordResetConfirm defines a user password reset confirmation form.

func NewUserPasswordResetConfirm

func NewUserPasswordResetConfirm(app core.App) *UserPasswordResetConfirm

NewUserPasswordResetConfirm creates new user password reset confirmation form.

func (*UserPasswordResetConfirm) Submit

func (form *UserPasswordResetConfirm) Submit() (*models.User, error)

Submit validates and submits the form. On success returns the updated user model associated to `form.Token`.

func (*UserPasswordResetConfirm) Validate

func (form *UserPasswordResetConfirm) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type UserPasswordResetRequest

type UserPasswordResetRequest struct {
	Email string `form:"email" json:"email"`
	// contains filtered or unexported fields
}

UserPasswordResetRequest defines a user password reset request form.

func NewUserPasswordResetRequest

func NewUserPasswordResetRequest(app core.App) *UserPasswordResetRequest

NewUserPasswordResetRequest creates new user password reset request form.

func (*UserPasswordResetRequest) Submit

func (form *UserPasswordResetRequest) Submit() error

Submit validates and submits the form. On success sends a password reset email to the `form.Email` user.

func (*UserPasswordResetRequest) Validate

func (form *UserPasswordResetRequest) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

This method doesn't checks whether user with `form.Email` exists (this is done on Submit).

type UserUpsert

type UserUpsert struct {
	Email           string `form:"email" json:"email"`
	Password        string `form:"password" json:"password"`
	PasswordConfirm string `form:"passwordConfirm" json:"passwordConfirm"`
	// contains filtered or unexported fields
}

UserUpsert defines a user upsert (create/update) form.

func NewUserUpsert

func NewUserUpsert(app core.App, user *models.User) *UserUpsert

NewUserUpsert creates new upsert form for the provided user model (pass an empty user model instance (`&models.User{}`) for create).

func (*UserUpsert) Submit

func (form *UserUpsert) Submit(interceptors ...InterceptorFunc) error

Submit validates the form and upserts the form user model.

You can optionally provide a list of InterceptorFunc to further modify the form behavior before persisting it.

func (*UserUpsert) Validate

func (form *UserUpsert) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type UserVerificationConfirm

type UserVerificationConfirm struct {
	Token string `form:"token" json:"token"`
	// contains filtered or unexported fields
}

UserVerificationConfirm defines a user email confirmation form.

func NewUserVerificationConfirm

func NewUserVerificationConfirm(app core.App) *UserVerificationConfirm

NewUserVerificationConfirm creates a new user email confirmation form.

func (*UserVerificationConfirm) Submit

func (form *UserVerificationConfirm) Submit() (*models.User, error)

Submit validates and submits the form. On success returns the verified user model associated to `form.Token`.

func (*UserVerificationConfirm) Validate

func (form *UserVerificationConfirm) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

type UserVerificationRequest

type UserVerificationRequest struct {
	Email string `form:"email" json:"email"`
	// contains filtered or unexported fields
}

UserVerificationRequest defines a user email verification request form.

func NewUserVerificationRequest

func NewUserVerificationRequest(app core.App) *UserVerificationRequest

NewUserVerificationRequest creates a new user email verification request form.

func (*UserVerificationRequest) Submit

func (form *UserVerificationRequest) Submit() error

Submit validates and sends a verification request email to the `form.Email` user.

func (*UserVerificationRequest) Validate

func (form *UserVerificationRequest) Validate() error

Validate makes the form validatable by implementing validation.Validatable interface.

// This method doesn't verify that user with `form.Email` exists (this is done on Submit).

Directories

Path Synopsis
Package validators implements custom shared PocketBase validators.
Package validators implements custom shared PocketBase validators.

Jump to

Keyboard shortcuts

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