Simple HTTP inbox for interfacer-gui
The goal of the INTERFACER project is to build the open-source digital infrastructure for Fab Cities.
Our vision is to promote a green, resilient, and digitally-based mode of production and consumption that enables the greatest possible sovereignty, empowerment and participation of citizens all over the world. We want to help Fab Cities to produce everything they consume by 2054 on the basis of collaboratively developed and globally shared data in the commons.
To know more DOWNLOAD THE WHITEPAPER
- Federated architecture
- Distributed over tarantool
- Solid crypto provided by zenflows-crypto
For the deployment see the subdirectory devops
, there is an ansible
role. It is also available a Dockerfile
and a docker-compose.yml
.
All request have to be signed with the private key of the sender
(in /send
) or receiver
(in /read
) agent with zenflows-crypto and the signature has to be put in the HTTP request in the header zenflows-sign
.
Send content to a list of receivers.
Parameters
Name | Required | Type | Description |
---|---|---|---|
sender |
required | ULID | The sender is the ID (of the agent in zenflows as string) |
receivers |
required | ULID[] | The receivers is a list of the IDs of the agent (as strings) that should receive the message. |
content |
required | json | The content is saved as JSON inside a postgresql field, when an agent want to see his messages has to make a call to read ; |
Read content for a specific agent.
Parameters
Name | Required | Type | Description |
---|---|---|---|
receiver |
required | ULID | The receiver is the ID (as string) of the agent we want to read the messages of |
request_id |
required | number | request_id is a random value, in the response the inbox service will put the same value in the receiver_id . |
only_unread |
optional | boolean | There could be a third field only_unread that return only the messages for which the read flag is false ; |
Mark a specific content as read or unread.
Name | Required | Type | Description |
---|---|---|---|
message_id |
required | ULID | The message is the ID (as string) of the message we want to set status of |
receiver |
required | ULID | The receiver is the ID (as string) of the agent we want to set status of |
read |
optional | boolean | The read flag tells if the receiver has read (or not) the message. (Implement the read/unread feature); |
Returns the number of messages with the read
flag set to false.
Name | Required | Type | Description |
---|---|---|---|
receiver |
required | ULID | The receiver is the ID (as string) of the agent we want to count the unread messages |
Please refer to DOCKER PACKAGES
See subdirectory examples
Copyleft (ɔ) 2023 by Dyne.org foundation, Amsterdam
Designed, written and maintained by Alberto Lerda With contributions of Ennio Donato and Puria Nafisi Azizi
- 🔀 FORK IT
- Create your feature branch
git checkout -b feature/branch
- Commit your changes
git commit -am 'Add some fooBar'
- Push to the branch
git push origin feature/branch
- Create a new Pull Request
- 🙏 Thank you
Zenflows INBOX - Federated simple **inbox** for interfacer-gui
Copyleft (ɔ) 2023 Dyne.org foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.