Skip to content

Commit 6b2e613

Browse files
committed
Merge branch 'master' of https://github.com/FirebasePrivate/extensions into @salakar/feat/lerna
# Conflicts: # firestore-send-email/package-lock.json # rtdb-shorten-urls-bitly/package-lock.json # rtdb-translate-text/package-lock.json
2 parents b158a25 + ef20e43 commit 6b2e613

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+244
-9972
lines changed

.github/ISSUE_TEMPLATE/bug.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
name: ⚠️ Report a Bug
3+
about: Think you found a bug in an extension? Report it here.
4+
---
5+
6+
<!-- DO NOT DELETE
7+
validate_template=true
8+
template_path=.github/ISSUE_TEMPLATE/bug.md
9+
-->
10+
11+
### [READ] Step 1: Are you in the right place?
12+
13+
Issues filed here should be about bugs for a **specific extension in this repository**.
14+
If you have a general question, need help debugging, or fall into some
15+
other category use one of these other channels:
16+
17+
- For general technical questions, post a question on [StackOverflow](http://stackoverflow.com/)
18+
with the firebase tag.
19+
- For general Firebase discussion, use the [firebase-talk](https://groups.google.com/forum/#!forum/firebase-talk)
20+
google group.
21+
- To file a bug against the Firebase Extensions platform, or for an issue affecting multiple extensions, please reach out to
22+
[Firebase support](https://firebase.google.com/support/troubleshooter/contact/) directly.
23+
24+
### [REQUIRED] Step 2: Describe your configuration
25+
26+
- Extension name: **\_** (`storage-resize-images`, `firestore-send-email`, etc)
27+
- Configuration values (redact info where appropriate):
28+
- **\_**
29+
- **\_**
30+
31+
### [REQUIRED] Step 3: Describe the problem
32+
33+
#### Steps to reproduce:
34+
35+
What happened? How can we make the problem occur?
36+
This could be a description, [log/console output](https://firebase.google.com/docs/extensions/manage-installed-extensions#view-logs), etc.
37+
38+
##### Expected result
39+
40+
##### Actual result

.github/ISSUE_TEMPLATE/fr.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
name: 💡 Feature Request
3+
about: Have a feature you'd like to see in an extension? Request it here.
4+
---
5+
6+
<!-- DO NOT DELETE
7+
validate_template=true
8+
template_path=.github/ISSUE_TEMPLATE/fr.md
9+
-->
10+
11+
### [READ] Step 1: Are you in the right place?
12+
13+
Issues filed here should be about a feature request for a **specific extension in this repository**. To file a feature request that affects multiple extensions or the Firebase Extensions platform, please reach out to
14+
[Firebase support](https://firebase.google.com/support/troubleshooter/report/features/) directly.
15+
16+
### [REQUIRED] Step 2: Extension name
17+
18+
This feature request is for extension: **\_** (`storage-resize-images`, `firestore-send-email`, etc)
19+
20+
### What feature would you like to see?
21+
22+
Describe the feature you would like to add, or how you'd like to see the extension change.
23+
24+
### How would you use it?
25+
26+
Tell us how you'd use this feature in your app.

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
# Firebase Mods
1+
# Firebase Extensions
22

3-
This repository contains the source for Firebase Mods. Created and tested by Firebase, these official Firebase mods are reliable and secure. To learn more about Firebase Mods, including how to install them in your Firebase projects, visit the [Firebase documentation](https://firebase.google.com/docs/mods).
3+
This repository contains the source for Firebase Extensions. Created and tested by Firebase, these official Firebase extensions are reliable and secure. To learn more about Firebase Extensions, including how to install them in your Firebase projects, visit the [Firebase documentation](https://firebase.google.com/docs/extensions).
44

5-
Each directory in this repo contains the source code for a mod and a README to explain how the mod works, including information about the APIs enabled, resources created, and the access granted to the mod.
5+
Each directory in this repo contains the source code for the extension and a README to explain how the extension works, including information about the APIs enabled, resources created, and the access granted to the extension.
66

7-
When you find a mod that solves a need for your app or project, all you do is install and configure the mod. With mods, you don't spend time researching, writing, and debugging the code that implements functionality or automates a task for your app or project.
7+
When you find an extension that solves a need for your app or project, all you do is install and configure the extension. With extensions, you don't spend time researching, writing, and debugging the code that implements functionality or automates a task for your app or project.
88

9-
You can also browse official Firebase mods from the following sources:
10-
* [Firebase Mods product page](https://firebase.google.com/products/mods)
11-
* [Firebase Mods dashboard](https://console.firebase.google.com/project/_/mods/) in the Firebase console
9+
You can also browse official Firebase extensions from the following sources:
10+
* [Firebase Extensions product page](https://firebase.google.com/products/extensions)
11+
* [Firebase Extensions dashboard](https://console.firebase.google.com/project/_/extensions/) in the Firebase console

auth-mailchimp-sync/PREINSTALL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ You must also have a Mailchimp account before installing this extension.
1515
#### Billing
1616

1717
This extension uses other Firebase or Google Cloud Platform services which may have associated charges:
18+
1819
- Firebase Realtime Database
1920
- Cloud Functions
2021

auth-mailchimp-sync/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
* Audience ID: What is the Mailchimp Audience ID to which you want to subscribe new users? To find your Audience ID: visit https://admin.mailchimp.com/lists, click on the desired audience or create a new audience, then select **Settings**. Look for **Audience ID** (for example, `27735fc60a`).
1616

17-
* Contact status: When a new contact is added to the Mailchimp list/audience, what is their initial status? If the status is `subscribed` the contact can immediately receive campaigns. If the status is `pending`, a double opt-in confirmation email will be sent to the user. Once accepted they will be set to a `subscribed` status.
17+
* Contact status: When the extension adds a new user to the Mailchimp audience, what is their initial status? This value can be `subscribed` or `pending`. `subscribed` means the user can receive campaigns; `pending` means the user still needs to opt-in to receive campaigns.
1818

1919

2020

@@ -34,13 +34,13 @@ This extension adds the email address of each new user to your specified Mailchi
3434

3535
This extension uses Mailchimp, so you'll need to supply your Mailchimp API Key and Audience ID when installing this extension.
3636

37-
### Additional setup
37+
#### Additional setup
3838

3939
Make sure that you've set up [Firebase Authentication](https://firebase.google.com/docs/auth) to manage your users.
4040

4141
You must also have a Mailchimp account before installing this extension.
4242

43-
### Billing
43+
#### Billing
4444

4545
This extension uses other Firebase or Google Cloud Platform services which may have associated charges:
4646

delete-user-data/PREINSTALL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Also, make sure that you've set up [Firebase Authentication](https://firebase.go
1515
#### Billing
1616

1717
This extension uses other Firebase or Google Cloud Platform services which may have associated charges:
18+
1819
- Cloud Firestore
1920
- Firebase Realtime Database
2021
- Cloud Storage

delete-user-data/README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,25 @@
88

99
**CONFIGURATION PARAMETERS:**
1010

11-
* Deployment location: *Where should the extension be deployed? You usually want a location close to your database. For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations#selecting_regions_for_firestore_and_storage).*
11+
* Deployment location: Where should the extension be deployed? You usually want a location close to your database. For help selecting a location, refer to the [location selection guide](https://firebase.google.com/docs/functions/locations#selecting_regions_for_firestore_and_storage).
1212

13-
* Cloud Firestore paths: *Which paths in your Cloud Firestore instance contain user data? Leave empty if you don't use Cloud Firestore.
13+
* Cloud Firestore paths: Which paths in your Cloud Firestore instance contain user data? Leave empty if you don't use Cloud Firestore.
1414
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`.
15-
For example, if you have the collections `users` and `admins`, and each collection has documents with User ID as document IDs, then you can enter `users/{UID},admins/{UID}`.*
15+
For example, if you have the collections `users` and `admins`, and each collection has documents with User ID as document IDs, then you can enter `users/{UID},admins/{UID}`.
1616

17-
* Realtime Database paths: *Which paths in your Realtime Database instance contain user data? Leave empty if you don't use Realtime Database.
17+
* Realtime Database paths: Which paths in your Realtime Database instance contain user data? Leave empty if you don't use Realtime Database.
1818
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`.
19-
For example: `users/{UID},admins/{UID}`.*
19+
For example: `users/{UID},admins/{UID}`.
2020

21-
* Cloud Storage paths: *Where in Google Cloud Storage do you store user data? Leave empty if you don't use Cloud Storage.
21+
* Cloud Storage paths: Where in Google Cloud Storage do you store user data? Leave empty if you don't use Cloud Storage.
2222
Enter the full paths, separated by commas. You can represent the User ID of the deleted user with `{UID}`. You can use `{DEFAULT}` to represent your default bucket.
23-
For example, if you are using your default bucket, and the bucket has files with the naming scheme `{UID}-pic.png`, then you can enter `{DEFAULT}/{UID}-pic.png`. If you also have files in another bucket called `my-awesome-app-logs`, and that bucket has files with the naming scheme `{UID}-logs.txt`, then you can enter `{DEFAULT}/{UID}-pic.png,my-awesome-app-logs/{UID}-logs.txt`.*
23+
For example, if you are using your default bucket, and the bucket has files with the naming scheme `{UID}-pic.png`, then you can enter `{DEFAULT}/{UID}-pic.png`. If you also have files in another bucket called `my-awesome-app-logs`, and that bucket has files with the naming scheme `{UID}-logs.txt`, then you can enter `{DEFAULT}/{UID}-pic.png,my-awesome-app-logs/{UID}-logs.txt`.
2424

2525

2626

27-
**NON-CLOUD FUNCTION RESOURCES CREATED**:
27+
**CLOUD FUNCTIONS CREATED:**
2828

29-
* clearData (firebaseextensions.v1beta.function)
29+
* clearData (providers/firebase.auth/eventTypes/user.delete)
3030

3131

3232

@@ -38,13 +38,13 @@ You can configure this extension to delete user data from any or all of the foll
3838

3939
This extension is useful in respecting user privacy and fulfilling compliance requirements. However, using this extension does not guarantee compliance with government and industry regulations.
4040

41-
### Additional setup
41+
#### Additional setup
4242

4343
Depending on where you'd like to delete user data from, make sure that you've set up [Cloud Firestore](https://firebase.google.com/docs/firestore), [Realtime Database](https://firebase.google.com/docs/database), or [Cloud Storage](https://firebase.google.com/docs/storage) in your Firebase project before installing this extension.
4444

4545
Also, make sure that you've set up [Firebase Authentication](https://firebase.google.com/docs/auth) to manage your users.
4646

47-
### Billing
47+
#### Billing
4848

4949
This extension uses other Firebase or Google Cloud Platform services which may have associated charges:
5050

delete-user-data/extension.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,6 @@ params:
9090
label: Cloud Firestore paths
9191
example: users/{UID},admins/{UID}
9292
required: false
93-
validationRegex: '^[^/]+(/[^/]+)*$'
94-
validationErrorMessage: Must be a valid Cloud Firestore path.
9593
description: >-
9694
Which paths in your Cloud Firestore instance contain user data? Leave empty if
9795
you don't use Cloud Firestore.
@@ -106,8 +104,6 @@ params:
106104
label: Realtime Database paths
107105
example: users/{UID},admins/{UID}
108106
required: false
109-
validationRegex: '^[^\s.#$[\]]+$'
110-
validationErrorMessage: Database path(s) contains spaces and/or invalid characters.
111107
description: >-
112108
Which paths in your Realtime Database instance contain user data? Leave empty if you
113109
don't use Realtime Database.
@@ -121,8 +117,6 @@ params:
121117
label: Cloud Storage paths
122118
example: "{DEFAULT}/{UID}-pic.png,my-awesome-app-logs/{UID}-logs.txt"
123119
required: false
124-
validationRegex: '^\S+$'
125-
validationErrorMessage: Invalid Storage path.
126120
description: >-
127121
Where in Google Cloud Storage do you store user data? Leave empty if you
128122
don't use Cloud Storage.

exts-test-data/README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
# Mods Test Data
1+
# Extensions Test Data
22

3-
This package will populate some test data for the following mods:
3+
This package will populate some test data for the following extensions:
44

5-
- firestore-recursive-delete
6-
- user-data-deletion
5+
- delete-user-data
76

87
To run the package, you'll need:
98

exts-test-data/index.ts

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -82,22 +82,12 @@ const uploadFile = async (
8282
console.log(`Uploaded file to path: '${bucketPath}/${destinationPath}'`);
8383
};
8484

85-
const populateFirestoreRecursiveDeleteData = async (): Promise<void> => {
86-
console.log("---------------------------------------------------------");
87-
console.log("Populating data for firestore-recursive-delete");
88-
console.log("---------------------------------------------------------");
89-
await createFirestoreDocument("nested/doc");
90-
await createFirestoreDocument("nested/doc/path/doc");
91-
console.log("Created nested collection in Firestore under path: '/nested'");
92-
console.log();
93-
};
94-
9585
const populateUserDataDeletionData = async (
9686
projectId: string
9787
): Promise<void> => {
9888
// delete-user-data
9989
console.log("---------------------------------------------------------");
100-
console.log("Populating data for firestore-recursive-delete");
90+
console.log("Populating data for delete-user-data");
10191
console.log("---------------------------------------------------------");
10292
// 1) Create some users
10393
await createUser("1", "User 1");
@@ -129,20 +119,19 @@ const run = async (): Promise<void> => {
129119
databaseURL: `https://${projectId}.firebaseio.com`,
130120
});
131121

132-
await populateFirestoreRecursiveDeleteData();
133122
await populateUserDataDeletionData(projectId);
134123
};
135124

136125
run()
137126
.then(() => {
138127
console.log("---------------------------------------------------------");
139-
console.log("Finished creating mods test data");
128+
console.log("Finished creating extensions test data");
140129
console.log("---------------------------------------------------------");
141130
process.exit();
142131
})
143132
.catch((error) => {
144133
console.log("---------------------------------------------------------");
145-
console.error("Error creating mods test data:");
134+
console.error("Error creating extensions test data:");
146135
console.error(error);
147136
console.log("---------------------------------------------------------");
148137
process.exit();

0 commit comments

Comments
 (0)