224 Commits

Author SHA1 Message Date
Laurie T. Malau
2fef159ce4 [public api] Wire up UnimplementedTokensService 2022-11-11 18:25:41 +02:00
Milan Pavlik
5869d88fd0 [public-api] Implement DeleteTeam 2022-11-10 14:30:39 +02:00
Milan Pavlik
22491c1e33 [public-api] Cleanup connection retrieval to reduce duplication 2022-11-10 10:27:40 +02:00
Milan Pavlik
7be5384fa9 [public-api] Parse TeamID as UUID for extra validation 2022-11-09 14:21:39 +01:00
Milan Pavlik
2926d142ed [public-api] Make publiic api package match path 2022-11-09 09:42:39 +01:00
Milan Pavlik
59c57b4821 [public-api] Properly extract errors from Websocket RPC 2022-11-08 09:14:38 +01:00
Milan Pavlik
4da5f03cb9 [public-api] Handle blocked user error 2022-11-07 12:16:37 +01:00
Milan Pavlik
287ec318e8 [public-api] Implement ResetTeamInvite 2022-11-04 13:34:09 +01:00
Milan Pavlik
f5bbb50df0 [public-api] Parametrize connection URL based on token 2022-11-04 10:14:08 +01:00
Milan Pavlik
81b94dd359 [public-api] Implement UpdateTeamMember and DeleteTeamMember 2022-11-04 10:09:08 +01:00
Milan Pavlik
7f3e1e4c50 [public-api] Proxy Cookies to downstream for auth 2022-11-04 08:49:08 +01:00
Milan Pavlik
48e588193f [public-api] Fix request started metric reporting 2022-11-03 18:01:08 +01:00
Milan Pavlik
b97e9d6c5b [public-api] Cleanup Workspace Service tests 2022-11-03 13:59:08 +01:00
Milan Pavlik
17207c59de [dashboard] Use public-api to JoinTeam 2022-11-03 13:57:08 +01:00
Milan Pavlik
9df5efe1c3 [public-api] Implement experimental ListTeams 2022-11-03 13:57:08 +01:00
Milan Pavlik
db13af4c8d [public-api] Implement experimental JoinTeam 2022-11-03 13:57:08 +01:00
Milan Pavlik
a470cdbfc2 [public-api] Refactor to support multiple token types 2022-11-03 13:38:08 +01:00
Milan Pavlik
91ecf0782e [public-api] Implement experimental JoinTeam 2022-11-03 08:57:08 +01:00
Milan Pavlik
66c9f2df22 [public-api] Add primary_email to TeamMember 2022-11-03 08:33:07 +01:00
Milan Pavlik
5af42c46c0 [public-api] Implement experimental GetTeam 2022-11-03 08:31:07 +01:00
Milan Pavlik
1b4966be80 [public-api] Populate full name and avatar for team members 2022-11-02 16:50:07 +01:00
Milan Pavlik
e24616b9fb [public-api] Implement experimental ListTeams 2022-11-02 09:50:06 +01:00
Milan Pavlik
45dcd0a5c3 [public-api] Implement member_since on TeamMember 2022-11-01 15:44:06 +01:00
Milan Pavlik
4c3007af75 [public-api] Implement experimental TeamsService.CreateTeam 2022-11-01 13:56:06 +01:00
Milan Pavlik
9d1a82446d [public-api] Implement connection pool with LRU cache 2022-10-31 13:59:05 +01:00
Milan Pavlik
45acc29cb1 [public-api] Export metrics with package label instead of service 2022-10-25 10:14:39 +02:00
Milan Pavlik
2d888a5ded [public-api] Move API definitions to experimental package 2022-10-19 17:23:34 +02:00
Milan Pavlik
063be607c6 [public-api] Add logs interceptor 2022-10-19 11:59:34 +02:00
Milan Pavlik
d6242ed18a [public-api] Remove unimplemented, or no longer needed RPCs 2022-10-19 10:34:34 +02:00
mustard
3075f3e533 [public-api] implement workspace proto 2022-10-19 09:42:34 +02:00
Milan Pavlik
bbc39b9d33 [public-api] Add client/server metrics interceptor 2022-10-19 09:33:34 +02:00
Milan Pavlik
0a476c52e8 [public-api] U Refactor to use connect handlers, route to HTTP server 2022-10-12 12:19:27 +02:00
Milan Pavlik
46d734e482 [public-api] Authentication interceptors for connect API 2022-10-10 16:54:26 +02:00
Milan Pavlik
e836dd4fe3 [public-api] Bind unimplemented WorkspacesServiceHandler using Connect 2022-10-06 16:06:22 +02:00
Milan Pavlik
31f273205f [proxy] Route HTTP 1.x requests to public-api-server 2022-10-05 07:56:20 +02:00
Milan Pavlik
aa6a8ffb0e [public-api] Reeuse metrics registry from baseserver 2022-10-03 13:50:19 +02:00
Sven Efftinge
1b76bca17d [public-api] handle customer.subscription.deleted event
This event is fired by Stripe when a customer cancels their subscription
2022-09-16 16:24:17 +02:00
Milan Pavlik
42224aeee9 [baseserver] Add metric with version of the server, use in public api and usage 2022-09-16 14:20:17 +02:00
Milan Pavlik
c2b7421628 Fix stripe secret parsing 2022-08-30 10:58:14 +02:00
Milan Pavlik
40ab42e18a [public-api] Validate incoming stripe webhooks 2022-08-29 13:58:14 +02:00
Andrew Farries
aba684fda1 Test webhook invokes FinalizeInvoice
TestWebhookInvokesFinalizeInvoiceRPC ensures that when the webhook is
hit with a `invoice.finalized` event, the `FinalizeInvoice` method on
the billing service is invoked with the invoice id from the event
payload.
2022-08-10 15:55:56 +02:00
Andrew Farries
d7416fd71d Add mock billing service
`mockgen --source client.go`
2022-08-10 15:55:56 +02:00
Andrew Farries
2d2f3e8b24 Make webhook use billingservice client
Construct and pass a billingservice client to the Stripe webhook so that
it can invoke the `FinalizeInvoice` RPC when the webhook is triggered.
2022-08-10 15:55:56 +02:00
Andrew Farries
c5ac85195b Add billingservice package to public-api-server
Takes the address of the billing service gRPC server and constructs a
client.

Also add a noop version of the client for when no billingservice is
configured (such as will be the case for self-hosted installations).
2022-08-10 15:55:56 +02:00
Andrew Farries
5ae8777513 Extract and log invoiceId in webhook 2022-08-10 15:25:54 +02:00
Andrew Farries
03d6f19013 Send valid payloads for stripe events
Add a minimal Stripe event payload for an `invoice.finalized` event.

Ensure all tests send event payloads. The only event type of interest
for the webhook is `invoice.finalized` so other event types can have
empty payloads.
2022-08-10 15:25:54 +02:00
Andrew Farries
c1a6f64e97 Add tests for the Stripe webhook
Test:
* The handler only accepts POST requests.
* The handler only responds to "invoice.finalized" events.

Add code to the handler to make those tests pass.
2022-08-05 10:12:49 -03:00
Andrew Farries
a9958a0ffa Add Stripe webhook to public api server 2022-08-02 09:26:46 -03:00
Christian Weichel
705c4603ab [public-api] Support ListWorkspace 2022-07-13 10:17:00 +02:00
Andrew Farries
c83333fc3a Add usage-api component
Add Placeholder .proto files and script to generate Go client/server
SDKs.

Adapted from the `public-api` component.
2022-07-08 16:25:55 +05:30