Skip to content

Commit 1261282

Browse files
hifaizskclaude
andcommitted
feat: regenerate OpenAPI client with retention policy endpoints
Adds generated client methods for retention policy CRUD: - getRetentionPolicy - setRetentionPolicy - deleteRetentionPolicy - getRetentionPolicyRuns Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent eb39e6f commit 1261282

File tree

5 files changed

+462
-16
lines changed

5 files changed

+462
-16
lines changed

src/gen/chat/ChatApi.ts

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import {
1919
DeleteMessageResponse,
2020
DeleteReactionResponse,
2121
DeleteReminderResponse,
22+
DeleteRetentionPolicyRequest,
23+
DeleteRetentionPolicyResponse,
2224
DeleteSegmentTargetsRequest,
2325
EventResponse,
2426
ExportChannelsRequest,
@@ -31,6 +33,9 @@ import {
3133
GetMessageResponse,
3234
GetReactionsResponse,
3335
GetRepliesResponse,
36+
GetRetentionPolicyResponse,
37+
GetRetentionPolicyRunsRequest,
38+
GetRetentionPolicyRunsResponse,
3439
GetSegmentResponse,
3540
GetThreadResponse,
3641
HideChannelRequest,
@@ -86,6 +91,8 @@ import {
8691
SendReactionRequest,
8792
SendReactionResponse,
8893
SendUserCustomEventRequest,
94+
SetRetentionPolicyRequest,
95+
SetRetentionPolicyResponse,
8996
ShowChannelRequest,
9097
ShowChannelResponse,
9198
SortParamRequest,
@@ -1973,6 +1980,92 @@ export class ChatApi {
19731980
return { ...response.body, metadata: response.metadata };
19741981
}
19751982

1983+
async getRetentionPolicy(): Promise<
1984+
StreamResponse<GetRetentionPolicyResponse>
1985+
> {
1986+
const response = await this.apiClient.sendRequest<
1987+
StreamResponse<GetRetentionPolicyResponse>
1988+
>('GET', '/api/v2/chat/retention_policy', undefined, undefined);
1989+
1990+
decoders.GetRetentionPolicyResponse?.(response.body);
1991+
1992+
return { ...response.body, metadata: response.metadata };
1993+
}
1994+
1995+
async setRetentionPolicy(
1996+
request: SetRetentionPolicyRequest,
1997+
): Promise<StreamResponse<SetRetentionPolicyResponse>> {
1998+
const body = {
1999+
max_age_hours: request?.max_age_hours,
2000+
policy: request?.policy,
2001+
};
2002+
2003+
const response = await this.apiClient.sendRequest<
2004+
StreamResponse<SetRetentionPolicyResponse>
2005+
>(
2006+
'POST',
2007+
'/api/v2/chat/retention_policy',
2008+
undefined,
2009+
undefined,
2010+
body,
2011+
'application/json',
2012+
);
2013+
2014+
decoders.SetRetentionPolicyResponse?.(response.body);
2015+
2016+
return { ...response.body, metadata: response.metadata };
2017+
}
2018+
2019+
async deleteRetentionPolicy(
2020+
request: DeleteRetentionPolicyRequest,
2021+
): Promise<StreamResponse<DeleteRetentionPolicyResponse>> {
2022+
const body = {
2023+
policy: request?.policy,
2024+
};
2025+
2026+
const response = await this.apiClient.sendRequest<
2027+
StreamResponse<DeleteRetentionPolicyResponse>
2028+
>(
2029+
'POST',
2030+
'/api/v2/chat/retention_policy/delete',
2031+
undefined,
2032+
undefined,
2033+
body,
2034+
'application/json',
2035+
);
2036+
2037+
decoders.DeleteRetentionPolicyResponse?.(response.body);
2038+
2039+
return { ...response.body, metadata: response.metadata };
2040+
}
2041+
2042+
async getRetentionPolicyRuns(
2043+
request?: GetRetentionPolicyRunsRequest,
2044+
): Promise<StreamResponse<GetRetentionPolicyRunsResponse>> {
2045+
const body = {
2046+
limit: request?.limit,
2047+
next: request?.next,
2048+
prev: request?.prev,
2049+
sort: request?.sort,
2050+
filter_conditions: request?.filter_conditions,
2051+
};
2052+
2053+
const response = await this.apiClient.sendRequest<
2054+
StreamResponse<GetRetentionPolicyRunsResponse>
2055+
>(
2056+
'POST',
2057+
'/api/v2/chat/retention_policy/runs',
2058+
undefined,
2059+
undefined,
2060+
body,
2061+
'application/json',
2062+
);
2063+
2064+
decoders.GetRetentionPolicyRunsResponse?.(response.body);
2065+
2066+
return { ...response.body, metadata: response.metadata };
2067+
}
2068+
19762069
async search(request?: {
19772070
payload?: SearchPayload;
19782071
}): Promise<StreamResponse<SearchResponse>> {

src/gen/common/CommonApi.ts

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import {
4747
GetBlockListResponse,
4848
GetBlockedUsersResponse,
4949
GetCustomPermissionResponse,
50+
GetExternalStorageResponse,
5051
GetImportResponse,
5152
GetImportV2TaskResponse,
5253
GetOGResponse,
@@ -100,12 +101,15 @@ import {
100101
UpdateUsersPartialRequest,
101102
UpdateUsersRequest,
102103
UpdateUsersResponse,
104+
UpsertExternalStorageRequest,
105+
UpsertExternalStorageResponse,
103106
UpsertPushPreferencesRequest,
104107
UpsertPushPreferencesResponse,
105108
UpsertPushProviderRequest,
106109
UpsertPushProviderResponse,
107110
UpsertPushTemplateRequest,
108111
UpsertPushTemplateResponse,
112+
ValidateExternalStorageResponse,
109113
} from '../models';
110114
import { decoders } from '../model-decoders/decoders';
111115

@@ -699,6 +703,71 @@ export class CommonApi {
699703
return { ...response.body, metadata: response.metadata };
700704
}
701705

706+
async deleteImporterExternalStorage(): Promise<
707+
StreamResponse<DeleteExternalStorageResponse>
708+
> {
709+
const response = await this.apiClient.sendRequest<
710+
StreamResponse<DeleteExternalStorageResponse>
711+
>('DELETE', '/api/v2/imports/v2/external-storage', undefined, undefined);
712+
713+
decoders.DeleteExternalStorageResponse?.(response.body);
714+
715+
return { ...response.body, metadata: response.metadata };
716+
}
717+
718+
async getImporterExternalStorage(): Promise<
719+
StreamResponse<GetExternalStorageResponse>
720+
> {
721+
const response = await this.apiClient.sendRequest<
722+
StreamResponse<GetExternalStorageResponse>
723+
>('GET', '/api/v2/imports/v2/external-storage', undefined, undefined);
724+
725+
decoders.GetExternalStorageResponse?.(response.body);
726+
727+
return { ...response.body, metadata: response.metadata };
728+
}
729+
730+
async upsertImporterExternalStorage(
731+
request: UpsertExternalStorageRequest,
732+
): Promise<StreamResponse<UpsertExternalStorageResponse>> {
733+
const body = {
734+
type: request?.type,
735+
aws_s3: request?.aws_s3,
736+
};
737+
738+
const response = await this.apiClient.sendRequest<
739+
StreamResponse<UpsertExternalStorageResponse>
740+
>(
741+
'PUT',
742+
'/api/v2/imports/v2/external-storage',
743+
undefined,
744+
undefined,
745+
body,
746+
'application/json',
747+
);
748+
749+
decoders.UpsertExternalStorageResponse?.(response.body);
750+
751+
return { ...response.body, metadata: response.metadata };
752+
}
753+
754+
async validateImporterExternalStorage(): Promise<
755+
StreamResponse<ValidateExternalStorageResponse>
756+
> {
757+
const response = await this.apiClient.sendRequest<
758+
StreamResponse<ValidateExternalStorageResponse>
759+
>(
760+
'POST',
761+
'/api/v2/imports/v2/external-storage/validate',
762+
undefined,
763+
undefined,
764+
);
765+
766+
decoders.ValidateExternalStorageResponse?.(response.body);
767+
768+
return { ...response.body, metadata: response.metadata };
769+
}
770+
702771
async deleteImportV2Task(request: {
703772
id: string;
704773
}): Promise<StreamResponse<DeleteImportV2TaskResponse>> {
@@ -1539,6 +1608,7 @@ export class CommonApi {
15391608
};
15401609
const body = {
15411610
member_ids: request?.member_ids,
1611+
as_admin: request?.as_admin,
15421612
team_id: request?.team_id,
15431613
};
15441614

src/gen/model-decoders/decoders.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2590,6 +2590,15 @@ decoders.GetDraftResponse = (input?: Record<string, any>) => {
25902590
return decode(typeMappings, input);
25912591
};
25922592

2593+
decoders.GetExternalStorageResponse = (input?: Record<string, any>) => {
2594+
const typeMappings: TypeMapping = {
2595+
created_at: { type: 'DatetimeType', isSingle: true },
2596+
2597+
updated_at: { type: 'DatetimeType', isSingle: true },
2598+
};
2599+
return decode(typeMappings, input);
2600+
};
2601+
25932602
decoders.GetFeedGroupResponse = (input?: Record<string, any>) => {
25942603
const typeMappings: TypeMapping = {
25952604
feed_group: { type: 'FeedGroupResponse', isSingle: true },
@@ -4243,6 +4252,8 @@ decoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {
42434252

42444253
completed_at: { type: 'DatetimeType', isSingle: true },
42454254

4255+
escalated_at: { type: 'DatetimeType', isSingle: true },
4256+
42464257
reviewed_at: { type: 'DatetimeType', isSingle: true },
42474258

42484259
appeal: { type: 'AppealItemResponse', isSingle: true },

0 commit comments

Comments
 (0)