feat(sign-in): メールアドレスログインを実装 (MisskeyIO#836)

Co-authored-by: まっちゃてぃー。 <56515516+mattyatea@users.noreply.github.com>
This commit is contained in:
あわわわとーにゅ 2024-12-22 00:09:33 +09:00 committed by GitHub
parent 3ecc340168
commit 58513c1b81
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 236 additions and 22 deletions

View file

@ -1776,6 +1776,8 @@ declare namespace entities {
UsersSearchResponse,
UsersShowRequest,
UsersShowResponse,
UsersGetSecurityInfoRequest,
UsersGetSecurityInfoResponse,
UsersStatsRequest,
UsersStatsResponse,
UsersAchievementsRequest,
@ -3166,6 +3168,12 @@ type UsersGetFrequentlyRepliedUsersRequest = operations['users___get-frequently-
// @public (undocumented)
type UsersGetFrequentlyRepliedUsersResponse = operations['users___get-frequently-replied-users']['responses']['200']['content']['application/json'];
// @public (undocumented)
type UsersGetSecurityInfoRequest = operations['users___get-security-info']['requestBody']['content']['application/json'];
// @public (undocumented)
type UsersGetSecurityInfoResponse = operations['users___get-security-info']['responses']['200']['content']['application/json'];
// @public (undocumented)
type UsersGetSkebStatusRequest = operations['users___get-skeb-status']['requestBody']['content']['application/json'];

View file

@ -4167,6 +4167,17 @@ declare module '../api.js' {
credential?: string | null,
): Promise<SwitchCaseResponseType<E, P>>;
/**
* No description provided.
*
* **Credential required**: *No*
*/
request<E extends 'users/get-security-info', P extends Endpoints[E]['req']>(
endpoint: E,
params: P,
credential?: string | null,
): Promise<SwitchCaseResponseType<E, P>>;
/**
* Show statistics about a user.
*

View file

@ -562,6 +562,8 @@ import type {
UsersSearchResponse,
UsersShowRequest,
UsersShowResponse,
UsersGetSecurityInfoRequest,
UsersGetSecurityInfoResponse,
UsersStatsRequest,
UsersStatsResponse,
UsersAchievementsRequest,
@ -964,6 +966,7 @@ export type Endpoints = {
'users/search-by-username-and-host': { req: UsersSearchByUsernameAndHostRequest; res: UsersSearchByUsernameAndHostResponse };
'users/search': { req: UsersSearchRequest; res: UsersSearchResponse };
'users/show': { req: UsersShowRequest; res: UsersShowResponse };
'users/get-security-info': { req: UsersGetSecurityInfoRequest; res: UsersGetSecurityInfoResponse };
'users/stats': { req: UsersStatsRequest; res: UsersStatsResponse };
'users/achievements': { req: UsersAchievementsRequest; res: UsersAchievementsResponse };
'users/update-memo': { req: UsersUpdateMemoRequest; res: EmptyResponse };

View file

@ -565,6 +565,8 @@ export type UsersSearchRequest = operations['users___search']['requestBody']['co
export type UsersSearchResponse = operations['users___search']['responses']['200']['content']['application/json'];
export type UsersShowRequest = operations['users___show']['requestBody']['content']['application/json'];
export type UsersShowResponse = operations['users___show']['responses']['200']['content']['application/json'];
export type UsersGetSecurityInfoRequest = operations['users___get-security-info']['requestBody']['content']['application/json'];
export type UsersGetSecurityInfoResponse = operations['users___get-security-info']['responses']['200']['content']['application/json'];
export type UsersStatsRequest = operations['users___stats']['requestBody']['content']['application/json'];
export type UsersStatsResponse = operations['users___stats']['responses']['200']['content']['application/json'];
export type UsersAchievementsRequest = operations['users___achievements']['requestBody']['content']['application/json'];

View file

@ -3587,6 +3587,15 @@ export type paths = {
*/
post: operations['users___show'];
};
'/users/get-security-info': {
/**
* users/get-security-info
* @description No description provided.
*
* **Credential required**: *No*
*/
post: operations['users___get-security-info'];
};
'/users/stats': {
/**
* users/stats
@ -29174,6 +29183,70 @@ export type operations = {
};
};
};
/**
* users/get-security-info
* @description No description provided.
*
* **Credential required**: *No*
*/
'users___get-security-info': {
requestBody: {
content: {
'application/json': {
email: string;
password: string;
};
};
};
responses: {
/** @description OK (with results) */
200: {
content: {
'application/json': {
twoFactorEnabled: boolean;
usePasswordLessLogin: boolean;
securityKeys: boolean;
};
};
};
/** @description Client error */
400: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Authentication error */
401: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Forbidden error */
403: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description I'm Ai */
418: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description To many requests */
429: {
content: {
'application/json': components['schemas']['Error'];
};
};
/** @description Internal server error */
500: {
content: {
'application/json': components['schemas']['Error'];
};
};
};
};
/**
* users/stats
* @description Show statistics about a user.