MCPcopy
hub / github.com/gotify/server / CreateMessage

Method CreateMessage

api/message.go:364–389  ·  view source on GitHub ↗

CreateMessage creates a message, authentication via application-token is required. swagger:operation POST /message message createMessage Create a message. __NOTE__: This API ONLY accepts an application token as authentication. --- consumes: [application/json] produces: [application/json] secu

(ctx *gin.Context)

Source from the content-addressed store, hash-verified

362// schema:
363// $ref: "#/definitions/Error"
364func (a *MessageAPI) CreateMessage(ctx *gin.Context) {
365 message := model.MessageExternal{}
366 if err := ctx.Bind(&message); err == nil {
367 application, err := a.DB.GetApplicationByToken(auth.GetTokenID(ctx))
368 if success := successOrAbort(ctx, 500, err); !success {
369 return
370 }
371 message.ApplicationID = application.ID
372 if strings.TrimSpace(message.Title) == "" {
373 message.Title = application.Name
374 }
375
376 if message.Priority == nil {
377 message.Priority = &application.DefaultPriority
378 }
379
380 message.Date = timeNow()
381 message.ID = 0
382 msgInternal := toInternalMessage(&message)
383 if success := successOrAbort(ctx, 500, a.DB.CreateMessage(msgInternal)); !success {
384 return
385 }
386 a.Notifier.Notify(auth.GetUserID(ctx), toExternalMessage(msgInternal))
387 ctx.JSON(200, toExternalMessage(msgInternal))
388 }
389}
390
391func toInternalMessage(msg *model.MessageExternal) *model.Message {
392 res := &model.Message{

Callers

nothing calls this directly

Calls 8

GetTokenIDFunction · 0.92
GetUserIDFunction · 0.92
successOrAbortFunction · 0.85
toInternalMessageFunction · 0.85
toExternalMessageFunction · 0.85
GetApplicationByTokenMethod · 0.65
CreateMessageMethod · 0.65
NotifyMethod · 0.65

Tested by

no test coverage detected