mirror of
https://github.com/pocketbase/pocketbase.git
synced 2025-01-10 00:43:36 +02:00
231 lines
5.2 KiB
Go
231 lines
5.2 KiB
Go
|
package core
|
||
|
|
||
|
import (
|
||
|
"github.com/pocketbase/pocketbase/daos"
|
||
|
"github.com/pocketbase/pocketbase/models"
|
||
|
"github.com/pocketbase/pocketbase/models/schema"
|
||
|
"github.com/pocketbase/pocketbase/tools/auth"
|
||
|
"github.com/pocketbase/pocketbase/tools/mailer"
|
||
|
"github.com/pocketbase/pocketbase/tools/search"
|
||
|
"github.com/pocketbase/pocketbase/tools/subscriptions"
|
||
|
|
||
|
"github.com/labstack/echo/v5"
|
||
|
)
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Serve events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type ServeEvent struct {
|
||
|
App App
|
||
|
Router *echo.Echo
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Model DAO events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type ModelEvent struct {
|
||
|
Dao *daos.Dao
|
||
|
Model models.Model
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Mailer events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type MailerUserEvent struct {
|
||
|
MailClient mailer.Mailer
|
||
|
User *models.User
|
||
|
Meta map[string]any
|
||
|
}
|
||
|
|
||
|
type MailerAdminEvent struct {
|
||
|
MailClient mailer.Mailer
|
||
|
Admin *models.Admin
|
||
|
Meta map[string]any
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Realtime API events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type RealtimeConnectEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Client subscriptions.Client
|
||
|
}
|
||
|
|
||
|
type RealtimeSubscribeEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Client subscriptions.Client
|
||
|
Subscriptions []string
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Settings API events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type SettingsListEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
RedactedSettings *Settings
|
||
|
}
|
||
|
|
||
|
type SettingsUpdateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
OldSettings *Settings
|
||
|
NewSettings *Settings
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Record API events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type RecordsListEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Collection *models.Collection
|
||
|
Records []*models.Record
|
||
|
Result *search.Result
|
||
|
}
|
||
|
|
||
|
type RecordViewEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Record *models.Record
|
||
|
}
|
||
|
|
||
|
type RecordCreateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Record *models.Record
|
||
|
}
|
||
|
|
||
|
type RecordUpdateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Record *models.Record
|
||
|
}
|
||
|
|
||
|
type RecordDeleteEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Record *models.Record
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Admin API events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type AdminsListEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Admins []*models.Admin
|
||
|
Result *search.Result
|
||
|
}
|
||
|
|
||
|
type AdminViewEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Admin *models.Admin
|
||
|
}
|
||
|
|
||
|
type AdminCreateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Admin *models.Admin
|
||
|
}
|
||
|
|
||
|
type AdminUpdateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Admin *models.Admin
|
||
|
}
|
||
|
|
||
|
type AdminDeleteEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Admin *models.Admin
|
||
|
}
|
||
|
|
||
|
type AdminAuthEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Admin *models.Admin
|
||
|
Token string
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// User API events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type UsersListEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Users []*models.User
|
||
|
Result *search.Result
|
||
|
}
|
||
|
|
||
|
type UserViewEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
User *models.User
|
||
|
}
|
||
|
|
||
|
type UserCreateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
User *models.User
|
||
|
}
|
||
|
|
||
|
type UserUpdateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
User *models.User
|
||
|
}
|
||
|
|
||
|
type UserDeleteEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
User *models.User
|
||
|
}
|
||
|
|
||
|
type UserAuthEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
User *models.User
|
||
|
Token string
|
||
|
Meta any
|
||
|
}
|
||
|
|
||
|
type UserOauth2RegisterEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
User *models.User
|
||
|
AuthData *auth.AuthUser
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Collection API events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type CollectionsListEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Collections []*models.Collection
|
||
|
Result *search.Result
|
||
|
}
|
||
|
|
||
|
type CollectionViewEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Collection *models.Collection
|
||
|
}
|
||
|
|
||
|
type CollectionCreateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Collection *models.Collection
|
||
|
}
|
||
|
|
||
|
type CollectionUpdateEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Collection *models.Collection
|
||
|
}
|
||
|
|
||
|
type CollectionDeleteEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Collection *models.Collection
|
||
|
}
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// File API events data
|
||
|
// -------------------------------------------------------------------
|
||
|
|
||
|
type FileDownloadEvent struct {
|
||
|
HttpContext echo.Context
|
||
|
Collection *models.Collection
|
||
|
Record *models.Record
|
||
|
FileField *schema.SchemaField
|
||
|
ServedPath string
|
||
|
ServedName string
|
||
|
}
|