| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /* eslint-disable no-console */
- import {
- bootstrapWorker,
- ChannelService,
- CurrencyCode,
- isGraphQlErrorResult,
- LanguageCode,
- RequestContextService,
- RoleService,
- } from '@vendure/core';
- import { devConfig } from '../dev-config';
- const CHANNEL_COUNT = 1001;
- generateManyChannels()
- .then(() => process.exit(0))
- .catch(() => process.exit(1));
- // Used for testing scenarios where there are many channels
- // such as https://github.com/vendure-ecommerce/vendure/issues/2233
- async function generateManyChannels() {
- const { app } = await bootstrapWorker(devConfig);
- const requestContextService = app.get(RequestContextService);
- const channelService = app.get(ChannelService);
- const roleService = app.get(RoleService);
- const ctxAdmin = await requestContextService.create({
- apiType: 'admin',
- });
- const superAdminRole = await roleService.getSuperAdminRole(ctxAdmin);
- const customerRole = await roleService.getCustomerRole(ctxAdmin);
- for (let i = CHANNEL_COUNT; i > 0; i--) {
- const channel = await channelService.create(ctxAdmin, {
- code: `channel-test-${i}`,
- token: `channel--test-${i}`,
- defaultLanguageCode: LanguageCode.en,
- availableLanguageCodes: [LanguageCode.en],
- pricesIncludeTax: true,
- defaultCurrencyCode: CurrencyCode.USD,
- availableCurrencyCodes: [CurrencyCode.USD],
- sellerId: 1,
- defaultTaxZoneId: 1,
- defaultShippingZoneId: 1,
- });
- if (isGraphQlErrorResult(channel)) {
- console.log(channel.message);
- } else {
- console.log(`Created channel ${channel.code}`);
- await roleService.assignRoleToChannel(ctxAdmin, superAdminRole.id, channel.id);
- await roleService.assignRoleToChannel(ctxAdmin, customerRole.id, channel.id);
- }
- }
- }
|