mirror of
https://github.com/langgenius/dify.git
synced 2026-11-13 06:41:07 +08:00
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import type {
|
|
ModelProviderCreditsResponse,
|
|
TokenerMeteringResponse,
|
|
} from '@dify/contracts/api/console/workspaces/types.gen'
|
|
import { zModelProviderCreditsResponse } from '@dify/contracts/api/console/workspaces/zod.gen'
|
|
|
|
export const createModelCreditsFixture = (overrides: Partial<ModelProviderCreditsResponse> = {}) =>
|
|
zModelProviderCreditsResponse.parse({
|
|
quota_limit: 100,
|
|
quota_used: 30,
|
|
remaining_credits: 70,
|
|
is_unlimited: false,
|
|
is_exhausted: false,
|
|
exhausted_at: null,
|
|
next_credit_reset_date: 1735603200,
|
|
pool_type: 'trial',
|
|
model_billing_source: 'legacy_message_credits',
|
|
model_billing_migration_status: 'none',
|
|
tokener_bootstrap_status: null,
|
|
tokener_metering: null,
|
|
...overrides,
|
|
})
|
|
|
|
export const createTokenerMeteringFixture = (
|
|
overrides: Partial<TokenerMeteringResponse> = {},
|
|
): TokenerMeteringResponse => ({
|
|
tenant_id: 'tenant-1',
|
|
currency: 'USD',
|
|
available_usd_micro: '12500000',
|
|
current_month: {
|
|
status: 'available',
|
|
start_date: '2026-09-01',
|
|
end_date: '2026-09-03',
|
|
billed_usd_micro: '3750000',
|
|
request_count: '42',
|
|
},
|
|
balance_generated_at: '2026-09-03T06:00:00Z',
|
|
usage_generated_at: '2026-09-03T05:59:30Z',
|
|
...overrides,
|
|
})
|
|
|
|
export const createTokenerCreditsFixture = (
|
|
overrides: Partial<ModelProviderCreditsResponse> = {},
|
|
) =>
|
|
createModelCreditsFixture({
|
|
model_billing_source: 'tokener',
|
|
model_billing_migration_status: 'active',
|
|
tokener_bootstrap_status: 'ready',
|
|
quota_limit: null,
|
|
quota_used: null,
|
|
remaining_credits: null,
|
|
pool_type: null,
|
|
next_credit_reset_date: null,
|
|
tokener_metering: createTokenerMeteringFixture(),
|
|
...overrides,
|
|
})
|