Merge branch 'wiki' of gitlab.com:shockrah/freechat into wiki

This commit is contained in:
shockrah 2021-06-14 19:02:33 -07:00
commit 55c2e6d960
2 changed files with 94 additions and 0 deletions

View File

@ -157,3 +157,19 @@ full-mock-tests:
- sleep 5 - sleep 5
- pushd json-api/ && source client-tests/bin/activate && python client-tests/main.py - pushd json-api/ && source client-tests/bin/activate && python client-tests/main.py
build-wiki:
# Cheap as hell so we run on master basically everytime
image: registry.gitlab.com/pages/hugo:latest
only: [ "master" ]
stage: docs
script:
- cd docs/
- hugo
- cp -r public/ ../
artifacts:
paths:
- public

View File

@ -20,4 +20,82 @@ This section details what kind of data structures are returned by the json-api.
* String * String
## Channels
Channels are made up of the following components
Name | Type
:------:|:--------:
id | `u64`
name | `String`
kind | `i32`
Channels have two valid types or (more semantically) `kind` values:
* Voice Channel = 1
* Text Channel = 2
## Users
### Personal User
If you need to get your own user data, with `/users/me` then the data received on success has the following fields:
Name | Type
:------:|:-----:
id | `u64`
secret | `String`
joindate| `i64`
status | `i32`
permissions| `u64`
### JWT
This data is retrieved after a sucessful `/login` hit.
Name | Type
:-----:|:------:
jwt | `String`
### Full Public User
Name | Type
:-----:|:-----:
id | `u64`
name | `String`
joindate| `i64`
status | `i32`
permissions| `u64`
For users _without_ the `USER_FETCH` permission the only two fields with actual data is `id` and `name`. The other fields will be set to 0.
## Messages
Name | Type
:-----:|:-----:
id | `u64`
time | `i64`
content | `String`
type | `String`
author_id | `u64`
channel_id | `u64`
Acceptable values
## Invites
When requesting a code from `/invite/create` successful data contains:
Name | Type
:-----:|:-----:
id | `i64`
uses | `null|i64`
expires| `bool`
Most clients should format this code for usage as `https://domain.net:port/join?code=<id>`. The other data is merely for tracking the server's end.