cal.com icon indicating copy to clipboard operation
cal.com copied to clipboard

feat: Billing Service

Open exception opened this issue 2 years ago • 7 comments

What does this PR do?

Introduces a new Billing Service to Platform API. For now, it is used to automate billing and usage for platform-enabled teams.

Relies upon Stripe for handling subscriptions.

exception avatar Apr 25 '24 16:04 exception

Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link.

github-actions[bot] avatar Apr 25 '24 16:04 github-actions[bot]

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
platform-starter-kit ❌ Failed (Inspect) Apr 30, 2024 7:44pm
3 Ignored Deployments
Name Status Preview Comments Updated (UTC)
ai ⬜️ Ignored (Inspect) Visit Preview Apr 30, 2024 7:44pm
cal ⬜️ Ignored (Inspect) Visit Preview Apr 30, 2024 7:44pm
calcom-web-canary ⬜️ Ignored (Inspect) Visit Preview Apr 30, 2024 7:44pm

vercel[bot] avatar Apr 25 '24 16:04 vercel[bot]

Graphite Automations

"Add foundation team as reviewer" took an action on this PR • (04/25/24)

1 reviewer was added to this PR based on Keith Williams's automation.

"Add platform team as reviewer" took an action on this PR • (04/25/24)

1 reviewer was added to this PR based on Keith Williams's automation.

graphite-app[bot] avatar Apr 25 '24 16:04 graphite-app[bot]

📦 Next.js Bundle Analysis for @calcom/web

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

github-actions[bot] avatar Apr 25 '24 17:04 github-actions[bot]

Current Playwright Test Results Summary

✅ 315 Passing - ⚠️ 5 Flaky

Run may still be in progress, this comment will be updated as current testing workflow or job completes...

(Last updated on 04/30/2024 08:01:01pm UTC)

Run Details

Running Workflow PR Update on Github Actions

Commit: edfe4090b6ca9498c2316758aa2291f090625d69

Started: 04/30/2024 07:57:15pm UTC

⚠️ Flakes

📄   apps/web/playwright/event-types.e2e.ts • 2 Flakes

Top 1 Common Error Messages

null

2 Test Cases Affected

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Event Types tests -- future user Different Locations Tests Can add Link Meeting as location and book with it
Retry 1Initial Attempt
0.42% (1) 1 / 236 run
failed over last 7 days
3.81% (9) 9 / 236 runs
flaked over last 7 days
Event Types tests -- legacy user Different Locations Tests Can remove location from multiple locations that are saved
Retry 1Initial Attempt
0% (0) 0 / 190 runs
failed over last 7 days
21.05% (40) 40 / 190 runs
flaked over last 7 days

📄   apps/web/playwright/eventType/limit-tab.e2e.ts • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Limits Tab - Event Type Check the functionalities of the Limits Tab
Retry 1Initial Attempt
0% (0) 0 / 191 runs
failed over last 7 days
3.14% (6) 6 / 191 runs
flaked over last 7 days

📄   packages/embeds/embed-core/playwright/tests/preview.e2e.ts • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Preview Preview - embed-core should load
Retry 1Initial Attempt
0% (0) 0 / 222 runs
failed over last 7 days
39.64% (88) 88 / 222 runs
flaked over last 7 days

📄   packages/embeds/embed-react/playwright/tests/basic.e2e.ts • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
React Embed Element Click Popup should verify that the iframe got created with correct URL - namespaced
Retry 1Initial Attempt
13.33% (30) 30 / 225 runs
failed over last 7 days
45.78% (103) 103 / 225 runs
flaked over last 7 days

View Detailed Build Results


deploysentinel[bot] avatar Apr 25 '24 17:04 deploysentinel[bot]

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@adobe/[email protected] None 0 180 kB adobe-admin
npm/@alloc/[email protected] None 0 14.1 kB aleclarson
npm/@babel/[email protected] None 0 65.2 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 6.56 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 31.7 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 11.7 kB nicolo-ribaudo
npm/@babel/[email protected] None 0 15.4 kB nicolo-ribaudo
npm/@base2/[email protected] None 0 18.1 kB chris-baker
npm/@colors/[email protected] environment 0 39.5 kB dabh
npm/@discoveryjs/[email protected] None 0 81.1 kB lahmatiy
npm/@eslint-community/[email protected] None 0 431 kB eslint-community-bot
npm/@eslint/[email protected] None 0 13.9 kB eslintbot
npm/@fal-works/[email protected] None 0 19.5 kB fal-works
npm/@humanwhocodes/[email protected] unsafe 0 21.2 kB nzakas
npm/@humanwhocodes/[email protected] None 0 23.3 kB nzakas
npm/@istanbuljs/[email protected] None 0 17.2 kB coreyfarrell
npm/@jridgewell/[email protected] None 0 53.2 kB jridgewell
npm/@jridgewell/[email protected] None 0 17.9 kB jridgewell
npm/@jridgewell/[email protected] None 0 45.9 kB jridgewell
npm/@juggle/[email protected] None 0 73.7 kB trem
npm/@nodelib/[email protected] filesystem 0 11.8 kB mrmlnc
npm/@pkgjs/[email protected] None 0 74.2 kB oss-bot
npm/@sinclair/[email protected] None 0 442 kB sinclair
npm/@smithy/[email protected] None 0 17.1 kB smithy-team
npm/@storybook/[email protected] None 0 13.7 MB shilman
npm/@storybook/[email protected] None 0 4.12 kB ndelangen
npm/@storybook/[email protected] None 0 7.32 MB shilman
npm/@storybook/[email protected] None 0 7.21 kB jreinhold
npm/@types/[email protected] None 0 81.3 kB types
npm/@types/[email protected] None 0 3.37 kB types
npm/@types/[email protected] None 0 7.56 kB types
npm/@types/[email protected] None 0 16.9 kB types
npm/@types/[email protected] None 0 15.1 kB types
npm/@types/[email protected] None 0 7.98 kB types
npm/@types/[email protected] None 0 25.7 kB types
npm/@types/[email protected] None 0 7.1 kB types
npm/@types/[email protected] None 0 9.56 kB types
npm/@types/[email protected] None 0 5.45 kB types
npm/@types/[email protected] None 0 31.7 kB types
npm/@types/[email protected] None 0 862 kB types
npm/@types/[email protected] None 0 9.79 kB types
npm/@types/[email protected] None 0 3.38 kB types
npm/@types/[email protected] None 0 5.81 kB types
npm/@types/[email protected] None 0 2.95 kB types
npm/@types/[email protected] None 0 3.12 kB types
npm/@types/[email protected] None 0 6.71 kB types
npm/@types/[email protected] None 0 23.3 kB types
npm/@types/[email protected] None 0 8.56 kB types
npm/@types/[email protected] None 0 6.74 kB types
npm/@types/[email protected] None 0 8.65 kB types
npm/@ungap/[email protected] None 0 26.2 kB webreflection
npm/@webassemblyjs/[email protected] None 0 5.14 kB xtuc
npm/@webassemblyjs/[email protected] None 0 5.4 kB xtuc
npm/@webassemblyjs/[email protected] None 0 10.8 kB xtuc
npm/@webassemblyjs/[email protected] None 0 16 kB xtuc
npm/@webassemblyjs/[email protected] None 0 7.31 kB xtuc
npm/@xmldom/[email protected] None 0 182 kB karfau
npm/@xtuc/[email protected] None 0 8.57 kB xtuc
npm/@xtuc/[email protected] None 0 190 kB xtuc
npm/[email protected] environment, filesystem, shell 0 13 kB fengmk2
npm/[email protected] None 0 20.1 kB mahdyar
npm/[email protected] None 0 5.67 kB qix
npm/[email protected] None 0 22.2 kB kevinbeaty
npm/[email protected] filesystem 0 5.88 kB philidem
npm/[email protected] None 0 13.7 kB leerobinson
npm/[email protected] None 0 3.17 kB sindresorhus
npm/[email protected] None 0 5.64 kB chaijs
npm/[email protected] None 0 6.9 kB strml
npm/[email protected] None 0 808 kB aearly
npm/[email protected] None 0 17.2 kB roncohen
npm/[email protected] None 0 175 kB peterolson
npm/[email protected] None 0 63.9 kB mikemcl
npm/[email protected] environment, eval, unsafe 0 632 kB esailija
npm/[email protected] None 0 217 kB lancedikson
npm/[email protected] None 0 5.34 kB muji
npm/[email protected] None 0 7.95 kB brianloveswords
npm/[email protected] None 0 5.05 kB linusu
npm/[email protected] None 0 4.05 kB stevenvachon
npm/[email protected] None 0 7.45 kB sindresorhus
npm/[email protected] None 0 25.9 kB urthen
npm/[email protected] environment 0 26.1 kB sibiraj-s
npm/[email protected] None 0 139 kB guybedford
npm/[email protected] None 0 32.1 kB sindresorhus
npm/[email protected] None 0 611 B sebmarkbage
npm/[email protected] None 0 11.1 kB pvorb
npm/[email protected] None 0 17 kB jorgebucaran
npm/[email protected] None 0 4.01 kB novemberborn
npm/[email protected] None 0 4.79 kB substack
npm/[email protected] None 0 7.46 kB juliangruber
npm/[email protected] None 0 15.9 kB phated
npm/[email protected] environment, eval, filesystem 0 1.09 MB zloirock
npm/[email protected] None 0 3.93 kB sindresorhus
npm/[email protected] None 0 6.49 kB mathias
npm/[email protected] None 0 17.5 kB mathias
npm/[email protected] None 0 1.25 MB faddee
npm/[email protected] None 0 8.11 kB thlorenz
npm/[email protected] None 0 31.2 kB tehshrike
npm/[email protected] None 0 4.45 kB sindresorhus
npm/[email protected] None 0 19.6 kB pi0
npm/[email protected] None 0 14.2 kB lukeed
npm/[email protected] None 0 9.68 kB sindresorhus
npm/[email protected] None 0 3.21 kB kashey
npm/[email protected] None 0 17.3 kB dcporter
npm/[email protected] None 0 46 kB simenb
npm/[email protected] None 0 5.8 kB developit
npm/[email protected] None 0 257 kB eps1lon
npm/[email protected] None 0 13.9 kB motdotla
npm/[email protected] None 0 5.47 kB raynos
npm/[email protected] None 0 13.6 kB komagata
npm/[email protected] None 0 97.9 kB google-wombot
npm/[email protected] None 0 53.6 kB kikobeats
npm/[email protected] environment, eval, filesystem, shell 0 162 kB tabrindle
npm/[email protected] None 0 90.6 kB guybedford
npm/[email protected] None 0 5.14 kB igoradamenko
npm/[email protected] None 0 32.3 kB eslintbot
npm/[email protected] None 0 314 kB ariya
npm/[email protected] None 0 37.1 kB michaelficarra
npm/[email protected] None 0 50.6 kB michaelficarra
npm/[email protected] None 0 38 kB lpinca
npm/[email protected] None 0 82.8 kB goto-bus-stop
npm/[email protected] None 0 23.5 kB ljharb
npm/[email protected] None 0 13 kB esp
npm/[email protected] None 0 17 kB esp
npm/[email protected] None 0 21.3 kB ka-weihe
npm/[email protected] network 0 55 kB jonbern
npm/[email protected] None 0 26.6 kB timoxley
npm/[email protected] None 0 40.3 kB webreflection
npm/[email protected] None 0 726 kB flowtype
npm/[email protected] filesystem, unsafe 0 22 kB streamich
npm/[email protected] environment, filesystem 0 13.4 kB isaacs
npm/[email protected] None 0 16.7 kB ljharb
npm/[email protected] None 0 28.9 kB loganfsmyth
npm/[email protected] None 0 8.68 kB keithamus
npm/[email protected] None 0 5.26 kB kashey
npm/[email protected] None 0 8.52 kB zkochan
npm/[email protected] filesystem 0 6.01 kB coreyfarrell
npm/[email protected] network 0 8.74 kB sindresorhus
npm/[email protected] None 0 13.5 kB wooorm
npm/[email protected] None 0 18.1 kB nickfitzgerald
npm/[email protected] environment, filesystem 0 32.5 kB isaacs
npm/[email protected] None 0 812 kB mattpauldavies
npm/[email protected] None 0 12.8 kB ljharb
npm/[email protected] None 0 124 kB mathias
npm/[email protected] None 0 25.8 kB nlf
npm/[email protected] None 0 287 kB mdevils
npm/[email protected] None 0 5.94 kB sindresorhus
npm/[email protected] None 0 44.3 kB ehmicky
npm/[email protected] None 0 51.5 kB kael
npm/[email protected] None 0 11.9 kB jensyt
npm/[email protected] None 0 4.4 kB sindresorhus
npm/[email protected] None 0 15.5 kB indutny
npm/[email protected] None 0 3.46 kB sindresorhus
npm/[email protected] None 0 28.9 kB ljharb
npm/[email protected] None 0 2.77 kB watson
npm/[email protected] filesystem 0 3.01 kB sindresorhus
npm/[email protected] None 0 1.38 kB kevva
npm/[email protected] None 0 4.62 kB sindresorhus
npm/[email protected] None 0 27.1 kB ljharb
npm/[email protected] None 0 2.76 kB sindresorhus
npm/[email protected] None 0 4.12 kB sindresorhus
npm/[email protected] None 0 3.54 kB sindresorhus
npm/[email protected] None 0 3.43 kB juliangruber
npm/[email protected] environment, filesystem 0 11 kB isaacs
npm/[email protected] None 0 6.93 kB doowb
npm/[email protected] None 0 34.4 kB oss-bot
npm/[email protected] None 0 3.52 kB simenb
npm/[email protected] environment, filesystem, unsafe 0 1.91 MB pi0
npm/[email protected] None 0 32 kB mathias
npm/[email protected] None 0 5.4 kB dominictarr
npm/[email protected] None 0 22.2 kB esp
npm/[email protected] None 0 14.2 kB samn
npm/[email protected] None 0 22.8 kB doowb
npm/[email protected] None 0 9.89 kB lukeed
npm/[email protected] eval, filesystem 0 18.4 kB sokra
npm/[email protected] None 0 14 kB jdalton
npm/[email protected] None 0 54.1 kB jdalton
npm/[email protected] None 0 9.49 kB sindresorhus
npm/[email protected] None 0 25.2 kB thinkloop
npm/[email protected] None 0 7.41 kB wooorm
npm/[email protected] None 0 4.31 kB stevemao
npm/[email protected] None 0 8.9 kB zensh
npm/[email protected] None 0 2.97 kB thejameskyle
npm/[email protected] None 0 24.4 kB ai
npm/[email protected] None 0 5.65 kB megawac
npm/[email protected] None 0 298 kB suguru03
npm/[email protected] None 0 16.9 kB ethan_arrowood
npm/[email protected] network 0 735 kB pi0
npm/[email protected] None 0 1.66 MB davidlehn
npm/[email protected] None 0 16.3 kB broofa
npm/[email protected] None 0 26.5 kB ljharb
npm/[email protected] None 0 7.54 kB dougwilson
npm/[email protected] shell 0 6.21 kB domenic
npm/[email protected] None 0 7.38 kB sindresorhus
npm/[email protected] None 0 4.37 kB sindresorhus
npm/[email protected] None 0 54.3 kB goto-bus-stop
npm/[email protected] filesystem 0 3.92 kB sindresorhus
npm/[email protected] None 0 3.62 kB sindresorhus
npm/[email protected] None 0 4.55 kB sindresorhus
npm/[email protected] None 0 4.51 kB jbgutierrez
npm/[email protected] filesystem 0 5.41 kB sindresorhus
npm/[email protected] None 0 30.8 kB pi0
npm/[email protected] None 0 15.8 kB chai
npm/[email protected] None 0 6.01 kB superjoe
npm/[email protected] None 0 7.23 kB sindresorhus
npm/[email protected] unsafe 0 13.5 kB danez
npm/[email protected] None 0 10.9 kB ljharb
npm/[email protected] None 0 36.7 kB gkz
npm/[email protected] environment, filesystem, unsafe 0 11.2 MB prettier-bot
npm/[email protected] None 0 6.35 kB robrich
npm/[email protected] None 0 3.17 kB cwmma
npm/[email protected] None 0 15.3 kB cwmma
npm/[email protected] None 0 15.5 kB turbopope
npm/[email protected] None 0 33.5 kB google-wombot
npm/[email protected] None 0 8.37 kB feross
npm/[email protected] None 0 7.47 kB sindresorhus
npm/[email protected] environment 0 24 kB react-bot
npm/[email protected] environment 0 58.7 kB react-bot
npm/[email protected] None 0 49.2 kB mathias
npm/[email protected] None 0 31.4 kB stevenvachon
npm/[email protected] unsafe 0 3.42 kB floatdrop
npm/[email protected] None 0 8.56 kB 3rdeden
npm/[email protected] filesystem, unsafe 0 5.82 kB sindresorhus
npm/[email protected] None 0 18.9 kB tim-kos
npm/[email protected] None 0 9.44 kB matteo.collina
npm/[email protected] None 0 6.79 kB terkelg
npm/[email protected] None 0 3.51 kB sindresorhus
npm/[email protected] None 0 5.58 kB wooorm
npm/[email protected] None 0 3.47 kB kemitchell
npm/[email protected] None 0 12.6 kB kemitchell
npm/[email protected] None 0 34.8 kB alexei
npm/[email protected] None 0 23.6 kB eriwen
npm/[email protected] None 0 88.8 kB nbubna
npm/[email protected] None 0 4.46 kB mafintosh
npm/[email protected] None 0 16.6 kB mscdex
npm/[email protected] None 0 3 kB sindresorhus
npm/[email protected] None 0 3.05 kB sindresorhus
npm/[email protected] None 0 6.96 kB sindresorhus
npm/[email protected] None 0 9.18 kB ljharb
npm/[email protected] None 0 32.1 kB fluffynuts
npm/[email protected] None 0 46.9 kB sokra
npm/[email protected] filesystem 0 3.29 kB sindresorhus
npm/[email protected] None 0 11 kB substack
npm/[email protected] None 0 14.8 kB alexreardon
npm/[email protected] None 0 13.9 kB oreanno
npm/[email protected] None 0 2.77 kB daaku
npm/[email protected] None 0 3.5 kB sindresorhus
npm/[email protected] None 0 107 kB tscanlin
npm/[email protected] None 0 268 kB sebmaster
npm/[email protected] None 0 26.6 kB tamino-martinius
npm/[email protected] None 0 68 kB dsagal2
npm/[email protected] None 0 42.1 kB chaijs
npm/[email protected] None 0 26 kB substack
npm/[email protected] None 0 66.8 MB typescript-bot
npm/[email protected] None 0 103 kB pi0
npm/[email protected] environment, eval, filesystem 0 1.28 MB alexlamsl
npm/[email protected] None 0 5.01 kB google-wombot
npm/[email protected] None 0 25.7 kB google-wombot
npm/[email protected] None 0 5.98 kB google-wombot
npm/[email protected] None 0 13.7 kB wooorm
npm/[email protected] None 0 3.01 kB sindresorhus
npm/[email protected] None 0 24.2 kB ariaminaei
npm/[email protected] None 0 116 kB ctavan
npm/[email protected] None 0 91.3 kB sokra
npm/[email protected] environment 0 45.4 kB vicvlas
npm/[email protected] None 0 11.8 kB jonschlinkert
npm/[email protected] None 0 36.8 kB substack
npm/[email protected] environment, network 0 141 kB lpinca
npm/[email protected] None 0 321 kB oozcitak
npm/[email protected] None 0 6.46 kB raynos
npm/[email protected] environment 0 448 kB eemeli
npm/[email protected] None 0 6.03 kB sindresorhus

🚮 Removed packages: npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected]

View full report↗︎

socket-security[bot] avatar Apr 26 '24 17:04 socket-security[bot]

@exception can you please add a description

keithwillcode avatar Apr 26 '24 18:04 keithwillcode

can you record a loom.com demo?

PeerRich avatar Apr 29 '24 11:04 PeerRich

Please don’t enable auto-merge.

keithwillcode avatar Apr 29 '24 22:04 keithwillcode

🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎

To accept the risk, merge this PR and you will not be notified again.

Alert Package Note
Install scripts npm/[email protected]
  • Install script: postinstall
  • Source: node -e "try{require('./postinstall')}catch(e){}"

View full report↗︎

Next steps

What is an install script?

Install scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.

Packages should not be running non-essential scripts during install and there are often solutions to problems people solve with install scripts that can be run at publish time instead.

Take a deeper look at the dependency

Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

Remove the package

If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

Mark a package as acceptable risk

To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/[email protected] or ignore all packages with @SocketSecurity ignore-all

socket-security[bot] avatar Apr 30 '24 12:04 socket-security[bot]