For each customer sale not yet stored as completed, fetch the full sale (GET /sales/:id) and upsert it as a STORE order keyed on hiboutikSaleId. Lines are replaced on each upsert and linked to the matching product version when it still exists. Quotations are skipped, orders are never deleted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
78 lines
3.6 KiB
TypeScript
78 lines
3.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { AppController } from './app.controller';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { HiboutikService } from './services/hiboutik/hiboutik.service';
|
|
import { CategoryHiboutikRepository } from './hiboutik/category.hiboutik.repository';
|
|
import { CategoryConverter } from './models/converter/category.converter';
|
|
import { ProductHiboutikRepository } from './hiboutik/product.hiboutik.repository';
|
|
import { HttpModule } from '@nestjs/axios';
|
|
import { CategoryDatabaseRepository } from './database/category.database.repository';
|
|
import { PrismaModule } from '../prisma/prisma.module';
|
|
import { HiboutikClient } from './hiboutik/hiboutik.client';
|
|
import { BrandHiboutikRepository } from './hiboutik/brand.hiboutik.repository';
|
|
import { BrandDatabaseRepository } from './database/brand.database.repository';
|
|
import { BrandConverter } from './models/converter/brand.converter';
|
|
import { SupplierHiboutikRepository } from './hiboutik/supplier.hiboutik.repository';
|
|
import { SupplierDatabaseRepository } from './database/supplier.database.repository';
|
|
import { SupplierConverter } from './models/converter/supplier.converter';
|
|
import { StockHiboutikRepository } from './hiboutik/stock.hiboutik.repository';
|
|
import { ProductConverter } from './models/converter/product.converter';
|
|
import { ProductDatabaseRepository } from './database/product.database.repository';
|
|
import { ProductVersionDatabaseRepository } from './database/productVersion.database.repository';
|
|
import { CustomerHiboutikRepository } from './hiboutik/customer.hiboutik.repository';
|
|
import { CustomerDatabaseRepository } from './database/customer.database.repository';
|
|
import { CustomerConverter } from './models/converter/customer.converter';
|
|
import { OrderConverter } from './models/converter/order.converter';
|
|
import { OrderDatabaseRepository } from './database/order.database.repository';
|
|
import { SaleHiboutikRepository } from './hiboutik/sale.hiboutik.repository';
|
|
import { CustomerAddressConverter } from './models/converter/customerAddress.converter';
|
|
import { CustomerAddressDatabaseRepository } from './database/customerAddress.database.repository';
|
|
import { BrandHiboutikService } from './services/hiboutik/brand.hiboutik.service';
|
|
import { CategoryHiboutikService } from './services/hiboutik/category.hiboutik.service';
|
|
import { CustomerHiboutikService } from './services/hiboutik/customer.hiboutik.service';
|
|
import { SupplierHiboutikService } from './services/hiboutik/supplier.hiboutik.service';
|
|
import { ProductHiboutikService } from './services/hiboutik/product.hiboutik.service';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
}),
|
|
HttpModule.register({ timeout: 30_000 }),
|
|
PrismaModule,
|
|
],
|
|
controllers: [AppController],
|
|
providers: [
|
|
BrandConverter,
|
|
BrandDatabaseRepository,
|
|
BrandHiboutikRepository,
|
|
BrandHiboutikService,
|
|
CategoryConverter,
|
|
CategoryDatabaseRepository,
|
|
CategoryHiboutikRepository,
|
|
CategoryHiboutikService,
|
|
CustomerAddressConverter,
|
|
CustomerAddressDatabaseRepository,
|
|
CustomerHiboutikRepository,
|
|
CustomerDatabaseRepository,
|
|
CustomerConverter,
|
|
CustomerHiboutikService,
|
|
HiboutikClient,
|
|
HiboutikService,
|
|
OrderConverter,
|
|
OrderDatabaseRepository,
|
|
ProductConverter,
|
|
ProductDatabaseRepository,
|
|
ProductHiboutikRepository,
|
|
ProductHiboutikService,
|
|
ProductVersionDatabaseRepository,
|
|
SaleHiboutikRepository,
|
|
StockHiboutikRepository,
|
|
SupplierConverter,
|
|
SupplierDatabaseRepository,
|
|
SupplierHiboutikRepository,
|
|
SupplierHiboutikService,
|
|
],
|
|
})
|
|
export class AppModule {}
|