Skip to content

IGCsu/igc.su

Repository files navigation

О проекте

Это сайт небольшого интернет-сообщества IGC.
Сайт используется для публикации Устава сообщества, проведения выборов и для вывода статистики.

API

Для использования API требуется авторизация через долгосрочный Bearer-токен. REST API.

GET /api/members - Получение всех участников сообщества
GET /api/members/{id} - Получение участника сообщества
PUT /api/members/{id} - Обновление участника сообщества
POST /api/members - Создание участника сообщества (не поддерживается)
DELETE /api/members/{id} - Удаление участника сообщества (не поддерживается)

GET /api/members - Получение всех ролей
GET /api/roles/{id} - Получение роли
PUT /api/roles/{id} - Обновление роли
POST /api/roles - Создание роли (не поддерживается)
DELETE /api/roles/{id} - Удаление роли

GET /api/channels - Получение всех каналов
GET /api/channels/{id} - Получение канала
PUT /api/channels/{id} - Обновление канала
POST /api/channels - Создание канала (не поддерживается)
DELETE /api/channels/{id} - Удаление канала


GET /api/members Получение всех участников сообщества

Params:

  • page - Страница (optional, default. 1)
  • count - Кол-во элементов на одной странице (optional, default. 10000)
{
    "current_page": 1,
    "data": [
        {
            "id": 256114365894230018,
            "name": "Русиш",
            "discriminator": "0197",
            "avatar": "avatars/256114365894230018/b09f871fbb4b2ec25883a72ae71eea03",
            "search": "256114365894230018русиш#0197",
            "roles": "['562545964708134912', '613412133715312641', '648762974277992448']",
            "headRole": "607650874097139733",
            "created_at": "2022-07-24T16:48:38.000000Z",
            "updated_at": "2022-07-24T16:48:38.000000Z"
        }
    ],
    "first_page_url": "https://igc.su/api/members?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://igc.su/api/members?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https://igc.su/api/members?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://igc.su/api/members",
    "per_page": 10000,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}

GET /api/members/{id} Получение участника сообщества
{
    "id": 256114365894230018,
    "name": "Русиш",
    "discriminator": "0197",
    "avatar": "avatars/256114365894230018/b09f871fbb4b2ec25883a72ae71eea03",
    "search": "256114365894230018русиш#0197",
    "roles": "['562545964708134912', '613412133715312641', '648762974277992448']",
    "headRole": "607650874097139733",
    "created_at": "2022-07-24T16:48:38.000000Z",
    "updated_at": "2022-07-24T16:48:38.000000Z"
}

PUT /api/members/{id} Обновление участника сообщества

Params:

  • name - Имя участника в сообществе (required, string, max:1000)
  • discriminator - Дискриминатор участника (required, string, size:4)
  • avatar - Кол-во элементов на одной странице (required, string, nullable)
  • roles - Кол-во элементов на одной странице (required, json)
{
    "id": 256114365894230018,
    "name": "Русиш",
    "discriminator": "0197",
    "avatar": "avatars/256114365894230018/b09f871fbb4b2ec25883a72ae71eea03",
    "search": "256114365894230018русиш#0197",
    "roles": "['562545964708134912', '613412133715312641', '648762974277992448']",
    "headRole": "607650874097139733",
    "created_at": "2022-07-24T16:48:38.000000Z",
    "updated_at": "2022-07-24T16:48:38.000000Z"
}

GET /api/roles Получение всех ролей

Params:

  • page - Страница (optional, default. 1)
  • count - Кол-во элементов на одной странице (optional, default. 10000)
{
    "current_page": 1,
    "data": [
        {
            "id": 648762974277992448,
            "name": "alive",
            "color": "13565893",
            "position": "90",
            "created_at": "2022-07-24T18:19:38.000000Z",
            "updated_at": "2022-07-24T18:19:38.000000Z"
        }
    ],
    "first_page_url": "https://igc.su/api/roles?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://igc.su/api/roles?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https://igc.su/api/roles?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://igc.su/api/roles",
    "per_page": 10000,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}

GET /api/roles/{id} Получение роли
{
    "id": 648762974277992448,
    "name": "alive",
    "color": "13565893",
    "position": "90",
    "created_at": "2022-07-24T18:19:38.000000Z",
    "updated_at": "2022-07-24T18:19:38.000000Z"
}

PUT /api/roles/{id} Обновление роли

Params:

  • name - Название роли (required, string, max:1000)
  • color - Цвет роли (required, string)
  • position - Позиция роли (required, integer)
{
    "id": 648762974277992448,
    "name": "alive",
    "color": "13565893",
    "position": "90",
    "created_at": "2022-07-24T18:19:38.000000Z",
    "updated_at": "2022-07-24T18:19:38.000000Z"
}

DELETE /api/roles/{id} Удаление роли
{
    "id": 648762974277992448,
    "name": "alive",
    "color": "13565893",
    "position": "90",
    "created_at": "2022-07-24T18:19:38.000000Z",
    "updated_at": "2022-07-24T18:19:38.000000Z"
}

GET /api/channels Получение всех каналов

Params:

  • page - Страница (optional, default. 1)
  • count - Кол-во элементов на одной странице (optional, default. 10000)
{
    "current_page": 1,
    "data": [
        {
            "id": 453272494724349963,
            "type": "0",
            "position": "12",
            "name": "основной",
            "topic": "Основной канал для общения",
            "nsfw": "0",
            "parent_id": "500034754406645760",
            "created_at": "2022-07-24T18:52:58.000000Z",
            "updated_at": "2022-07-24T18:52:58.000000Z"
        }
    ],
    "first_page_url": "https://igc.su/api/channels?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://igc.su/api/channels?page=1",
    "links": [
        {
            "url": null,
            "label": "« Previous",
            "active": false
        },
        {
            "url": "https://igc.su/api/channels?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next »",
            "active": false
        }
    ],
    "next_page_url": null,
    "path": "https://igc.su/api/channels",
    "per_page": 10000,
    "prev_page_url": null,
    "to": 1,
    "total": 1
}

GET /api/channels/{id} Получение канала
{
    "id": 453272494724349963,
    "type": "0",
    "position": "12",
    "name": "основной",
    "topic": "Основной канал для общения",
    "nsfw": "0",
    "parent_id": "500034754406645760",
    "created_at": "2022-07-24T18:52:58.000000Z",
    "updated_at": "2022-07-24T18:52:58.000000Z"
}

PUT /api/channels/{id} Обновление канала

Params:

  • type - Тип канала (required, integer)
  • position - Позиция канала (required, integer)
  • name - Название канала (required, string, max:1000)
  • topic - Описание канала (required, string, max:1000)
  • nsfw - NSFW-метка канала (required, boolean)
  • parent_id - ID канала родителя (required, integer)
{
    "id": 453272494724349963,
    "type": "0",
    "position": "12",
    "name": "основной",
    "topic": "Основной канал для общения",
    "nsfw": "0",
    "parent_id": "500034754406645760",
    "created_at": "2022-07-24T18:52:58.000000Z",
    "updated_at": "2022-07-24T18:52:58.000000Z"
}

DELETE /api/channels/{id} Удаление канала
{
    "id": 453272494724349963,
    "type": "0",
    "position": "12",
    "name": "основной",
    "topic": "Основной канал для общения",
    "nsfw": "0",
    "parent_id": "500034754406645760",
    "created_at": "2022-07-24T18:52:58.000000Z",
    "updated_at": "2022-07-24T18:52:58.000000Z"
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages