Группы: приглашения вместо авто-добавления (согласиться/отказаться)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-17 20:07:20 +03:00
co-authored by Claude Opus 4.8
parent 66370c7df4
commit a5c54512a5
20 changed files with 742 additions and 98 deletions
+166 -4
View File
@@ -305,8 +305,24 @@ export interface paths {
/** List Members */
get: operations["list_members_api_groups__group_id__members_get"];
put?: never;
/** Add Member */
post: operations["add_member_api_groups__group_id__members_post"];
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/groups/{group_id}/invitations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Invite Member */
post: operations["invite_member_api_groups__group_id__invitations_post"];
delete?: never;
options?: never;
head?: never;
@@ -365,6 +381,57 @@ export interface paths {
patch?: never;
trace?: never;
};
"/api/invitations": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** My Invitations */
get: operations["my_invitations_api_invitations_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/invitations/{invitation_id}/accept": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Accept Invitation */
post: operations["accept_invitation_api_invitations__invitation_id__accept_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/invitations/{invitation_id}/decline": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Decline Invitation */
post: operations["decline_invitation_api_invitations__invitation_id__decline_post"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/matches/randomize-faction": {
parameters: {
query?: never;
@@ -1272,6 +1339,19 @@ export interface components {
/** Min Games */
min_games: number;
};
/** InvitationRead */
InvitationRead: {
/** Id */
id: number;
/** Group Id */
group_id: number;
/** Group Name */
group_name: string;
/** Invited By Nickname */
invited_by_nickname?: string | null;
/** Created At */
created_at: string;
};
/** Leaderboard */
Leaderboard: {
/**
@@ -2317,7 +2397,7 @@ export interface operations {
};
};
};
add_member_api_groups__group_id__members_post: {
invite_member_api_groups__group_id__invitations_post: {
parameters: {
query?: never;
header?: never;
@@ -2338,7 +2418,7 @@ export interface operations {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["MemberRead"];
"application/json": components["schemas"]["InvitationRead"];
};
};
/** @description Validation Error */
@@ -2485,6 +2565,88 @@ export interface operations {
};
};
};
my_invitations_api_invitations_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["InvitationRead"][];
};
};
};
};
accept_invitation_api_invitations__invitation_id__accept_post: {
parameters: {
query?: never;
header?: never;
path: {
invitation_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["OkResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
decline_invitation_api_invitations__invitation_id__decline_post: {
parameters: {
query?: never;
header?: never;
path: {
invitation_id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["OkResponse"];
};
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
randomize_faction_api_matches_randomize_faction_post: {
parameters: {
query?: never;