Skip to content

Number field in shifts + span of shifts creation + swagger api doc - #145

Closed
Soubzar wants to merge 9 commits into
panteLx:mainfrom
Soubzar:number_field
Closed

Number field in shifts + span of shifts creation + swagger api doc#145
Soubzar wants to merge 9 commits into
panteLx:mainfrom
Soubzar:number_field

Conversation

@Soubzar

@Soubzar Soubzar commented Jul 13, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • New Features

    • Added phone-number fields to shifts and presets, with display and editing support.
    • Added start and end date fields for multi-day shifts.
    • Added interactive API documentation with OpenAPI/Swagger.
    • Added deployment support for custom certificate trust.
  • Bug Fixes

    • Improved external calendar synchronization to preserve phone numbers and avoid incorrect deletions.
    • Shift edits now correctly recreate entries when their date range changes.
    • Preset-created shifts now retain phone-number details.

@Soubzar Soubzar closed this Jul 13, 2026
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0aea4e4f-08be-45cd-9915-565d3610111a

📥 Commits

Reviewing files that changed from the base of the PR and between 1b0dd49 and 112aa79.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (29)
  • .gitignore
  • Dockerfile
  • app/api/external-syncs/[id]/sync/route.ts
  • app/api/presets/[id]/route.ts
  • app/api/presets/route.ts
  • app/api/shifts/[id]/route.ts
  • app/api/shifts/route.ts
  • app/api/shifts/stats/route.ts
  • app/docs/ApiDocs.tsx
  • app/docs/layout.tsx
  • app/docs/page.tsx
  • app/page.tsx
  • bettershift.yaml
  • components/preset-manage-sheet.tsx
  • components/shift-card.tsx
  • components/shift-form-fields.tsx
  • components/shift-sheet.tsx
  • components/swagger-page.tsx
  • docker-compose.yml
  • hooks/usePresets.ts
  • hooks/useShiftActions.ts
  • hooks/useShiftForm.ts
  • hooks/useShifts.ts
  • lib/db/schema.ts
  • lib/external-calendar-utils.ts
  • lib/types.ts
  • messages/en.json
  • package.json
  • public/openapi.json

📝 Walkthrough

Walkthrough

Changes

Shift number propagation

Layer / File(s) Summary
Number data contracts and synchronization
lib/db/schema.ts, lib/types.ts, lib/external-calendar-utils.ts, app/api/...
Shift and preset schemas, API handlers, and external calendar synchronization now carry number values.
Preset and shift form state
components/preset-manage-sheet.tsx, components/shift-form-fields.tsx, hooks/*, messages/en.json
Forms, preset application, optimistic state, reset logic, and localized labels support number values.
Editing, comparison, and display
app/page.tsx, components/shift-sheet.tsx, components/shift-card.tsx
Range-aware editing and compare-mode creation preserve number values, which are also displayed on shift cards.

Swagger API documentation

Layer / File(s) Summary
Documentation route and specification
app/docs/*, components/swagger-page.tsx, public/openapi.json, package.json
A docs route renders Swagger UI using the checked-in OpenAPI specification and added packages.
Documentation application layout
app/docs/layout.tsx
The docs layout provides metadata, localization, configuration, providers, and Swagger styling.

Runtime and deployment configuration

Layer / File(s) Summary
Container certificate configuration
Dockerfile, docker-compose.yml
Docker stages register the bundled CA certificate, and Compose builds locally while mounting the certificate.
Deployment and local-file support
.gitignore, bettershift.yaml
Certificate and local configuration files are ignored, and a Kubernetes Deployment with a hostPath data volume is defined.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant