Skip to content

System API to message chart

Stanislav Nepochatov edited this page Mar 24, 2023 · 9 revisions

System API to message chart

Following table displays connection between REST API calls and internal message flow between modules. Each call can invoke certain module by message. Certain calls can produce notification messages in system. Inter module messages can be invoked without direct REST call so they listed without URL.

URL Call topic Description Module Notification topic
POST /api/user - Create user GATEWAY Ribbon.Global.Notification.UserCreated
PUT /api/user/:id - Update user GATEWAY Ribbon.Global.Notification.UserUpdated
DELETE /api/user - Delete user GATEWAY Ribbon.Global.Notification.UserDeleted
POST /api/group - Create group GATEWAY Ribbon.Global.Notification.GroupCreated
PUT /api/group - Update group GATEWAY Ribbon.Global.Notification.GroupUpdated
DELETE /api/group/:id - Delete group GATEWAY Ribbon.Global.Notification.GroupDeleted
POST /api/directory Ribbon.Global.CreateDirectory Create directory DIRECTORY Ribbon.Global.Notification.DirectoryCreated
PUT /api/directory Ribbon.Global.UpdateDirectory Update directory DIRECTORY Ribbon.Global.Notification.DirectoryUpdated
DELETE /api/directory/:path Ribbon.Global.DeleteDirectory Delete directory DIRECTORY Ribbon.Global.Notification.DirectoryDeleted
GET /api/directory Ribbon.Global.GetDirectoryAll Get directories paged DIRECTORY -
GET /api/directory/:path Ribbon.Global.GetDirectoryByPath Get directory by path DIRECTORY -
GET /api/directory/access/permission/all Ribbon.Global.GetPermissions Get all permissions DIRECTORY -
POST /api/directory/access/:path Ribbon.Global.EditDirectoryAccess Edit directory access for user/groups DIRECTORY -
GET /api/directory/access/{path} Ribbon.Global.GetDirectoryAccess Get directory access by path DIRECTORY -
GET /api/directory/permission/{permission} Ribbon.Global.GetDirectoryByPermission Get directories by permission DIRECTORY -
GET /api/directory/access/permission/current/{path} Ribbon.Global.GetCurrentPermissions Get current permissions by directory DIRECTORY -
POST /api/message Ribbon.Global.CreateMessage Create message MESSAGE Ribbon.Global.Notification.MessageCreated
PUT /api/message Ribbon.Global.UpdateMessage Update message MESSAGE Ribbon.Global.Notification.MessageUpdated
DELETE /api/message/:uid Ribbon.Global.DeleteMessage Delete message MESSAGE Ribbon.Global.Notification.MessageDeleted
GET /api/message Ribbon.Global.GetMessageAll Get messages paged (without content) MESSAGE -
GET /api/message Ribbon.Global.GetMessageByUid Get message by uid MESSAGE -
GET /api/message/property/all Ribbon.Global.GetProperties Get all property types MESSAGE -
POST /api/message/property/:uid Ribbon.Global.AddMessageProperty Add property to the message MESSAGE -
POST /api/io/scheme Ribbon.IO.SaveScheme.$type.$protocol Save IO scheme EXCHANGER Ribbon.IO.SchemeStatusUpdated
GET /api/io/scheme/:type/:protocol/:name Ribbon.IO.GetScheme.$type.$protocol Get IO scheme with config EXCHANGER -
DELETE /api/io/scheme/:type/:protocol/:name Ribbon.IO.SchemeDelete.$type.$protocol Delete IO scheme EXCHANGER Ribbon.IO.SchemeStatusUpdated
POST /api/io/export/scheme/:protocol/:name/assign/:dir Ribbon.IO.ExportSchemeAssign.$protocol Assign export scheme to directory EXCHANGER Ribbon.IO.SchemeStatusUpdated
DELETE /api/io/export/scheme/:protocol/:name/dismiss/:dir Ribbon.IO.ExportSchemeDismiss.$protocol Dismiss export scheme from directory EXCHANGER Ribbon.IO.SchemeStatusUpdated

Notification chart

Following table displays which module process which notification.

Notification topic Processing module Description
Ribbon.Global.Notification.UserCreated DIRECTORY Sync user data
Ribbon.Global.Notification.UserUpdated DIRECTORY Sync user data
Ribbon.Global.Notification.UserDeleted DIRECTORY Sync user data
Ribbon.Global.Notification.GroupCreated DIRECTORY Sync group data
Ribbon.Global.Notification.GroupUpdated DIRECTORY Sync group data
Ribbon.Global.Notification.GroupDeleted DIRECTORY Sync group data
Ribbon.Global.Notification.DirectoryCreated MESSAGE,EXCHANGER Sync directory data
Ribbon.Global.Notification.DirectoryUpdated MESSAGE,EXCHANGER Sync directory data
Ribbon.Global.Notification.DirectoryDeleted MESSAGE,EXCHANGER Sync directory data
Ribbon.Global.Notification.MessageCreated EXCHANGER Sync message data
Ribbon.Global.Notification.MessageUpdated - Sync message data
Ribbon.Global.Notification.MessageDeleted - Sync message data
Ribbon.IO.SchemeStatusUpdated GATEWAY Sync scheme current status

Sub-call chart

Certain modules can invoke inter module call. Each inter module activity listed in following table.

Source module Call topic Mode Destination module Description
MESSAGE,EXCHANGER Ribbon.Global.InitPermissions Async DIRECTORY Init messages permissions on directories module
MESSAGE,EXCHANGER Ribbon.Global.CheckDirectoryAccess Sync DIRECTORY Checking access by permission on directories
MESSAGE,EXCHANGER Ribbon.Global.GetDirectoryAll Sync DIRECTORY Sync list of directories on startup
EXCHANGER Ribbon.IO.Register Async GATEWAY Register IO module on gateway
EXCHANGER Ribbon.Property.Register Async MESSAGE Register IO property accroding to type and protocol
EXCHANGER Ribbon.Global.CreateMessage Sync MESSAGE Create message during import or send system error
EXCHANGER Ribbon.Global.AddMessageProperty Async MESSAGE Add property to exported message
EXCHANGER Ribbon.IO.SchemeStatusUpdated Async GATEWAY Sync scheme current status
EXCHANGER Ribbon.Global.GetErrorDirectory Sync DIRECTORY Get name of error directory in system
Clone this wiki locally