235 lines
21 KiB
XML
235 lines
21 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project version="4">
|
|
<component name="AutoImportSettings">
|
|
<option name="autoReloadType" value="SELECTIVE" />
|
|
</component>
|
|
<component name="ChangeListManager">
|
|
<list default="true" id="6c8b3c54-eabb-40e5-967f-c7b594c750bc" name="Changes" comment="Add "My Bookings" page and enable reservation updates and cancellations - Implement `+page.svelte` for managing user reservations with real-time updates. - Add API endpoints for updating and canceling reservations with enhanced validation and authorization. - Introduce `UpdateReservationDto` for refined reservation update handling. - Update `reservations.service.ts` to handle overlapping checks, time adjustments, and admin actions. - Extend layout to include a link to the "My Bookings" page. - Add `date-fns` library for date formatting.">
|
|
<change beforePath="$PROJECT_DIR$/apps/api/prisma/schema.prisma" beforeDir="false" afterPath="$PROJECT_DIR$/apps/api/prisma/schema.prisma" afterDir="false" />
|
|
<change beforePath="$PROJECT_DIR$/apps/api/src/spaces/spaces.controller.ts" beforeDir="false" afterPath="$PROJECT_DIR$/apps/api/src/spaces/spaces.controller.ts" afterDir="false" />
|
|
<change beforePath="$PROJECT_DIR$/apps/api/src/spaces/spaces.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/apps/api/src/spaces/spaces.service.ts" afterDir="false" />
|
|
<change beforePath="$PROJECT_DIR$/apps/web/src/routes/dashboard/+page.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/apps/web/src/routes/dashboard/+page.svelte" afterDir="false" />
|
|
</list>
|
|
<option name="SHOW_DIALOG" value="false" />
|
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
</component>
|
|
<component name="EmbeddingIndexingInfo">
|
|
<option name="cachedIndexableFilesCount" value="93" />
|
|
<option name="fileBasedEmbeddingIndicesEnabled" value="true" />
|
|
</component>
|
|
<component name="Git.Settings">
|
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
</component>
|
|
<component name="McpProjectServerCommands">
|
|
<commands />
|
|
<urls />
|
|
</component>
|
|
<component name="ProblemsViewState">
|
|
<option name="selectedTabId" value="AISelfReview" />
|
|
</component>
|
|
<component name="ProjectColorInfo">{
|
|
"associatedIndex": 0,
|
|
"fromUser": false
|
|
}</component>
|
|
<component name="ProjectId" id="3BXlUbAsiEmEvH0PacGIZgCuvpY" />
|
|
<component name="ProjectViewState">
|
|
<option name="hideEmptyMiddlePackages" value="true" />
|
|
<option name="showLibraryContents" value="true" />
|
|
</component>
|
|
<component name="PropertiesComponent">{
|
|
"keyToString": {
|
|
"Docker.docker-compose.yml: Compose Deployment.executor": "Run",
|
|
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
|
"RunOnceActivity.MCP Project settings loaded": "true",
|
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
|
|
"RunOnceActivity.git.unshallow": "true",
|
|
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
|
"codeWithMe.voiceChat.enabledByDefault": "false",
|
|
"com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1": "true",
|
|
"git-widget-placeholder": "main",
|
|
"javascript.preferred.runtime.type.id": "node",
|
|
"junie.onboarding.icon.badge.shown": "true",
|
|
"node.js.detected.package.eslint": "true",
|
|
"node.js.detected.package.tslint": "true",
|
|
"node.js.selected.package.eslint": "(autodetect)",
|
|
"node.js.selected.package.tslint": "(autodetect)",
|
|
"nodejs_interpreter_path": "/home/micosil/.nvm/versions/node/v22.21.1/bin/node",
|
|
"nodejs_package_manager_path": "npm",
|
|
"npm.api > start:dev.executor": "Run",
|
|
"npm.web > dev.executor": "Run",
|
|
"settings.editor.selected.configurable": "settings.javascript.runtime",
|
|
"to.speed.mode.migration.done": "true",
|
|
"ts.external.directory.path": "/home/micosil/WebstormProjects/desker/node_modules/typescript/lib",
|
|
"vue.rearranger.settings.migration": "true"
|
|
},
|
|
"keyToStringList": {
|
|
"DatabaseDriversLRU": [
|
|
"postgresql"
|
|
]
|
|
}
|
|
}</component>
|
|
<component name="RunManager" selected="npm.web > dev">
|
|
<configuration default="true" type="docker-deploy" factoryName="docker-compose.yml" temporary="true">
|
|
<deployment type="docker-compose.yml">
|
|
<settings />
|
|
</deployment>
|
|
<method v="2" />
|
|
</configuration>
|
|
<configuration name="docker-compose.yml: Compose Deployment" type="docker-deploy" factoryName="docker-compose.yml" temporary="true" server-name="Docker">
|
|
<deployment type="docker-compose.yml">
|
|
<settings>
|
|
<option name="sourceFilePath" value="docker-compose.yml" />
|
|
</settings>
|
|
</deployment>
|
|
<method v="2" />
|
|
</configuration>
|
|
<configuration name="api > start:dev" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
|
|
<package-json value="$PROJECT_DIR$/apps/api/package.json" />
|
|
<command value="run" />
|
|
<scripts>
|
|
<script value="start:dev" />
|
|
</scripts>
|
|
<node-interpreter value="project" />
|
|
<envs />
|
|
<method v="2" />
|
|
</configuration>
|
|
<configuration name="web > dev" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
|
|
<package-json value="$PROJECT_DIR$/apps/web/package.json" />
|
|
<command value="run" />
|
|
<scripts>
|
|
<script value="dev" />
|
|
</scripts>
|
|
<node-interpreter value="$USER_HOME$/.nvm/versions/node/v22.21.1/bin/node" />
|
|
<envs />
|
|
<method v="2" />
|
|
</configuration>
|
|
<recent_temporary>
|
|
<list>
|
|
<item itemvalue="npm.api > start:dev" />
|
|
<item itemvalue="npm.web > dev" />
|
|
<item itemvalue="Docker.docker-compose.yml: Compose Deployment" />
|
|
</list>
|
|
</recent_temporary>
|
|
</component>
|
|
<component name="SharedIndexes">
|
|
<attachedChunks>
|
|
<set>
|
|
<option value="bundled-js-predefined-d6986cc7102b-3bd3a6803838-JavaScript-WS-261.22158.274" />
|
|
</set>
|
|
</attachedChunks>
|
|
</component>
|
|
<component name="TaskManager">
|
|
<task active="true" id="Default" summary="Default task">
|
|
<changelist id="6c8b3c54-eabb-40e5-967f-c7b594c750bc" name="Changes" comment="" />
|
|
<created>1774643312599</created>
|
|
<option name="number" value="Default" />
|
|
<option name="presentableId" value="Default" />
|
|
<updated>1774643312599</updated>
|
|
<workItem from="1774643313611" duration="74000" />
|
|
<workItem from="1774643422240" duration="5278000" />
|
|
<workItem from="1774706361502" duration="4842000" />
|
|
</task>
|
|
<task id="LOCAL-00001" summary="Initialize Hot Desking app with web and API services - Set up SvelteKit for the web interface with Tailwind CSS. - Build the API using NestJS with Prisma ORM for database interaction. - Add environment variable management and docker-compose for PostgreSQL and PgAdmin instances. - Create shared data models for consistent typing across services. - Establish basic routing and layouts for web and API services.">
|
|
<option name="closed" value="true" />
|
|
<created>1774652817905</created>
|
|
<option name="number" value="00001" />
|
|
<option name="presentableId" value="LOCAL-00001" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774652817905</updated>
|
|
</task>
|
|
<task id="LOCAL-00002" summary="Remove compiled API files from version control - Deleted compiled JavaScript files, type definitions, and source maps from the `dist` folder.">
|
|
<option name="closed" value="true" />
|
|
<created>1774653909300</created>
|
|
<option name="number" value="00002" />
|
|
<option name="presentableId" value="LOCAL-00002" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774653909300</updated>
|
|
</task>
|
|
<task id="LOCAL-00003" summary="Implement authentication, organization management, and floor layout features - Add API authentication with JWT strategy using NestJS. - Configure Prisma schema for organizations, users, buildings, floors, and spaces. - Seed initial database with test data and relationships. - Build SvelteKit web pages for dashboard and floor layout with secured routing and organization hierarchy display. - Remove deprecated `AppService` from API.">
|
|
<option name="closed" value="true" />
|
|
<created>1774654565964</created>
|
|
<option name="number" value="00003" />
|
|
<option name="presentableId" value="LOCAL-00003" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774654565964</updated>
|
|
</task>
|
|
<task id="LOCAL-00004" summary="Add floorplan editor for admin layout management - Implement `FloorplanEditor.svelte` component for adding, editing, and positioning spaces. - Add backend support for floorplan image upload and batch updating space positions. - Update Prisma schema to include `planImageUrl` for floors. - Enable API proxy in Vite configuration for straightforward local development. - Refactor API calls to use a centralized `apiFetch` utility with token handling.">
|
|
<option name="closed" value="true" />
|
|
<created>1774707328435</created>
|
|
<option name="number" value="00004" />
|
|
<option name="presentableId" value="LOCAL-00004" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774707328435</updated>
|
|
</task>
|
|
<task id="LOCAL-00005" summary="Add building-level dashboard and interactive floorplan viewer - Create `+page.svelte` for building-level dashboard with floor selection and layout preview. - Add `FloorplanViewer.svelte` component with WebSocket integration for real-time space status updates. - Extend `SpacesService` and API endpoints for building floors and floor details retrieval. - Update dashboard UI with cleaner building and floor presentation. - Improve loading states and error handling across dashboard and floor pages.">
|
|
<option name="closed" value="true" />
|
|
<created>1774707617715</created>
|
|
<option name="number" value="00005" />
|
|
<option name="presentableId" value="LOCAL-00005" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774707617715</updated>
|
|
</task>
|
|
<task id="LOCAL-00006" summary="Add booking modal and enhance reservation handling - Create `BookingModal.svelte` for booking spaces with custom time slots or full-day durations. - Add API endpoint to fetch reservations by space ID and date. - Update `SpacesService` with enhanced validation rules and conflict checks for reservations. - Extend WebSocket updates to include reservation data for real-time synchronization. - Enable date-based filtering and status handling in UI components (`SpaceCard.svelte`, `FloorplanViewer.svelte`).">
|
|
<option name="closed" value="true" />
|
|
<created>1774708414077</created>
|
|
<option name="number" value="00006" />
|
|
<option name="presentableId" value="LOCAL-00006" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774708414077</updated>
|
|
</task>
|
|
<task id="LOCAL-00007" summary="Add support for space resizing and enhanced layout management - Update `SpacesService` to handle width and height properties for spaces. - Introduce `UpdateSpaceDto` for improved validation in batch update operations. - Extend `FloorplanEditor.svelte` and `FloorplanViewer.svelte` to support dynamic container scaling and space resizing. - Modify Prisma schema to include `width` and `height` fields for spaces. - Enhance floorplan rendering to maintain proportional layout during editing and viewing.">
|
|
<option name="closed" value="true" />
|
|
<created>1774709613724</created>
|
|
<option name="number" value="00007" />
|
|
<option name="presentableId" value="LOCAL-00007" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774709613724</updated>
|
|
</task>
|
|
<task id="LOCAL-00008" summary="Add admin reporting dashboard with utilization statistics and downloadable reports - Implement `+page.svelte` for admin reporting dashboard showing utilization and employee stats. - Add API endpoints for utilization stats, employee stats, and Excel report export (NestJS). - Create `ReportsService` and `ReportsModule` for backend logic. - Introduce `xlsx` package for generating Excel reports. - Update layout to include "Reports" link for admin users. - Extend Prisma querying for detailed building, space type, and employee role data.">
|
|
<option name="closed" value="true" />
|
|
<created>1774710366017</created>
|
|
<option name="number" value="00008" />
|
|
<option name="presentableId" value="LOCAL-00008" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774710366017</updated>
|
|
</task>
|
|
<task id="LOCAL-00009" summary="Add user management and registration features with invite-based onboarding - Implement `+page.svelte` for admin user management, allowing role updates, password resets, and invite link generation. - Add `+page.svelte` for user registration using invite tokens. -">
|
|
<option name="closed" value="true" />
|
|
<created>1774710670712</created>
|
|
<option name="number" value="00009" />
|
|
<option name="presentableId" value="LOCAL-00009" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774710670712</updated>
|
|
</task>
|
|
<task id="LOCAL-00010" summary="Add "My Bookings" page and enable reservation updates and cancellations - Implement `+page.svelte` for managing user reservations with real-time updates. - Add API endpoints for updating and canceling reservations with enhanced validation and authorization. - Introduce `UpdateReservationDto` for refined reservation update handling. - Update `reservations.service.ts` to handle overlapping checks, time adjustments, and admin actions. - Extend layout to include a link to the "My Bookings" page. - Add `date-fns` library for date formatting.">
|
|
<option name="closed" value="true" />
|
|
<created>1774710987605</created>
|
|
<option name="number" value="00010" />
|
|
<option name="presentableId" value="LOCAL-00010" />
|
|
<option name="project" value="LOCAL" />
|
|
<updated>1774710987605</updated>
|
|
</task>
|
|
<option name="localTasksCounter" value="11" />
|
|
<servers />
|
|
</component>
|
|
<component name="TypeScriptGeneratedFilesManager">
|
|
<option name="version" value="3" />
|
|
</component>
|
|
<component name="VcsManagerConfiguration">
|
|
<MESSAGE value="Initialize Hot Desking app with web and API services - Set up SvelteKit for the web interface with Tailwind CSS. - Build the API using NestJS with Prisma ORM for database interaction. - Add environment variable management and docker-compose for PostgreSQL and PgAdmin instances. - Create shared data models for consistent typing across services. - Establish basic routing and layouts for web and API services." />
|
|
<MESSAGE value="Remove compiled API files from version control - Deleted compiled JavaScript files, type definitions, and source maps from the `dist` folder." />
|
|
<MESSAGE value="Implement authentication, organization management, and floor layout features - Add API authentication with JWT strategy using NestJS. - Configure Prisma schema for organizations, users, buildings, floors, and spaces. - Seed initial database with test data and relationships. - Build SvelteKit web pages for dashboard and floor layout with secured routing and organization hierarchy display. - Remove deprecated `AppService` from API." />
|
|
<MESSAGE value="Add floorplan editor for admin layout management - Implement `FloorplanEditor.svelte` component for adding, editing, and positioning spaces. - Add backend support for floorplan image upload and batch updating space positions. - Update Prisma schema to include `planImageUrl` for floors. - Enable API proxy in Vite configuration for straightforward local development. - Refactor API calls to use a centralized `apiFetch` utility with token handling." />
|
|
<MESSAGE value="Add building-level dashboard and interactive floorplan viewer - Create `+page.svelte` for building-level dashboard with floor selection and layout preview. - Add `FloorplanViewer.svelte` component with WebSocket integration for real-time space status updates. - Extend `SpacesService` and API endpoints for building floors and floor details retrieval. - Update dashboard UI with cleaner building and floor presentation. - Improve loading states and error handling across dashboard and floor pages." />
|
|
<MESSAGE value="Add booking modal and enhance reservation handling - Create `BookingModal.svelte` for booking spaces with custom time slots or full-day durations. - Add API endpoint to fetch reservations by space ID and date. - Update `SpacesService` with enhanced validation rules and conflict checks for reservations. - Extend WebSocket updates to include reservation data for real-time synchronization. - Enable date-based filtering and status handling in UI components (`SpaceCard.svelte`, `FloorplanViewer.svelte`)." />
|
|
<MESSAGE value="Add support for space resizing and enhanced layout management - Update `SpacesService` to handle width and height properties for spaces. - Introduce `UpdateSpaceDto` for improved validation in batch update operations. - Extend `FloorplanEditor.svelte` and `FloorplanViewer.svelte` to support dynamic container scaling and space resizing. - Modify Prisma schema to include `width` and `height` fields for spaces. - Enhance floorplan rendering to maintain proportional layout during editing and viewing." />
|
|
<MESSAGE value="Add admin reporting dashboard with utilization statistics and downloadable reports - Implement `+page.svelte` for admin reporting dashboard showing utilization and employee stats. - Add API endpoints for utilization stats, employee stats, and Excel report export (NestJS). - Create `ReportsService` and `ReportsModule` for backend logic. - Introduce `xlsx` package for generating Excel reports. - Update layout to include "Reports" link for admin users. - Extend Prisma querying for detailed building, space type, and employee role data." />
|
|
<MESSAGE value="Add user management and registration features with invite-based onboarding - Implement `+page.svelte` for admin user management, allowing role updates, password resets, and invite link generation." />
|
|
<MESSAGE value="Add user management and registration features with invite-based onboarding - Implement `+page.svelte` for admin user management, allowing role updates, password resets, and invite link generation. Update `UsersController` and `UsersService` to support user role updates, password changes, and invite token generation. - Create DTOs (`RegisterDto`, `UpdateUserDto`) for input validation in user management endpoints. - Extend `AuthService` and `AuthController` with invite-based registration logic. - Update admin layout to include "Users" link for easy access to user management." />
|
|
<MESSAGE value="Add "My Bookings" page and enable reservation updates and cancellations - Implement `+page.svelte` for managing user reservations with real-time updates. - Add API endpoints for updating and canceling reservations with enhanced validation and authorization. - Introduce `UpdateReservationDto` for refined reservation update handling. - Update `reservations.service.ts` to handle overlapping checks, time adjustments, and admin actions. - Extend layout to include a link to the "My Bookings" page. - Add `date-fns` library for date formatting." />
|
|
<option name="LAST_COMMIT_MESSAGE" value="Add "My Bookings" page and enable reservation updates and cancellations - Implement `+page.svelte` for managing user reservations with real-time updates. - Add API endpoints for updating and canceling reservations with enhanced validation and authorization. - Introduce `UpdateReservationDto` for refined reservation update handling. - Update `reservations.service.ts` to handle overlapping checks, time adjustments, and admin actions. - Extend layout to include a link to the "My Bookings" page. - Add `date-fns` library for date formatting." />
|
|
</component>
|
|
</project> |