MCPcopy
hub / github.com/pocketbase/pocketbase / registerRecordHooks

Method registerRecordHooks

core/record_model.go:55–474  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

53const systemHookIdRecord = "__pbRecordSystemHook__"
54
55func (app *BaseApp) registerRecordHooks() {
56 app.OnModelValidate().Bind(&hook.Handler[*ModelEvent]{
57 Id: systemHookIdRecord,
58 Func: func(me *ModelEvent) error {
59 if re, ok := newRecordEventFromModelEvent(me); ok {
60 err := me.App.OnRecordValidate().Trigger(re, func(re *RecordEvent) error {
61 syncModelEventWithRecordEvent(me, re)
62 defer syncRecordEventWithModelEvent(re, me)
63 return me.Next()
64 })
65 syncModelEventWithRecordEvent(me, re)
66 return err
67 }
68
69 return me.Next()
70 },
71 Priority: -99,
72 })
73
74 app.OnModelCreate().Bind(&hook.Handler[*ModelEvent]{
75 Id: systemHookIdRecord,
76 Func: func(me *ModelEvent) error {
77 if re, ok := newRecordEventFromModelEvent(me); ok {
78 err := me.App.OnRecordCreate().Trigger(re, func(re *RecordEvent) error {
79 syncModelEventWithRecordEvent(me, re)
80 defer syncRecordEventWithModelEvent(re, me)
81 return me.Next()
82 })
83 syncModelEventWithRecordEvent(me, re)
84 return err
85 }
86
87 return me.Next()
88 },
89 Priority: -99,
90 })
91
92 app.OnModelCreateExecute().Bind(&hook.Handler[*ModelEvent]{
93 Id: systemHookIdRecord,
94 Func: func(me *ModelEvent) error {
95 if re, ok := newRecordEventFromModelEvent(me); ok {
96 err := me.App.OnRecordCreateExecute().Trigger(re, func(re *RecordEvent) error {
97 syncModelEventWithRecordEvent(me, re)
98 defer syncRecordEventWithModelEvent(re, me)
99 return me.Next()
100 })
101 syncModelEventWithRecordEvent(me, re)
102 return err
103 }
104
105 return me.Next()
106 },
107 Priority: -99,
108 })
109
110 app.OnModelAfterCreateSuccess().Bind(&hook.Handler[*ModelEvent]{
111 Id: systemHookIdRecord,
112 Func: func(me *ModelEvent) error {

Callers 1

registerBaseHooksMethod · 0.95

Calls 15

OnModelValidateMethod · 0.95
OnModelCreateMethod · 0.95
OnModelCreateExecuteMethod · 0.95
OnModelUpdateMethod · 0.95
OnModelUpdateExecuteMethod · 0.95
OnModelDeleteMethod · 0.95
OnModelDeleteExecuteMethod · 0.95

Tested by

no test coverage detected