shiment id

This commit is contained in:
morteza-mortezai
2025-12-02 16:49:10 +03:30
parent 1345f81b3a
commit b8065bf53e
2 changed files with 64 additions and 93 deletions
+4 -33
View File
@@ -1,4 +1,3 @@
import { cleanMongoData, extractDumpData, getCollectionData } from "./utils/extractDumpData";
import { DeliveryType } from "../../common/enums/shipment.enum"; import { DeliveryType } from "../../common/enums/shipment.enum";
import { Logger } from "../../core/logging/logger"; import { Logger } from "../../core/logging/logger";
import { ShipmentModel } from "../../modules/shipment/models/shipment.model"; import { ShipmentModel } from "../../modules/shipment/models/shipment.model";
@@ -7,12 +6,10 @@ export const SeedShipment = async (logger: Logger) => {
try { try {
logger.info("ShipmentMethod seeding started"); logger.info("ShipmentMethod seeding started");
// Extract data from dump // Remove all existing shipment documents
const dumpData = extractDumpData(); await ShipmentModel.deleteMany({});
const shipmentsData = getCollectionData(dumpData, "shipments"); logger.info("Existing shipment collection cleared");
if (shipmentsData.length === 0) {
logger.warn("No shipment data found in dump, using fallback data");
const fallbackProviders = [ const fallbackProviders = [
{ {
name: "پست", name: "پست",
@@ -74,33 +71,7 @@ export const SeedShipment = async (logger: Logger) => {
for (const provider of fallbackProviders) { for (const provider of fallbackProviders) {
await ShipmentModel.create(provider); await ShipmentModel.create(provider);
} }
logger.info("Shipment Providers seeded successfully with fallback data"); logger.info("Shipment Providers seeded successfully");
return;
}
// Clean and prepare shipment data (only non-deleted)
const cleanedShipments = shipmentsData
.map((shipment) => {
const cleaned = cleanMongoData(shipment);
if (cleaned.deleted) {
return null;
}
return {
name: cleaned.name,
description: cleaned.description,
costs: cleaned.costs,
deliveryTime: cleaned.deliveryTime,
deliveryType: cleaned.deliveryType as DeliveryType,
};
})
.filter((s) => s !== null);
if (cleanedShipments.length > 0) {
await ShipmentModel.insertMany(cleanedShipments);
logger.info(`Shipment Providers seeded successfully (${cleanedShipments.length} providers)`);
} else {
logger.warn("No valid shipments found after filtering");
}
} catch (error) { } catch (error) {
logger.error("Error seeding Shipment providers:", error); logger.error("Error seeding Shipment providers:", error);
} }
+1 -1
View File
@@ -12,7 +12,7 @@ class ShipmentRepository extends BaseRepository<IShipmentProviders> {
const skip = (page - 1) * limit; const skip = (page - 1) * limit;
const count = await this.model.countDocuments({ deleted: false }); const count = await this.model.countDocuments({ deleted: false });
const shipper = await this.model.find({ deleted: false }).skip(skip).limit(limit); const shipper = await this.model.find({ deleted: false }).skip(skip).limit(limit).lean();
return { shipper, count }; return { shipper, count };
} }