changes to cron scripts

This commit is contained in:
2025-04-09 12:15:10 +05:30
parent e8d49f1f4a
commit efe0bb03fc
2 changed files with 189 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ const permitsModel = mongoose.model(
{ _id: false }
),
status: String,
manualStatus: String,
assignedTo: {
type: mongoose.Types.ObjectId,
ref: "user",
@@ -93,6 +94,7 @@ const processedModel = mongoose.model(
{ _id: false }
),
status: String,
manualStatus: String,
assignedTo: {
type: mongoose.Types.ObjectId,
ref: "user",
@@ -161,6 +163,7 @@ const processedModel = mongoose.model(
client: permit.client,
clientData: permit.clientData,
status: permit.status,
manualStatus: permit.manualStatus,
assignedTo: permit.assignedTo,
link: permit.link,
address: permit.address,

186
cron/pasco.js Normal file
View File

@@ -0,0 +1,186 @@
import mongoose from "mongoose";
const permitsModel = mongoose.model(
"permit",
new mongoose.Schema(
{
tenantId: {
type: String,
required: true,
},
pid: {
type: String,
unique: true,
},
permitNumber: String,
county: Object,
client: {
type: mongoose.Types.ObjectId,
ref: "organization",
},
clientData: Object,
permitDate: Date,
stage: new mongoose.Schema(
{
pipeline: Array,
currentStage: Number,
},
{ _id: false }
),
status: String,
manualStatus: String,
assignedTo: {
type: mongoose.Types.ObjectId,
ref: "user",
},
link: String,
address: Object,
recordType: String,
description: String,
applicationDetails: Object,
applicationInfo: Object,
applicationInfoTable: Object,
conditions: Array,
ownerDetails: String,
parcelInfo: Object,
paymentData: Object,
professionalsList: Array,
inspections: Object,
createdAt: Date,
createdBy: {
type: mongoose.Types.ObjectId,
ref: "user",
},
newProcessingStatus: Array,
newPayment: Array,
newConditions: Array,
professionals: Object,
recordId: String,
relatedRecords: Object,
accelaStatus: String,
openDate: Date,
lastUpdateDate: Date,
statusUpdated: Date,
},
{ strict: false }
)
);
const processedModel = mongoose.model(
"processed",
new mongoose.Schema(
{
tenantId: {
type: String,
required: true,
},
pid: {
type: String,
unique: true,
},
permitNumber: String,
county: Object,
client: {
type: mongoose.Types.ObjectId,
ref: "organization",
},
clientData: Object,
permitDate: Date,
stage: new mongoose.Schema(
{
pipeline: Array,
currentStage: Number,
},
{ _id: false }
),
status: String,
manualStatus: String,
assignedTo: {
type: mongoose.Types.ObjectId,
ref: "user",
},
link: String,
address: Object,
recordType: String,
description: String,
applicationDetails: Object,
applicationInfo: Object,
applicationInfoTable: Object,
conditions: Array,
ownerDetails: String,
parcelInfo: Object,
paymentData: Object,
professionalsList: Array,
inspections: Object,
createdAt: Date,
createdBy: {
type: mongoose.Types.ObjectId,
ref: "user",
},
newProcessingStatus: Array,
newPayment: Array,
newConditions: Array,
professionals: Object,
recordId: String,
relatedRecords: Object,
accelaStatus: String,
openDate: Date,
lastUpdateDate: Date,
statusUpdated: Date,
transferDate: Date,
},
{ strict: false }
),
"processed"
);
(async () => {
console.log(new Date().toISOString() + " Started Pasco Archive script...");
await mongoose.connect(process.env.DB_URI);
const processedPermits = await permitsModel.find({
$and: [{ "county.pid": "bibmdcutwwb7e3d" }, { status: "Permit Issued" }],
});
console.log(`Found ${processedPermits.length} to archive`);
let count = 0;
for (const permit of processedPermits) {
await processedModel.create({
tenantId: permit.tenantId,
pid: permit.pid,
permitNumber: permit.permitNumber,
county: permit.county,
client: permit.client,
clientData: permit.clientData,
status: permit.status,
manualStatus: "Issued",
assignedTo: permit.assignedTo,
link: permit.link,
address: permit.address,
recordType: permit.recordType,
description: permit.description,
createdAt: permit.createdAt,
createdBy: permit.createdBy,
newProcessingStatus: permit.newProcessingStatus,
newPayment: permit.newPayment,
newConditions: permit.newConditions,
professionals: permit.professionals,
recordId: permit.recordId,
relatedRecords: permit.relatedRecords,
accelaStatus: permit.accelaStatus,
openDate: permit.openDate,
lastUpdateDate: permit.lastUpdateDate,
statusUpdated: permit.statusUpdated,
transferDate: new Date(),
});
await permit.deleteOne();
count++;
}
console.log(`${count} permits archived`);
await mongoose.connection.close();
})().catch((err) => console.log(err));