implemented event and req
This commit is contained in:
118
app/ok.go
Normal file
118
app/ok.go
Normal file
@@ -0,0 +1,118 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"encoders.orly/envelopes/eventenvelope"
|
||||
"encoders.orly/envelopes/okenvelope"
|
||||
"encoders.orly/reason"
|
||||
)
|
||||
|
||||
// OK represents a function that processes events or operations, using provided
|
||||
// parameters to generate formatted messages and return errors if any issues
|
||||
// occur during processing.
|
||||
type OK func(
|
||||
l *Listener, env *eventenvelope.Submission, format string, params ...any,
|
||||
) (err error)
|
||||
|
||||
// OKs provides a collection of handler functions for managing different types
|
||||
// of operational outcomes, each corresponding to specific error or status
|
||||
// conditions such as authentication requirements, rate limiting, and invalid
|
||||
// inputs.
|
||||
type OKs struct {
|
||||
Ok OK
|
||||
AuthRequired OK
|
||||
PoW OK
|
||||
Duplicate OK
|
||||
Blocked OK
|
||||
RateLimited OK
|
||||
Invalid OK
|
||||
Error OK
|
||||
Unsupported OK
|
||||
Restricted OK
|
||||
}
|
||||
|
||||
// Ok provides a collection of handler functions for managing different types of
|
||||
// operational outcomes, each corresponding to specific error or status
|
||||
// conditions such as authentication requirements, rate limiting, and invalid
|
||||
// inputs.
|
||||
var Ok = OKs{
|
||||
Ok: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), true, nil,
|
||||
).Write(l)
|
||||
},
|
||||
AuthRequired: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.AuthRequired.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
PoW: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.PoW.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
Duplicate: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.Duplicate.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
Blocked: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.Blocked.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
RateLimited: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.RateLimited.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
Invalid: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.Invalid.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
Error: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.Error.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
Unsupported: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.Unsupported.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
Restricted: func(
|
||||
l *Listener, env *eventenvelope.Submission, format string,
|
||||
params ...any,
|
||||
) (err error) {
|
||||
return okenvelope.NewFrom(
|
||||
env.Id(), false, reason.Restricted.F(format, params...),
|
||||
).Write(l)
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user