Skip to content

[FEAT] Implement Workspace & Projects settings#13

Merged
martian56 merged 3 commits into
mainfrom
11-implement-workspace-projects-settings
Mar 8, 2026
Merged

[FEAT] Implement Workspace & Projects settings#13
martian56 merged 3 commits into
mainfrom
11-implement-workspace-projects-settings

Conversation

@martian56
Copy link
Copy Markdown
Member

This pull request introduces several enhancements and new features to both the backend and frontend services, primarily focused on expanding project and workspace management capabilities. The most significant changes include extending the project update functionality to support more fields, updating the project model, and adding new API methods for managing projects, labels, states, and workspace members.

Backend Enhancements:

Expanded project update functionality:

  • The Update method in ProjectHandler and ProjectService now supports updating additional fields such as description, timezone, project_lead_id, default_assignee_id, and several boolean configuration flags (e.g., guest_view_all_features, module_view, is_time_tracking_enabled). [1] [2] [3]

Project model changes:

  • The Project model now includes new fields: is_time_tracking_enabled, guest_view_all_features, and an updated timezone field.

Frontend/API Service Additions:

Project and workspace API improvements:

  • The projectService now supports updating project details, managing project members (update/delete), and deleting project invitations. [1] [2]
  • The workspaceService adds methods for updating workspace details, managing workspace members (update/delete), and deleting workspace invitations.
  • The ProjectApiResponse type is updated to include the new project fields.

Label and state management:

  • The labelService and stateService now include methods for creating, updating, and deleting labels and states within a project. [1] [2]

Summary of Most Important Changes:

Backend:

  • Expanded project update API to handle multiple new fields and configuration flags, allowing more granular project customization. [1] [2] [3]
  • Extended Project model with new fields for time tracking, guest feature visibility, and timezone.

Frontend/API Services:

  • Added support in projectService for updating projects, managing project members, and deleting invitations. [1] [2]
  • Enhanced workspaceService with update, member management, and invitation deletion methods.
  • Introduced create, update, and delete operations for labels and states in labelService and stateService. [1] [2]
  • Updated ProjectApiResponse type to reflect new backend fields for better type safety and API alignment.

closes #11

@martian56 martian56 added this to the Deadline milestone Mar 8, 2026
@martian56 martian56 self-assigned this Mar 8, 2026
@martian56 martian56 added the enhancement New feature or request label Mar 8, 2026
Copilot AI review requested due to automatic review settings March 8, 2026 14:09
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements Workspace & Projects settings (Issue #11) by expanding backend project update capabilities and wiring new frontend service methods and UI flows for managing workspace/project details, members, invites, labels, and workflow states.

Changes:

  • Backend: expand Project model + project update handler/service to support additional fields (timezone, lead/assignee IDs, feature flags).
  • Frontend services: add workspace/project update + member/invite management endpoints; add label/state CRUD methods.
  • Settings UI: implement project/workspace update actions, project invites, label/state modals, and a client-side export flow.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
ui/src/services/workspaceService.ts Adds workspace PATCH plus member role update / member removal / invite revocation helpers.
ui/src/services/projectService.ts Adds project PATCH plus project member role update / member removal / invite revocation helpers.
ui/src/services/labelService.ts Adds label create/update/delete methods scoped to workspace+project.
ui/src/services/stateService.ts Adds state create/update/delete methods scoped to workspace+project.
ui/src/pages/SettingsPage.tsx Implements settings UI flows for workspace/project updates, invites, members, labels, states, and export modal behavior.
ui/src/api/types.ts Extends ProjectApiResponse with new project configuration fields.
api/internal/service/project.go Extends ProjectService.Update to apply new fields/flags.
api/internal/model/project.go Extends Project model with time-tracking + guest access flags and timezone field alignment.
api/internal/handler/project.go Extends project PATCH handler to bind and pass new update fields to the service layer.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread api/internal/handler/project.go Outdated
Comment thread ui/src/services/projectService.ts Outdated
Comment thread ui/src/pages/SettingsPage.tsx
Comment thread ui/src/pages/SettingsPage.tsx Outdated
Comment thread api/internal/handler/project.go
Comment thread api/internal/service/project.go
Comment thread ui/src/pages/SettingsPage.tsx Outdated
Comment thread ui/src/pages/SettingsPage.tsx Outdated
Comment thread ui/src/pages/SettingsPage.tsx
const v = row[h];
if (v == null) return '';
let s: string;
if (typeof v === 'object' && v !== null && h === 'description') {
…ble types'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
@martian56 martian56 merged commit 37bab3f into main Mar 8, 2026
3 checks passed
@martian56 martian56 deleted the 11-implement-workspace-projects-settings branch May 2, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API enhancement New feature or request UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Workspace & Projects settings

2 participants