Files
calendar/packages/platform/libraries
8fbc76d59a feat: extend api/v2/event-types (#16128)
* feat: extended api/v2/event-types to add more attributes

- additional attributes added
* bookingLimits
* onlyShowFirstAvailableSlot
* durationLimits
* offsetStart
* bookingWindow

* add swagger docs

* type fix

* extend api/v2/teams/[teamId]/event-types

* added tests

* extend api/v2/orgs/[orgId]/teams/[teamid]/event-types

* update: added tests to get and update event-type as well

* rename variables

- bookingLimits -> bookingLimitsCount
- durationLimits -> bookingLimitsDuration

* refactor: rename bookingLimits and durationLimits, add descriptions

- Renamed `bookingLimits` to `bookingLimitsCount`
- Renamed `durationLimits` to `bookingLimitsDuration`
- Added descriptions with examples to `bookingLimitsCount` and `bookingLimitsDuration`

* feat: add unit tests for transformation logic in api-request and api-response

- Added tests for `transformApiEventTypeIntervalLimits`
- Added tests for `transformApiEventTypeFutureBookingLimits`

* fix: type errors

* feat: added custom validators for BookingLimitsCount and BookingLimitsDuration

* fix: unit-tests

* Update CHANGELOG.md

* refactor: update imports to use platform-libraries from @calcom/platform-libraries-1.2.3

* fix: prevent double transformation of bookingWindow and bookingFields

- resolving e2e test failures

---------

Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
2024-08-16 09:25:34 +00:00
..

How to work with platform libraries in Dev

whenever you want to change anything in platform libraries, or if you modify the code of one of the functions imported in libraries you will need to build the code again.

first thing to know is that we version this package using NPM

https://www.npmjs.com/package/@calcom/platform-libraries?activeTab=code

In order to work using the locally built platform libraries you need to:

  • in packages/platform/libraries/package.json set the version to for example 1.2.3

  • in apps/api/v2/package.json add to dependencies: "@calcom/platform-libraries-1.2.3": "npm:@calcom/platform-libraries@1.2.3"

  • in api v2 code simply import using the new alias: import { getAllUserBookings as getAllUserBookings1.2.3, } from "@calcom/platform-libraries-1.2.3";

since the versions are matching in both package.json yarn will try to use the locally built code

now go to packages/platform/libraries and do

  • yarn build:dev

then go back to /apps/api/v2 and run

  • yarn

  • yarn dev

Before Merging to main

  • Publish Your Version of Libraries on NPM:
    • To publish, ensure you are a contributor to the platform libraries' NPM package.
    • Authenticate yourself via the CLI using npm auth.
    • Increment the version number accordingly.
    • Run yarn publish to publish your version.
  • Once it's published, change back the version in packages/platform/libraries/package.json back to 0.0.0
  • Run yarn
  • You should now be using the npm package instead of the locally built version