Files
2026-04-30 11:34:27 +00:00

154 lines
4.6 KiB
TypeScript

// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import * as z from 'zod'
import {
zDeleteAdminDeleteExploreBannerByBannerIdPath,
zDeleteAdminDeleteExploreBannerByBannerIdResponse,
zDeleteAdminInsertExploreAppsByAppIdPath,
zDeleteAdminInsertExploreAppsByAppIdResponse,
zPostAdminBatchAddNotificationAccountsResponse,
zPostAdminInsertExploreAppsBody,
zPostAdminInsertExploreAppsResponse,
zPostAdminInsertExploreBannerBody,
zPostAdminInsertExploreBannerResponse,
zPostAdminUpsertNotificationBody,
zPostAdminUpsertNotificationResponse,
} from './zod.gen'
/**
* Register target accounts for a notification by email address. JSON body: {"notification_id": "...", "user_email": ["a@example.com", ...]}. File upload: multipart/form-data with a 'file' field (CSV or TXT, one email per line) plus a 'notification_id' field. Emails that do not match any account are silently skipped.
*/
export const post = oc
.route({
description:
'Register target accounts for a notification by email address. JSON body: {"notification_id": "...", "user_email": ["a@example.com", ...]}. File upload: multipart/form-data with a \'file\' field (CSV or TXT, one email per line) plus a \'notification_id\' field. Emails that do not match any account are silently skipped.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAdminBatchAddNotificationAccounts',
path: '/admin/batch_add_notification_accounts',
tags: ['console'],
})
.output(zPostAdminBatchAddNotificationAccountsResponse)
export const batchAddNotificationAccounts = {
post,
}
/**
* Delete an explore banner
*/
export const delete_ = oc
.route({
description: 'Delete an explore banner',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteAdminDeleteExploreBannerByBannerId',
path: '/admin/delete-explore-banner/{banner_id}',
successStatus: 204,
tags: ['console'],
})
.input(z.object({ params: zDeleteAdminDeleteExploreBannerByBannerIdPath }))
.output(zDeleteAdminDeleteExploreBannerByBannerIdResponse)
export const byBannerId = {
delete: delete_,
}
export const deleteExploreBanner = {
byBannerId,
}
/**
* Remove an app from the explore list
*/
export const delete2 = oc
.route({
description: 'Remove an app from the explore list',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteAdminInsertExploreAppsByAppId',
path: '/admin/insert-explore-apps/{app_id}',
successStatus: 204,
tags: ['console'],
})
.input(z.object({ params: zDeleteAdminInsertExploreAppsByAppIdPath }))
.output(zDeleteAdminInsertExploreAppsByAppIdResponse)
export const byAppId = {
delete: delete2,
}
/**
* Insert or update an app in the explore list
*/
export const post2 = oc
.route({
description: 'Insert or update an app in the explore list',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAdminInsertExploreApps',
path: '/admin/insert-explore-apps',
tags: ['console'],
})
.input(z.object({ body: zPostAdminInsertExploreAppsBody }))
.output(zPostAdminInsertExploreAppsResponse)
export const insertExploreApps = {
post: post2,
byAppId,
}
/**
* Insert an explore banner
*/
export const post3 = oc
.route({
description: 'Insert an explore banner',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAdminInsertExploreBanner',
path: '/admin/insert-explore-banner',
successStatus: 201,
tags: ['console'],
})
.input(z.object({ body: zPostAdminInsertExploreBannerBody }))
.output(zPostAdminInsertExploreBannerResponse)
export const insertExploreBanner = {
post: post3,
}
/**
* Create or update an in-product notification. Supply notification_id to update an existing one; omit it to create a new one. Pass at least one language variant in contents (zh / en / jp).
*/
export const post4 = oc
.route({
description:
'Create or update an in-product notification. Supply notification_id to update an existing one; omit it to create a new one. Pass at least one language variant in contents (zh / en / jp).',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAdminUpsertNotification',
path: '/admin/upsert_notification',
tags: ['console'],
})
.input(z.object({ body: zPostAdminUpsertNotificationBody }))
.output(zPostAdminUpsertNotificationResponse)
export const upsertNotification = {
post: post4,
}
export const admin = {
batchAddNotificationAccounts,
deleteExploreBanner,
insertExploreApps,
insertExploreBanner,
upsertNotification,
}
export const contract = {
admin,
}