diff --git a/packages/nocodb/src/controllers/calendars.controller.ts b/packages/nocodb/src/controllers/calendars.controller.ts index 6bb9b315ef..907064b9be 100644 --- a/packages/nocodb/src/controllers/calendars.controller.ts +++ b/packages/nocodb/src/controllers/calendars.controller.ts @@ -1,4 +1,14 @@ -import { Body, Controller, Get, HttpCode, Param, Patch, Post, Req, UseGuards } from '@nestjs/common'; +import { + Body, + Controller, + Get, + HttpCode, + Param, + Patch, + Post, + Req, + UseGuards, +} from '@nestjs/common'; import { Request } from 'express'; import { ViewCreateReqType } from 'nocodb-sdk'; import { GlobalGuard } from '~/guards/global/global.guard'; @@ -57,13 +67,4 @@ export class CalendarsController { req, }); } - - - @Get('/api/v1/db/data/calendars/:calendarViewId/count') - async calendarRecordCountGet(@Param('calendarViewId') calendarViewId: string, @Req() req: Request) { - return await this.calendarsService.calendarRecordCountGet({ - calendarViewId, - req - }); - } } diff --git a/packages/nocodb/src/models/CalendarRange.ts b/packages/nocodb/src/models/CalendarRange.ts index 52b698c341..8539c9b514 100644 --- a/packages/nocodb/src/models/CalendarRange.ts +++ b/packages/nocodb/src/models/CalendarRange.ts @@ -61,6 +61,11 @@ export default class CalendarRange implements CalendarRangeType { MetaTable.CALENDAR_VIEW_RANGE, insertObj, ); + // clear cache + const uniqueFks = [...new Set(bulkData.map((d) => d.fk_view_id))]; + for (const fk of uniqueFks) { + await NocoCache.delAll(CacheScope.CALENDAR_VIEW_RANGE, `${fk}:*`); + } for (const d of bulkData) { await NocoCache.appendToList( diff --git a/packages/nocodb/src/models/CalendarView.ts b/packages/nocodb/src/models/CalendarView.ts index d163f6e946..a3d90559c2 100644 --- a/packages/nocodb/src/models/CalendarView.ts +++ b/packages/nocodb/src/models/CalendarView.ts @@ -86,7 +86,7 @@ export default class CalendarView implements CalendarType { ncMeta = Noco.ncMeta, ) { // get existing cache - const key = `${CacheScope.CALENDAR_VIEW_COLUMN}:${calendarId}`; + const key = `${CacheScope.CALENDAR_VIEW}:${calendarId}`; let o = await NocoCache.get(key, CacheGetType.TYPE_OBJECT); const updateObj = extractProps(body, ['fk_cover_image_col_id', 'meta']); @@ -102,7 +102,7 @@ export default class CalendarView implements CalendarType { } if (body.calendar_range) { - await NocoCache.del(`${CacheScope.CALENDAR_VIEW_RANGE}:${calendarId}`); + await NocoCache.del(`${CacheScope.CALENDAR_VIEW}:${calendarId}`); await ncMeta.metaDelete( null, null, diff --git a/packages/nocodb/src/services/calendars.service.ts b/packages/nocodb/src/services/calendars.service.ts index b3100cd016..bad0135c5b 100644 --- a/packages/nocodb/src/services/calendars.service.ts +++ b/packages/nocodb/src/services/calendars.service.ts @@ -1,29 +1,22 @@ import { Injectable } from '@nestjs/common'; -import type { CalendarUpdateReqType, UserType, ViewCreateReqType } from 'nocodb-sdk'; import { AppEvents, ViewTypes } from 'nocodb-sdk'; +import type { + CalendarUpdateReqType, + UserType, + ViewCreateReqType, +} from 'nocodb-sdk'; import type { NcRequest } from '~/interface/config'; import { AppHooksService } from '~/services/app-hooks/app-hooks.service'; import { validatePayload } from '~/helpers'; import { NcError } from '~/helpers/catchError'; import { CalendarView, View } from '~/models'; -import CalendarRange from '~/models/CalendarRange'; -import { Model, Source } from '~/ee/models'; -import NcConnectionMgrv2 from '~/ee/utils/common/NcConnectionMgrv2'; @Injectable() export class CalendarsService { constructor(private readonly appHooksService: AppHooksService) {} async calendarViewGet(param: { calendarViewId: string }) { - const calendarView = await CalendarView.get(param.calendarViewId); - if (!calendarView) { - NcError.badRequest('Calendar view not found'); - } - const calendarRanges = await CalendarRange.read(param.calendarViewId); - return { - ...calendarView, - calendar_range: calendarRanges.ranges, - }; + return await CalendarView.get(param.calendarViewId); } async calendarViewCreate(param: { @@ -81,36 +74,4 @@ export class CalendarsService { return res; } - - async calendarRecordCountGet(param: { - calendarViewId: string; - req: any - }) { - const { query } = param.req; - console.log('query', query) - - const view = await View.get(param.calendarViewId); - if (!view) { - NcError.badRequest('View not found'); - } - - const source = await Source.get(view.source_id); - - const baseModel = await Model.getBaseModelSQL({ - id: view.fk_model_id, - viewId: view?.id, - dbDriver: await NcConnectionMgrv2.get(source), - }); - - - const data = await baseModel.groupByAndAggregate( - 'Date', - 'count', - { - groupByColumnName: 'Date', - }, - ); - console.log(data); - return data; - } }