[WIP] [MM-55031] OAuth Outgoing Connection App integration (#25379)

* OAuthOutgoingConnection model

* added store

* make generated

* add missing license headers

* fix receiver name

* i18n

* i18n sorting

* update migrations from master

* make migrations-extract

* update retrylayer tests

* replaced sql query with id pagination

* fixed flaky tests

* missing columns

* missing columns on save/update

* typo

* improved tests

* remove enum from mysql colum

* add password credentials to store

* license changes

* OAuthOutgoingConnectionInterface

* Oauth -> OAuth

* make generated

* merge migrations

* renamed migrations

* model change suggestions

* refactor test functionsn

* migration typo

* refactor store table names

* updated sanitize test

* cleanup merge

* refactor symbol

* list endpoint

* oauthoutgoingconnection -> outgoingoauthconnection

* signature change

* i18n update

* granttype typo

* naming

* api list

* uppercase typo

* i18n

* missing license header

* fixed path in comments

* updated openapi definitions

* sanitize connections

* make generated

* test license and no feature flag

* removed t.fatal

* updated testhelper calls

* yaml schema fixes

* switched interface name

* suggested translation

* missing i18n translation

* address comments

* updated i18n
Этот коммит содержится в:
Felipe Martin
2023-12-26 10:46:20 +01:00
коммит произвёл GitHub
родитель 287cbad2d5
Коммит 81a1d725a0
24 изменённых файлов: 1074 добавлений и 25 удалений

Просмотреть файл

@@ -52,6 +52,7 @@ build-v4: node_modules playbooks
@cat $(V4_SRC)/ip_filters.yaml >> $(V4_YAML)
@cat $(V4_SRC)/reports.yaml >> $(V4_YAML)
@cat $(V4_SRC)/limits.yaml >> $(V4_YAML)
@cat $(V4_SRC)/outgoing_oauth_connections.yaml >> $(V4_YAML)
@if [ -r $(PLAYBOOKS_SRC)/paths.yaml ]; then cat $(PLAYBOOKS_SRC)/paths.yaml >> $(V4_YAML); fi
@if [ -r $(PLAYBOOKS_SRC)/merged-definitions.yaml ]; then cat $(PLAYBOOKS_SRC)/merged-definitions.yaml >> $(V4_YAML); else cat $(V4_SRC)/definitions.yaml >> $(V4_YAML); fi
@echo Extracting code samples

Просмотреть файл

@@ -3580,6 +3580,30 @@ components:
description: The number of active users in the server
type: integer
format: int64
# Outgoing OAuth Connections
OutgoingOAuthConnectionGetItem:
type: object
properties:
id:
description: The unique identifier for the outgoing OAuth connection.
type: string
name:
description: The name of the outgoing OAuth connection.
type: string
create_at:
description: The time in milliseconds the outgoing OAuth connection was created.
type: integer
format: int64
update_at:
description: The time in milliseconds the outgoing OAuth connection was last updated.
type: integer
format: int64
grant_type:
description: The grant type of the outgoing OAuth connection.
type: string
audiences:
description: The audiences of the outgoing OAuth connection.
type: string
externalDocs:
description: Find out more about Mattermost
url: 'https://about.mattermost.com'

Просмотреть файл

@@ -0,0 +1,52 @@
/api/v4/oauth/outgoing_connections:
get:
tags:
- oauth
- outgoing_connections
- outgoing_oauth_connections
summary: List all connections
description: >
List all outgoing OAuth connections.
__Minimum server version__: 9.5
operationId: ListOutgoingOAuthConnections
responses:
"200":
description: Successfully fetched outgoing OAuth connections
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/OutgoingOAuthConnectionGetItem"
"401":
$ref: "#/components/responses/Unauthorized"
"500":
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"
/api/v4/oauth/outgoing_connections/{connection_id}:
get:
tags:
- oauth
- outgoing_connections
- outgoing_oauth_connections
summary: Get a connection
description: >
Retrieve an outgoing OAuth connection.
__Minimum server version__: 9.5
operationId: GetOutgoingOAuthConnection
responses:
"200":
description: Successfully fetched outgoing OAuth connection
content:
application/json:
schema:
$ref: "#/components/schemas/OutgoingOAuthConnectionGetItem"
"401":
$ref: "#/components/responses/Unauthorized"
"500":
$ref: "#/components/responses/InternalServerError"
"501":
$ref: "#/components/responses/NotImplemented"