-
Notifications
You must be signed in to change notification settings - Fork 0
/
extension.yaml
89 lines (76 loc) · 2.54 KB
/
extension.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
name: chatkitty
version: 1.1.0
specVersion: v1beta
license: Apache-2.0
displayName: ChatKitty
description: >-
ChatKitty is a complete chat platform you can use to build real-time chat features in your app.
icon: icon.png
tags: [ chat, messaging, chatkitty ]
author:
authorName: ChatKitty, Inc.
email: [email protected]
url: https://chatkitty.com
sourceUrl: https://github.com/chatkitty/chatkitty-firebase-extension
releaseNotesUrl: https://github.com/chatkitty/chatkitty-firebase-extension/blob/main/CHANGELOG.md
externalServices:
- name: ChatKitty API
pricingUri: https://chatkitty.com/pricing
apis:
- apiName: iam.googleapis.com
reason: Required to sync ChatKitty users with Firebase users.
roles:
- role: firebaseauth.viewer
reason: Required to list Firebase users to sync with ChatKitty users.
billingRequired: true
resources:
- name: syncApplication
type: firebaseextensions.v1beta.function
description: >-
Syncs your ChatKitty application with your Firebase project.
properties:
runtime: nodejs18
taskQueueTrigger: {}
- name: handleCreateUser
type: firebaseextensions.v1beta.function
description: >-
Listens for user accounts to be created in your Firebase project and creates a ChatKitty user for each new user.
properties:
runtime: nodejs18
eventTrigger:
eventType: providers/firebase.auth/eventTypes/user.create
resource: projects/${PROJECT_ID}
- name: handleDeleteUser
type: firebaseextensions.v1beta.function
description: >-
Listens for user accounts to be deleted in your Firebase project and deletes the corresponding ChatKitty user.
properties:
runtime: nodejs18
eventTrigger:
eventType: providers/firebase.auth/eventTypes/user.delete
resource: projects/${PROJECT_ID}
lifecycleEvents:
onInstall:
function: syncApplication
processingMessage: Syncing ChatKitty application...
onUpdate:
function: syncApplication
processingMessage: Syncing ChatKitty application...
onConfigure:
function: syncApplication
processingMessage: Syncing ChatKitty application...
params:
- param: CLIENT_ID
label: ChatKitty Client ID
description: >-
Your ChatKitty Client ID. You can find this in your ChatKitty console.
type: string
required: true
immutable: true
- param: CLIENT_SECRET
label: ChatKitty Client Secret
description: >-
Your ChatKitty Client Secret. You can find this in your ChatKitty console.
type: secret
required: true
immutable: true