From fbf4880d46077f959df79df11027b0f8bb0bf9c9 Mon Sep 17 00:00:00 2001 From: shockrah Date: Sat, 13 Feb 2021 17:14:41 -0800 Subject: [PATCH] Starting content to test deployment --- .gitignore | 4 ++ .gitlab-ci.yml | 22 +++++++ docs/archetypes/default.md | 6 ++ docs/config.toml | 7 +++ docs/content/structures/_index.md | 97 +++++++++++++++++++++++++++++++ docs/layouts/partials/logo.html | 3 + 6 files changed, 139 insertions(+) create mode 100644 docs/archetypes/default.md create mode 100644 docs/config.toml create mode 100644 docs/content/structures/_index.md create mode 100644 docs/layouts/partials/logo.html diff --git a/.gitignore b/.gitignore index a63de2d..bc773c8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,7 @@ server-api/.vscode/launch.json tui/example-config.json bin/ + +# Genereated in pipelines only +docs/resources +docs/public/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 28a94a7..3b2f3d3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,14 @@ image: shockrah/freechat:0.4 stages: + - docs - build - test +workflow: + rules: + - if: '$CI_COMMIT_BRANCH' + variables: CARGO_HOME: $CI_PROJECT_DIR/.cargo @@ -35,6 +40,7 @@ test-json-api: stage: test needs: - build-json-api + only: [ "master" ] dependencies: - build-json-api @@ -49,3 +55,19 @@ test-json-api: expire_in: 1 week name: json-api + +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 diff --git a/docs/archetypes/default.md b/docs/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/docs/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/docs/config.toml b/docs/config.toml new file mode 100644 index 0000000..9d9eb9b --- /dev/null +++ b/docs/config.toml @@ -0,0 +1,7 @@ +baseURL = "https://freechat.shockrah.xyz" +languageCode = "en-us" +theme = "kraiklyn" +title = "Freechat Reference" + +[params] +externalTitle = "Freechat docs" diff --git a/docs/content/structures/_index.md b/docs/content/structures/_index.md new file mode 100644 index 0000000..f7ad36b --- /dev/null +++ b/docs/content/structures/_index.md @@ -0,0 +1,97 @@ +# Structures + +This section details what kind of data structures are returned by the json-api. + +**IMPORTANT**: All structures are returned in [JSON form](https://www.json.org/json-en.html). + +## General Data Notation + +* u64 + + * Unsigned 64 bit integer + +* i64 + + * Signed 64 bit integer + +* 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=`. The other data is merely for tracking the server's end. + + + diff --git a/docs/layouts/partials/logo.html b/docs/layouts/partials/logo.html new file mode 100644 index 0000000..550a309 --- /dev/null +++ b/docs/layouts/partials/logo.html @@ -0,0 +1,3 @@ +
+ From shockrah with <3 +