From acd776e98881ec9134eec668fda3756c7f6c3dde Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 26 Mar 2024 01:08:57 +0200 Subject: [PATCH] renames --- components/ExampleForm.js | 8 +++---- components/availability/AvailabilityForm.js | 2 +- .../AvailabilityFormDatePicker.js | 10 ++++---- components/availability/AvailabilityList.js | 2 +- components/calendar/ShiftComponent.tsx | 2 +- components/calendar/avcalendar.tsx | 12 +++++----- components/cartevent/CartEventForm.tsx | 6 ++--- components/location/LocationCard.js | 4 ++-- components/location/LocationForm.js | 10 ++++---- components/publisher/PublisherCard.js | 4 ++-- components/publisher/PublisherForm.js | 8 +++---- components/publisher/PublisherSearchBox.js | 4 ++-- components/publisher/ShiftsList.tsx | 2 +- components/sidebar.tsx | 2 +- pages/api/index.ts | 4 ++-- pages/api/schedule.ts | 2 +- pages/api/shiftgenerate.ts | 10 ++++---- pages/cart/availabilities/index.tsx | 10 ++++---- pages/cart/calendar/index.tsx | 18 +++++++-------- pages/cart/cartevents/index.tsx | 2 +- pages/cart/publishers/import.tsx | 10 ++++---- pages/cart/publishers/index.tsx | 2 +- pages/cart/publishers/stats.tsx | 6 ++--- pages/cart/reports/list.tsx | 12 ++++++++++ pages/dash.tsx | 6 ++--- prisma/bl/subqueries.js | 4 ++-- .../20221130072538_updates/migration.sql | 6 ++--- .../migrations/20221201223336_/migration.sql | 4 ++-- .../migration.sql | 2 +- .../migration.sql | 4 ++-- .../20240325214807_misc_renames/migration.sql | 15 ++++++++++++ prisma/schema.prisma | 23 +++++++++++++------ prisma/seed.sql | 6 ++--- server.js | 4 ++-- src/helpers/data.js | 6 ++--- src/helpers/excel.js | 14 +++++------ src/sql/dev-test.sql | 4 ++-- 37 files changed, 143 insertions(+), 107 deletions(-) create mode 100644 prisma/migrations/20240325214807_misc_renames/migration.sql diff --git a/components/ExampleForm.js b/components/ExampleForm.js index 45f49f8..bf9050f 100644 --- a/components/ExampleForm.js +++ b/components/ExampleForm.js @@ -40,7 +40,7 @@ class ExampleForm extends React.Component { } const [item, set] = useState({ - isactive: true, + isActive: true, }); const router = useRouter(); @@ -63,7 +63,7 @@ class ExampleForm extends React.Component { handleChange = ({ target }) => { - if (target.name === "isactive") { + if (target.name === "isActive") { set({ ...item, [target.name]: target.checked }); } else if (target.name === "age") { set({ ...item, [target.name]: parseInt(target.value) }); @@ -100,8 +100,8 @@ class ExampleForm extends React.Component {

{router.query?.id ? "Редактирай" : "Създай"} Item

- -
diff --git a/components/availability/AvailabilityForm.js b/components/availability/AvailabilityForm.js index f95870e..19d09a4 100644 --- a/components/availability/AvailabilityForm.js +++ b/components/availability/AvailabilityForm.js @@ -39,7 +39,7 @@ export default function AvailabilityForm({ publisherId, existingItems, inline, o dayOfMonth: null, // startTime: "08:00", // endTime: "20:00", - isactive: true, + isActive: true, repeatWeekly: false, endDate: null, isFirst: false, diff --git a/components/availability/AvailabilityFormDatePicker.js b/components/availability/AvailabilityFormDatePicker.js index 5d8f4fc..e7a3f26 100644 --- a/components/availability/AvailabilityFormDatePicker.js +++ b/components/availability/AvailabilityFormDatePicker.js @@ -36,7 +36,7 @@ model Availability { weekOfMonth Int? startTime DateTime endTime DateTime - isactive Boolean @default(true) + isActive Boolean @default(true) type AvailabilityType @default(Weekly) isWithTransport Boolean @default(false) isFromPreviousAssignment Boolean @default(false) @@ -69,7 +69,7 @@ export default function AvailabilityForm({ publisherId, existingItem, inline, on dayOfMonth: null, startTime: "08:00", endTime: "20:00", - isactive: true, + isActive: true, repeatWeekly: false, endDate: null, }); @@ -554,11 +554,11 @@ export default function AvailabilityForm({ publisherId, existingItem, inline, on
- - + +
- {/* */} + {/* */}
diff --git a/components/availability/AvailabilityList.js b/components/availability/AvailabilityList.js index 65bdf6d..cb9cc56 100644 --- a/components/availability/AvailabilityList.js +++ b/components/availability/AvailabilityList.js @@ -56,7 +56,7 @@ export default function AvailabilityList({ publisher, showNew }) { {items?.sort((a, b) => new Date(a.startTime) - new Date(b.startTime)).map(item => ( - + {item.dayOfMonth ? `${common.getDateFormated(new Date(item.startTime))}` : `Всеки(Всяка) ${common.getDayOfWeekName(new Date(item.startTime))}`} {/* {common.getDateFormated(new Date(item.startTime))} */} diff --git a/components/calendar/ShiftComponent.tsx b/components/calendar/ShiftComponent.tsx index 0802bc8..a50db70 100644 --- a/components/calendar/ShiftComponent.tsx +++ b/components/calendar/ShiftComponent.tsx @@ -70,7 +70,7 @@ function ShiftComponent({ shift, onShiftSelect, isSelected, onPublisherSelect, a const newAssignment = { publisher: { connect: { id: publisher.id } }, shift: { connect: { id: shiftId } }, - //isactive: true, + //isActive: true, isConfirmed: true, }; const { data } = await axiosInstance.post("/api/data/assignments", newAssignment); diff --git a/components/calendar/avcalendar.tsx b/components/calendar/avcalendar.tsx index 8fd7026..c631c72 100644 --- a/components/calendar/avcalendar.tsx +++ b/components/calendar/avcalendar.tsx @@ -206,7 +206,7 @@ const AvCalendar = ({ publisherId, events, selectedDate }) => { // startTime: start, // endTime: end, // dayOfMonth: start.getDate(), - // isactive: true, + // isActive: true, // publisherId: publisherId, // // Add any other initial values needed // //set dayOfMonth to null, so that we repeat the availability every week @@ -273,9 +273,9 @@ const AvCalendar = ({ publisherId, events, selectedDate }) => { //if event.type is availability show in blue. if it is schedule - green if confirmed, yellow if not confirmed //if event is not active - show in gray let bgColorClass = 'bg-gray-500'; // Default color for inactive events - var bgColor = event.isactive ? "" : "bg-gray-500"; + var bgColor = event.isActive ? "" : "bg-gray-500"; if (event.type === "assignment") { - bgColor = event.isTentative ? "bg-red-500" : (event.isConfirmed ? "bg-green-500" : "bg-yellow-500"); + bgColor = event.isBySystem ? "bg-red-500" : (event.isConfirmed ? "bg-green-500" : "bg-yellow-500"); //event.title = event.publisher.name; //ToDo: add other publishers names //event.title = common.getTimeFomatted(event.startTime) + " - " + common.getTimeFomatted(event.endTime); @@ -319,7 +319,7 @@ const AvCalendar = ({ publisherId, events, selectedDate }) => { toast.info("Потвърдено!", { autoClose: 2000 }); // Update the event data event.isConfirmed = true; - event.isTentative = false; + event.isBySystem = false; // Update the events array by first removing the old event and then adding the updated one setEvents(currentEvents => { const filteredEvents = currentEvents.filter(e => e.id !== event.id); @@ -328,7 +328,7 @@ const AvCalendar = ({ publisherId, events, selectedDate }) => { //store the updated event in the database var assignment = { isConfirmed: true, - isTentative: false + isBySystem: false }; axiosInstance.put('/api/data/assignments/' + event.id, assignment) .then((response) => { @@ -388,7 +388,7 @@ const AvCalendar = ({ publisherId, events, selectedDate }) => { // orange-500 from Tailwind CSS backgroundColor = '#f56565'; } - if (event.isactive) { + if (event.isActive) { switch (event.type) { case 'assignment': backgroundColor = event.isConfirmed ? '#48bb78' : '#f6e05e'; // green-500 and yellow-300 from Tailwind CSS diff --git a/components/cartevent/CartEventForm.tsx b/components/cartevent/CartEventForm.tsx index 1399799..d6d6fdd 100644 --- a/components/cartevent/CartEventForm.tsx +++ b/components/cartevent/CartEventForm.tsx @@ -15,7 +15,7 @@ model CartEvent { shiftDuration Int shifts Shift[] dayofweek DayOfWeek - isactive Boolean @default(true) + isActive Boolean @default(true) }*/ interface Location { id: number; @@ -174,8 +174,8 @@ export default function CartEventForm(props: IProps) {
- - + +
diff --git a/components/location/LocationCard.js b/components/location/LocationCard.js index 2a2a3ec..adaf15c 100644 --- a/components/location/LocationCard.js +++ b/components/location/LocationCard.js @@ -28,11 +28,11 @@ export default function LocationCard({ location }) { <>
router.push(`/cart/locations/edit/${location.id}`)} >
- {location.name} ({location.isactive ? "active" : "inactive"}) + {location.name} ({location.isActive ? "active" : "inactive"})

{location.address} diff --git a/components/location/LocationForm.js b/components/location/LocationForm.js index 098186a..4f58fdb 100644 --- a/components/location/LocationForm.js +++ b/components/location/LocationForm.js @@ -19,7 +19,7 @@ const common = require('src/helpers/common'); // id Int @id @default(autoincrement()) // name String // address String -// isactive Boolean @default(true) +// isActive Boolean @default(true) // content String? @db.Text // cartEvents CartEvent[] // reports Report[] @@ -65,7 +65,7 @@ export default function LocationForm() { const [location, set] = useState({ name: "", address: "", - isactive: true, + isActive: true, }); // const [isEdit, setIsEdit] = useState(false); @@ -171,11 +171,11 @@ export default function LocationForm() {

- {/* UI for Location.isactive */} + {/* UI for Location.isActive */}
- - + +
{/* backupLocation */} diff --git a/components/publisher/PublisherCard.js b/components/publisher/PublisherCard.js index a993240..248f067 100644 --- a/components/publisher/PublisherCard.js +++ b/components/publisher/PublisherCard.js @@ -57,7 +57,7 @@ export default function PublisherCard({ publisher }) { return isCardVisible ? ( // className="block p-6 max-w-sm bg-white rounded-lg border border-gray-200 shadow-md hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700 mb-3"
- {publisher.firstName} {publisher.lastName} ({publisher.isactive ? "active" : "inactive"}) + {publisher.firstName} {publisher.lastName} ({publisher.isActive ? "active" : "inactive"})

{publisher.assignments.length} смени общо

diff --git a/components/publisher/PublisherForm.js b/components/publisher/PublisherForm.js index f5f1f44..a95e520 100644 --- a/components/publisher/PublisherForm.js +++ b/components/publisher/PublisherForm.js @@ -23,7 +23,7 @@ import { UserRole } from "@prisma/client"; // lastName String // email String @unique // phone String? -// isactive Boolean @default(true) +// isActive Boolean @default(true) // isImported Boolean @default(false) // age Int? // availabilities Availability[] @@ -75,7 +75,7 @@ export default function PublisherForm({ item, me }) { }, []); const [publisher, set] = useState(item || { - isactive: true, + isActive: true, }); const handleChange = ({ target }) => { @@ -259,8 +259,8 @@ export default function PublisherForm({ item, me }) {
- - + + diff --git a/components/publisher/PublisherSearchBox.js b/components/publisher/PublisherSearchBox.js index 605b70c..4926504 100644 --- a/components/publisher/PublisherSearchBox.js +++ b/components/publisher/PublisherSearchBox.js @@ -18,7 +18,7 @@ function PublisherSearchBox({ selectedId, onChange, isFocused, filterDate, showS const fetchPublishers = async () => { console.log("fetchPublishers called"); try { - let url = `/api/?action=filterPublishers&select=id,firstName,lastName,email,isactive&searchText=${searchText}&availabilities=false`; + let url = `/api/?action=filterPublishers&select=id,firstName,lastName,email,isActive&searchText=${searchText}&availabilities=false`; if (filterDate) { url += `&filterDate=${common.getISODateOnly(filterDate)}`; @@ -29,7 +29,7 @@ function PublisherSearchBox({ selectedId, onChange, isFocused, filterDate, showS const { data: publishersData } = await axiosInstance.get(url); //setPublishers(publishersData); - const activePublishers = publishersData.filter(publisher => publisher.isactive === true); + const activePublishers = publishersData.filter(publisher => publisher.isActive === true); setPublishers(activePublishers); } catch (error) { diff --git a/components/publisher/ShiftsList.tsx b/components/publisher/ShiftsList.tsx index 49cc71a..ac3bb30 100644 --- a/components/publisher/ShiftsList.tsx +++ b/components/publisher/ShiftsList.tsx @@ -35,7 +35,7 @@ const ShiftsList = ({ assignments, selectedtab }: ShiftsListProps) => { try { var assignment = (await axiosInstance.get("/api/data/assignments/" + id)).data; assignment.isConfirmed = false; - assignment.isTentative = true; + // ! assignment.isTentative = true; // assignment.isDeleted = true; await axiosInstance.put("/api/data/assignments/" + id, assignment); toast.success("Shift Tentative", { diff --git a/components/sidebar.tsx b/components/sidebar.tsx index b0d4838..b20a168 100644 --- a/components/sidebar.tsx +++ b/components/sidebar.tsx @@ -99,7 +99,7 @@ export default function Sidebar({ isSidebarOpen, toggleSidebar }) { try { const response = await axiosInstance.get('/api/data/locations'); // Adjust the API endpoint as needed const locationsData = response.data - .filter(location => location.isactive === true) + .filter(location => location.isActive === true) .map(location => ({ text: location.name, url: `/cart/locations/${location.id}`, diff --git a/pages/api/index.ts b/pages/api/index.ts index 260bc92..6979920 100644 --- a/pages/api/index.ts +++ b/pages/api/index.ts @@ -143,7 +143,7 @@ export default async function handler(req, res) { case "getUnassignedPublishers": //let monthInfo = common.getMonthDatesInfo(date); - let allPubs = await filterPublishers("id,firstName,lastName,email,isactive".split(","), "", date, true, true, false); + let allPubs = await filterPublishers("id,firstName,lastName,email,isActive".split(","), "", date, true, true, false); let unassignedPubs = allPubs.filter(pub => pub.currentMonthAssignments == 0 && pub.availabilities.length > 0); res.status(200).json(unassignedPubs); break; @@ -690,7 +690,7 @@ async function replaceInAssignment(oldPublisherId, newPublisherId, shiftId) { data: { publisherId: newPublisherId, isConfirmed: false, - isTentative: true, + isBySystem: true, isMailSent: false } }); diff --git a/pages/api/schedule.ts b/pages/api/schedule.ts index 22ae3d9..e322568 100644 --- a/pages/api/schedule.ts +++ b/pages/api/schedule.ts @@ -89,7 +89,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const shifts = await prisma.shift.findMany({ where: { - isactive: true, + isActive: true, startTime: { gte: fromDate, lt: toDate, diff --git a/pages/api/shiftgenerate.ts b/pages/api/shiftgenerate.ts index 64b2104..4d44052 100644 --- a/pages/api/shiftgenerate.ts +++ b/pages/api/shiftgenerate.ts @@ -68,7 +68,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { case "test": var data = prisma.shift.findMany({ where: { - isactive: true + isActive: true } }); @@ -110,7 +110,7 @@ async function GenerateSchedule(axios: Axios, date: string, copyFromPreviousMont } console.log("finding shifts for previous 3 months for statistics (between " + new Date(monthInfo.date.getFullYear(), monthInfo.date.getMonth() - 3, 1).toISOString() + " and " + monthInfo.firstDay.toISOString() + ")"); - const { data: events } = await axios.get(`/api/data/cartevents?where={"isactive":{"$eq":true}}`); + const { data: events } = await axios.get(`/api/data/cartevents?where={"isActive":{"$eq":true}}`); //// let [shiftsLastMonth, publishers] = await getShiftsAndPublishersForPreviousMonths(lastMonthInfo); //use filterPublishers from /pages/api/data/index.ts to get publishers with stats @@ -308,7 +308,7 @@ async function GenerateSchedule(axios: Axios, date: string, copyFromPreviousMont assignments: 'true', availabilities: 'true', date: common.getISODateOnly(shiftStart), - select: 'id,firstName,lastName,isactive,desiredShiftsPerMonth' + select: 'id,firstName,lastName,isActive,desiredShiftsPerMonth' }); let allAvailablePublishers = (await axios.get(`/api/?${queryParams.toString()}`)).data; let availablePublishers = allAvailablePublishers; @@ -616,12 +616,12 @@ async function ImportShiftsFromDocx(axios: Axios) { // prisma.publisher.findMany({ // where: { -// isactive: true, +// isActive: true, // }, // include: { // availabilities: { // where: { -// isactive: true, +// isActive: true, // }, // }, // assignments: { diff --git a/pages/cart/availabilities/index.tsx b/pages/cart/availabilities/index.tsx index 4cd257b..0cd158a 100644 --- a/pages/cart/availabilities/index.tsx +++ b/pages/cart/availabilities/index.tsx @@ -30,7 +30,7 @@ export default function AvPage({ initialItems, id }: IProps) { date: new Date(item.startTime), start: new Date(item.startTime), end: new Date(item.endTime), - isactive: item.isactive, + isActive: item.isActive, publisherId: item.publisher.id, dayOfMonth: item.dayOfMonth, dayOfWeek: item.dayOfWeek, @@ -66,9 +66,9 @@ export default function AvPage({ initialItems, id }: IProps) { {initialItems?.map((item: Availability) => ( - + - {item.id} {item.isactive} + {item.id} {item.isActive} {item.publisher.lastName}, {item.publisher.firstName} @@ -133,14 +133,14 @@ export const getServerSideProps = async (context) => { const role = session?.user.role; console.log("server role: " + role); - var queryUrl = process.env.NEXTAUTH_URL + "/api/data/availabilities?select=id,name,isactive,dayofweek,dayOfMonth,startTime,endTime,publisher.firstName,publisher.lastName,publisher.id"; + var queryUrl = process.env.NEXTAUTH_URL + "/api/data/availabilities?select=id,name,isActive,dayofweek,dayOfMonth,startTime,endTime,publisher.firstName,publisher.lastName,publisher.id"; if (role === UserRole.USER || context.query.my) { queryUrl += `&where={"publisherId":"${session?.user.id}"}`; } else if (role == UserRole.ADMIN) { if (context.query.id) { queryUrl += `&where={"publisherId":"${context.query.id}"}`; } else { - queryUrl += `&where={"isactive":true}`; + queryUrl += `&where={"isActive":true}`; } } var resp = await axios.get( diff --git a/pages/cart/calendar/index.tsx b/pages/cart/calendar/index.tsx index a3f5746..77b2d4a 100644 --- a/pages/cart/calendar/index.tsx +++ b/pages/cart/calendar/index.tsx @@ -100,7 +100,7 @@ export default function CalendarPage({ initialEvents, initialShifts }) { console.log("Setting date to '" + date.toLocaleDateString() + "' from '" + selectedDate.toLocaleDateString() + "'. ISO: " + date.toISOString(), "locale ISO:", common.getISODateOnly(date)); if (isCheckboxChecked) { console.log(`getting unassigned publishers for ${common.getMonthName(date.getMonth())} ${date.getFullYear()}`); - const { data: availablePubsForDate } = await axiosInstance.get(`/api/?action=getUnassignedPublishers&date=${dateStr}&select=id,firstName,lastName,isactive,desiredShiftsPerMonth`); + const { data: availablePubsForDate } = await axiosInstance.get(`/api/?action=getUnassignedPublishers&date=${dateStr}&select=id,firstName,lastName,isActive,desiredShiftsPerMonth`); setAvailablePubs(availablePubsForDate); } else { @@ -108,7 +108,7 @@ export default function CalendarPage({ initialEvents, initialShifts }) { try { const { data: shiftsForDate } = await axiosInstance.get(`/api/?action=getShiftsForDay&date=${dateStr}`); setShifts(shiftsForDate); - let { data: availablePubsForDate } = await axiosInstance.get(`/api/?action=filterPublishers&assignments=true&availabilities=true&date=${dateStr}&select=id,firstName,lastName,isactive,desiredShiftsPerMonth`); + let { data: availablePubsForDate } = await axiosInstance.get(`/api/?action=filterPublishers&assignments=true&availabilities=true&date=${dateStr}&select=id,firstName,lastName,isActive,desiredShiftsPerMonth`); availablePubsForDate.forEach(pub => { pub.canTransport = pub.availabilities.some(av => @@ -172,8 +172,8 @@ export default function CalendarPage({ initialEvents, initialShifts }) { // currentMonthAssignments and previousMonthAssignments properties // Sort publishers based on availability and then by assignment counts. const sortedPubs = updatedPubs.sort((a, b) => { - if (a.isactive !== b.isactive) { - return a.isactive ? -1 : 1; + if (a.isActive !== b.isActive) { + return a.isActive ? -1 : 1; } // First, sort by isselected. if (a.isSelected !== b.isSelected) { @@ -355,7 +355,7 @@ export default function CalendarPage({ initialEvents, initialShifts }) { const newAssignment = { publisher: { connect: { id: publisher.id } }, shift: { connect: { id: shiftId } }, - isactive: true, + isActive: true, isConfirmed: true }; const { data } = await axiosInstance.post("/api/data/assignments", newAssignment); @@ -669,7 +669,7 @@ export default function CalendarPage({ initialEvents, initialShifts }) { // Determine border class if selected const selectedBorderClass = pub.isSelected ? 'border-blue-400 border-b-4' : ''; // Determine opacity class - const activeOpacityClass = pub.isactive ? '' : 'opacity-25'; + const activeOpacityClass = pub.isActive ? '' : 'opacity-25'; return ( @@ -878,20 +878,20 @@ export const getServerSideProps = async (context) => { const url = `/api/data/shifts?where={"startTime":{"$and":[{"$gte":"${common.getISODateOnly(firstDayOfMonth)}","$lt":"${common.getISODateOnly(lastDayOfMonth)}"}]}}`; const prismaClient = common.getPrismaClient(); - // let events = await prismaClient.cartEvent.findMany({ where: { isactive: true } }); + // let events = await prismaClient.cartEvent.findMany({ where: { isActive: true } }); // events = events.map(event => ({ // ...event, // // Convert Date objects to ISO strings // startTime: event.startTime.toISOString(), // endTime: event.endTime.toISOString(), // })); - const { data: events } = await axios.get(`/api/data/cartevents?where={"isactive":true}`); + const { data: events } = await axios.get(`/api/data/cartevents?where={"isActive":true}`); //const { data: shifts } = await axios.get(url); // get all shifts for the month, including assigments let shifts = await prismaClient.shift.findMany({ where: { - isactive: true, + isActive: true, startTime: { gte: firstDayOfMonth, //lt: lastDayOfMonth diff --git a/pages/cart/cartevents/index.tsx b/pages/cart/cartevents/index.tsx index c5006c1..0396d9f 100644 --- a/pages/cart/cartevents/index.tsx +++ b/pages/cart/cartevents/index.tsx @@ -69,7 +69,7 @@ export default function CartEventPage({ items, locations }: ICartEventPageProps) {item.shiftDuration} - {item.isactive ? "Yes" : "No"} + {item.isActive ? "Yes" : "No"} + + +
diff --git a/pages/dash.tsx b/pages/dash.tsx index c5f8ced..71718db 100644 --- a/pages/dash.tsx +++ b/pages/dash.tsx @@ -86,7 +86,7 @@ async function getAvailabilities(userId) { select: { id: true, name: true, - isactive: true, + isActive: true, isFromPreviousAssignment: true, dayofweek: true, dayOfMonth: true, @@ -121,7 +121,7 @@ async function getAvailabilities(userId) { shiftId Int publisher Publisher @relation(fields: [publisherId], references: [id], onDelete: Cascade) publisherId String - isactive Boolean @default(true) + isActive Boolean @default(true) isConfirmed Boolean @default(false) isWithTransport Boolean @default(false) Report Report[] @@ -133,7 +133,7 @@ async function getAvailabilities(userId) { }, select: { id: true, - isTentative: true, + isBySystem: true, isConfirmed: true, isWithTransport: true, shift: { diff --git a/prisma/bl/subqueries.js b/prisma/bl/subqueries.js index ab557e0..44f977f 100644 --- a/prisma/bl/subqueries.js +++ b/prisma/bl/subqueries.js @@ -13,7 +13,7 @@ export const publisherSelectWithAvCount = { select: { availability: { where: { - isactive: true + isActive: true } } @@ -40,7 +40,7 @@ export const publisherSelect = { // endTime: true, // dayOfMonth: true, // dayofweek: true, -// isactive: true, +// isActive: true, // count: 'Availability_count' // } // } \ No newline at end of file diff --git a/prisma/migrations/20221130072538_updates/migration.sql b/prisma/migrations/20221130072538_updates/migration.sql index 239a224..978530e 100644 --- a/prisma/migrations/20221130072538_updates/migration.sql +++ b/prisma/migrations/20221130072538_updates/migration.sql @@ -5,7 +5,7 @@ CREATE TABLE `Publisher` ( `lastName` VARCHAR(191) NOT NULL, `email` VARCHAR(191) NOT NULL, `phone` VARCHAR(191) NULL, - `isactive` BOOLEAN NOT NULL DEFAULT true, + `isActive` BOOLEAN NOT NULL DEFAULT true, `age` INTEGER NULL, UNIQUE INDEX `Publisher_email_key`(`email`), @@ -41,7 +41,7 @@ CREATE TABLE `Shift` ( `name` VARCHAR(191) NOT NULL, `startTime` DATETIME(3) NOT NULL, `endTime` DATETIME(3) NOT NULL, - `isactive` BOOLEAN NOT NULL DEFAULT true, + `isActive` BOOLEAN NOT NULL DEFAULT true, `requiresTransport` BOOLEAN NOT NULL DEFAULT false, PRIMARY KEY (`id`) @@ -52,7 +52,7 @@ CREATE TABLE `Location` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `name` VARCHAR(191) NOT NULL, `address` VARCHAR(191) NOT NULL, - `isactive` BOOLEAN NOT NULL DEFAULT true, + `isActive` BOOLEAN NOT NULL DEFAULT true, `dayofweek` ENUM('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') NOT NULL, PRIMARY KEY (`id`) diff --git a/prisma/migrations/20221201223336_/migration.sql b/prisma/migrations/20221201223336_/migration.sql index 90fe9cb..446e110 100644 --- a/prisma/migrations/20221201223336_/migration.sql +++ b/prisma/migrations/20221201223336_/migration.sql @@ -6,10 +6,10 @@ */ -- AlterTable -ALTER TABLE `Availability` ADD COLUMN `isactive` BOOLEAN NOT NULL DEFAULT true; +ALTER TABLE `Availability` ADD COLUMN `isActive` BOOLEAN NOT NULL DEFAULT true; -- AlterTable -ALTER TABLE `CartEvent` ADD COLUMN `isactive` BOOLEAN NOT NULL DEFAULT true, +ALTER TABLE `CartEvent` ADD COLUMN `isActive` BOOLEAN NOT NULL DEFAULT true, ADD COLUMN `locationId` INTEGER NOT NULL, ADD COLUMN `shiftDuration` INTEGER NOT NULL; diff --git a/prisma/migrations/20221217221944_publisher_to_shift_renamed_assignment/migration.sql b/prisma/migrations/20221217221944_publisher_to_shift_renamed_assignment/migration.sql index a466b86..cd87cb8 100644 --- a/prisma/migrations/20221217221944_publisher_to_shift_renamed_assignment/migration.sql +++ b/prisma/migrations/20221217221944_publisher_to_shift_renamed_assignment/migration.sql @@ -18,7 +18,7 @@ CREATE TABLE `Assignment` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `shiftId` INTEGER NOT NULL, `publisherId` INTEGER NOT NULL, - `isactive` BOOLEAN NOT NULL DEFAULT true, + `isActive` BOOLEAN NOT NULL DEFAULT true, PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; diff --git a/prisma/migrations/20240131113517_assignment_isactive_renamed_istetative/migration.sql b/prisma/migrations/20240131113517_assignment_isactive_renamed_istetative/migration.sql index 0d0703e..55bc254 100644 --- a/prisma/migrations/20240131113517_assignment_isactive_renamed_istetative/migration.sql +++ b/prisma/migrations/20240131113517_assignment_isactive_renamed_istetative/migration.sql @@ -1,11 +1,11 @@ /* Warnings: - - You are about to drop the column `isactive` on the `assignment` table. All the data in the column will be lost. + - You are about to drop the column `isActive` on the `assignment` table. All the data in the column will be lost. */ -- AlterTable -ALTER TABLE `Assignment` DROP COLUMN `isactive`, +ALTER TABLE `Assignment` DROP COLUMN `isActive`, ADD COLUMN `isTentative` BOOLEAN NOT NULL DEFAULT false; -- AlterTable diff --git a/prisma/migrations/20240325214807_misc_renames/migration.sql b/prisma/migrations/20240325214807_misc_renames/migration.sql new file mode 100644 index 0000000..2a2f6e7 --- /dev/null +++ b/prisma/migrations/20240325214807_misc_renames/migration.sql @@ -0,0 +1,15 @@ +/* + Warnings: + + - You are about to drop the column `isTentative` on the `Assignment` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE `Assignment` + ADD COLUMN `isBySystem` BOOLEAN NOT NULL DEFAULT false; +UPDATE `Assignment` SET `isBySystem` = isTentative; + +ALTER TABLE `Assignment` DROP COLUMN `isTentative`, + +-- AlterTable +ALTER TABLE `Report` ADD COLUMN `type` ENUM('ServiceReport', 'Experience', 'Feedback_Problem', 'Feedback_Suggestion', 'Feedback') NOT NULL DEFAULT 'ServiceReport'; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 2ea7b1f..91b56e0 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -81,13 +81,21 @@ enum PublisherType { SpecialPioneer_Missionary } +enum ReportType { + ServiceReport + Experience + Feedback_Problem + Feedback_Suggestion + Feedback +} + model Publisher { id String @id @default(cuid()) firstName String lastName String email String @unique phone String? - isactive Boolean @default(true) + isActive Boolean @default(true) isImported Boolean @default(false) isTrained Boolean @default(false) age Int? @@ -124,7 +132,7 @@ model Availability { weekOfMonth Int? startTime DateTime endTime DateTime - isactive Boolean @default(true) + isActive Boolean @default(true) type AvailabilityType @default(Weekly) isWithTransportIn Boolean @default(false) isWithTransportOut Boolean @default(false) @@ -143,7 +151,7 @@ model CartEvent { shiftDuration Int shifts Shift[] dayofweek DayOfWeek - isactive Boolean @default(true) + isActive Boolean @default(true) location Location @relation(fields: [locationId], references: [id]) locationId Int eventType EventType @default(PW_Cart) @@ -160,7 +168,7 @@ model Shift { name String startTime DateTime endTime DateTime - isactive Boolean @default(true) + isActive Boolean @default(true) requiresTransport Boolean @default(false) notes String? //date DateTime @@ -177,7 +185,7 @@ model Assignment { shiftId Int publisher Publisher @relation(fields: [publisherId], references: [id], onDelete: Cascade) publisherId String - isTentative Boolean @default(false) // if no availability for it, when importing previous schedules + isBySystem Boolean @default(false) // if no availability for it, when importing previous schedules isConfirmed Boolean @default(false) isWithTransport Boolean @default(false) isMailSent Boolean @default(false) @@ -190,7 +198,7 @@ model Location { id Int @id @default(autoincrement()) name String address String - isactive Boolean @default(true) + isActive Boolean @default(true) content String? @db.LongText cartEvents CartEvent[] reports Report[] @@ -219,7 +227,8 @@ model Report { returnVisitInfoCount Int? conversationCount Int? - experienceInfo String? @db.LongText + experienceInfo String? @db.LongText + type ReportType @default(ServiceReport) @@map("Report") } diff --git a/prisma/seed.sql b/prisma/seed.sql index f64a4f5..6261a5c 100644 --- a/prisma/seed.sql +++ b/prisma/seed.sql @@ -30,7 +30,7 @@ INSERT INTO `id`, `name`, `address`, - `isactive` + `isActive` ) VALUES ( 1, @@ -57,7 +57,7 @@ INSERT INTO `startTime`, `endTime`, `dayofweek`, - `isactive`, + `isActive`, `locationId`, `shiftDuration`, `eventType`, @@ -147,7 +147,7 @@ VALUES ( /*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */ ; --- INSERT INTO `cartevent` (`id`, `startTime`, `endTime`, `dayofweek`, `isactive`, `locationId`, `shiftDuration`, `eventType`, `numberOfPublishers`) +-- INSERT INTO `cartevent` (`id`, `startTime`, `endTime`, `dayofweek`, `isActive`, `locationId`, `shiftDuration`, `eventType`, `numberOfPublishers`) -- VALUES -- (2, '2023-12-27 07:00:33.174', '2023-12-27 16:00:33.174', 'Tuesday', 1, 2, 90, 'PW_Cart', 4), -- (3, '2023-12-28 07:00:33.174', '2023-12-28 16:00:33.174', 'Wednesday', 1, 3, 90, 'PW_Cart', 4), diff --git a/server.js b/server.js index bfd1b44..f420718 100644 --- a/server.js +++ b/server.js @@ -259,7 +259,7 @@ nextApp var shifts = await prisma.shift.findMany({ where: { - isactive: true, + isActive: true, startTime: { gte: fromDate, lt: toDate, @@ -410,7 +410,7 @@ nextApp var publishers = await prisma.publisher.findMany({ where: { - isactive: true, + isActive: true, email: { not: "", }, diff --git a/src/helpers/data.js b/src/helpers/data.js index 7c0916b..af888ce 100644 --- a/src/helpers/data.js +++ b/src/helpers/data.js @@ -147,7 +147,7 @@ async function getAvailabilities(userId) { select: { id: true, name: true, - isactive: true, + isActive: true, isFromPreviousAssignment: true, dayofweek: true, dayOfMonth: true, @@ -182,7 +182,7 @@ async function getAvailabilities(userId) { shiftId Int publisher Publisher @relation(fields: [publisherId], references: [id], onDelete: Cascade) publisherId String - isactive Boolean @default(true) + isActive Boolean @default(true) isConfirmed Boolean @default(false) isWithTransport Boolean @default(false) Report Report[] @@ -194,7 +194,7 @@ async function getAvailabilities(userId) { }, select: { id: true, - isTentative: true, + isBySystem: true, isConfirmed: true, isWithTransport: true, shift: { diff --git a/src/helpers/excel.js b/src/helpers/excel.js index 40f2f1c..fd361bc 100644 --- a/src/helpers/excel.js +++ b/src/helpers/excel.js @@ -323,21 +323,21 @@ exports.processEvents = async function (events, year, monthNumber, progressCallb } var shifts = await prisma.shift.findMany({ where: { - isactive: true, + isActive: true, startTime: { gte: monthDatesInfo.firstMonday, lt: monthDatesInfo.lastSunday, }, } }); - var locations = await prisma.location.findMany({ where: { isactive: true, } }); + var locations = await prisma.location.findMany({ where: { isActive: true, } }); - var cartEvents = await prisma.cartEvent.findMany({ where: { isactive: true, } }); + var cartEvents = await prisma.cartEvent.findMany({ where: { isActive: true, } }); var publishers = await prisma.publisher.findMany({ - where: { isactive: true, }, + where: { isActive: true, }, include: { - availabilities: { where: { isactive: true, }, }, + availabilities: { where: { isActive: true, }, }, assignments: { include: { shift: true, }, }, }, }); @@ -472,7 +472,7 @@ exports.processEvents = async function (events, year, monthNumber, progressCallb email: name.toLowerCase().replace(/ /g, "."), // + "@gmail.com" firstName: firstname, lastName: lastname, - isactive: true, + isActive: true, isImported: true, // role: "EXTERNAL", }; @@ -492,7 +492,7 @@ exports.processEvents = async function (events, year, monthNumber, progressCallb // endTime: endTime, // name: `от предишен график, ${publisher.firstName} ${publisher.lastName}`, // isFromPreviousAssignment: true, - // isactive: true, + // isActive: true, // }, // }); // console.log(`Created WEEKLY availability with ID ${availability.id} for date '${date.toDateString()}' and publisher '${publisher.firstName} ${publisher.lastName}'`); diff --git a/src/sql/dev-test.sql b/src/sql/dev-test.sql index d7fe46b..09a3621 100644 --- a/src/sql/dev-test.sql +++ b/src/sql/dev-test.sql @@ -11,7 +11,7 @@ SELECT DISTINCT Publisher.* FROM Publisher INNER JOIN Availability ON Availability.publisherId = Publisher.id WHERE - Availability.isactive = true + Availability.isActive = true AND ( ( Availability.dayOfMonth IS NOT NULL AND Availability.startTime <= '2023-03-30 13:00:00' @@ -30,7 +30,7 @@ SELECT DISTINCT Publisher.* FROM Publisher INNER JOIN Availability ON Availability.publisherId = Publisher.id WHERE - Availability.isactive = true + Availability.isActive = true AND (Availability.dayOfMonth = 5) clfuyo33e005aknvchf1wm3bu All publishers: 121; (118) unique,