Skip to content

Commit 1f1df40

Browse files
committed
chore: add types and lint
1 parent 586a596 commit 1f1df40

File tree

28 files changed

+56918
-24748
lines changed

28 files changed

+56918
-24748
lines changed

extensions/export-user-data/demo/package-lock.json

Lines changed: 4483 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
import { initializeApp } from "firebase/app";
2-
import { getAuth } from "firebase/auth";
3-
import { getFirestore } from "firebase/firestore";
4-
import { getStorage } from "firebase/storage";
5-
import { getFunctions } from "firebase/functions";
1+
import { initializeApp } from 'firebase/app';
2+
import { getAuth } from 'firebase/auth';
3+
import { getFirestore } from 'firebase/firestore';
4+
import { getStorage } from 'firebase/storage';
5+
import { getFunctions } from 'firebase/functions';
66

77
const firebaseConfig = {
8-
apiKey: "AIzaSyA7qjG8LNbBPeHi1gJemos-Ryf8ph4M2vk",
9-
authDomain: "export-user-data-extension.firebaseapp.com",
10-
databaseURL: "https://export-user-data-extension-default-rtdb.firebaseio.com",
11-
projectId: "export-user-data-extension",
12-
storageBucket: "export-user-data-extension.appspot.com",
13-
messagingSenderId: "75119052956",
14-
appId: "1:75119052956:web:6ac6840dd4331536914559",
8+
apiKey: 'AIzaSyA7qjG8LNbBPeHi1gJemos-Ryf8ph4M2vk',
9+
authDomain: 'export-user-data-extension.firebaseapp.com',
10+
databaseURL: 'https://export-user-data-extension-default-rtdb.firebaseio.com',
11+
projectId: 'export-user-data-extension',
12+
storageBucket: 'export-user-data-extension.appspot.com',
13+
messagingSenderId: '75119052956',
14+
appId: '1:75119052956:web:6ac6840dd4331536914559',
1515
};
1616
export const app = initializeApp(firebaseConfig);
1717
export const auth = getAuth(app);
1818
export const firestore = getFirestore(app);
1919
export const storage = getStorage(app);
20-
export const functions = getFunctions(app, "us-central1");
20+
export const functions = getFunctions(app, 'us-central1');

extensions/export-user-data/demo/src/main.tsx

Lines changed: 43 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
import React, { useState } from 'react'
2-
import ReactDOM from 'react-dom/client'
3-
import { auth, firestore, functions, storage } from './firebase'
4-
import { signInAnonymously } from 'firebase/auth'
5-
import { httpsCallable } from 'firebase/functions'
6-
import { doc, onSnapshot } from 'firebase/firestore'
7-
import { listAll, ref, getDownloadURL, getBlob } from 'firebase/storage'
1+
import React, { useState } from 'react';
2+
import ReactDOM from 'react-dom/client';
3+
import { auth, firestore, functions, storage } from './firebase';
4+
import { signInAnonymously } from 'firebase/auth';
5+
import { httpsCallable } from 'firebase/functions';
6+
import { doc, onSnapshot } from 'firebase/firestore';
7+
import { listAll, ref, getDownloadURL } from 'firebase/storage';
88

9-
import styles from './styles.module.css'
9+
import styles from './styles.module.css';
1010

1111
// Ensure the user is signed in before showing the app.
1212
signInAnonymously(auth).then(() => {
13-
ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
13+
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
1414
<React.StrictMode>
1515
<App />
16-
</React.StrictMode>
16+
</React.StrictMode>,
1717
);
18-
})
18+
});
1919

2020
function App() {
2121
const [exporting, setExporting] = useState(false);
@@ -26,27 +26,30 @@ function App() {
2626
setExporting(true);
2727

2828
// Trigger the export.
29-
const result = await httpsCallable<void, { exportId: string }>(functions, `ext-export-user-data-${zip ? '' : 'rapy-'}exportUserData`)();
29+
const result = await httpsCallable<void, { exportId: string }>(
30+
functions,
31+
`ext-export-user-data-${zip ? '' : 'rapy-'}exportUserData`,
32+
)();
3033
// Get the returned export id.
3134
const exportId = result.data.exportId;
3235

3336
// Make a Firestore reference to the export.
3437
const documentRef = doc(firestore, 'exports', exportId);
3538

3639
// Listen for changes to the export - when complete returned the storage path of the export items.
37-
const { storagePath, zipPath } = await new Promise<{
40+
const { storagePath } = await new Promise<{
3841
storagePath: string;
3942
zipPath?: string;
4043
}>((resolve, reject) => {
41-
const unsubscribe = onSnapshot(documentRef, (snapshot) => {
44+
const unsubscribe = onSnapshot(documentRef, snapshot => {
4245
if (!snapshot.exists) {
4346
unsubscribe();
44-
return reject(new Error("Export document not found"));
47+
return reject(new Error('Export document not found'));
4548
}
4649

47-
const data = snapshot.data()!;
50+
const data = snapshot.data();
4851

49-
if (data.status === "complete") {
52+
if (data?.status === 'complete') {
5053
unsubscribe();
5154
return resolve({
5255
storagePath: data.storagePath,
@@ -78,8 +81,20 @@ function App() {
7881
return (
7982
<Container>
8083
<div className={styles.buttonContainer}>
81-
<button type={'button'} className={styles.btn} onClick={() => onExport({ zip: true })}>Start Export (zip enabled)</button>
82-
<button type={'button'} className={styles.btn} onClick={() => onExport({ zip: false })}>Start Export (zip disabled)</button>
84+
<button
85+
type={'button'}
86+
className={styles.btn}
87+
onClick={() => onExport({ zip: true })}
88+
>
89+
Start Export (zip enabled)
90+
</button>
91+
<button
92+
type={'button'}
93+
className={styles.btn}
94+
onClick={() => onExport({ zip: false })}
95+
>
96+
Start Export (zip disabled)
97+
</button>
8398
</div>
8499
</Container>
85100
);
@@ -96,13 +111,14 @@ function App() {
96111
return (
97112
<Container>
98113
<ol>
99-
{files!.map((file) => (
100-
<li key={file}>
101-
<span>{file}</span>
102-
<span>&nbsp; &nbsp;</span>
103-
<button onClick={() => onDownload(file)}>Download File</button>
104-
</li>
105-
))}
114+
{files &&
115+
files.map(file => (
116+
<li key={file}>
117+
<span>{file}</span>
118+
<span>&nbsp; &nbsp;</span>
119+
<button onClick={() => onDownload(file)}>Download File</button>
120+
</li>
121+
))}
106122
</ol>
107123
</Container>
108124
);
@@ -119,4 +135,4 @@ function Container(props: { children: React.ReactNode }) {
119135
<div>{props.children}</div>
120136
</div>
121137
);
122-
}
138+
}

extensions/export-user-data/demo/vite.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { defineConfig } from "vite";
2-
import react from "@vitejs/plugin-react";
1+
import { defineConfig } from 'vite';
2+
import react from '@vitejs/plugin-react';
33

44
// https://vitejs.dev/config/
55
export default defineConfig({

extensions/export-user-data/functions/__tests__/custom_hook/badResponse.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import {
2626
} from '../helpers';
2727
import setupEnvironment from '../helpers/setupEnvironment';
2828
import config from '../../src/config';
29-
import { fetchFromCustomHook } from '../../src/utils';
3029

3130
const fft = require('firebase-functions-test')();
3231

extensions/export-user-data/functions/__tests__/custom_hook/databasePaths.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,6 @@ import {
2727
} from '../helpers';
2828
import setupEnvironment from '../helpers/setupEnvironment';
2929
import config from '../../src/config';
30-
import fetch from 'node-fetch';
31-
import { fetchFromCustomHook } from '../../src/utils';
32-
import { Response, Headers } from 'node-fetch';
3330

3431
const fft = require('firebase-functions-test')();
3532

extensions/export-user-data/functions/__tests__/custom_hook/firestorePaths.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ import {
2626
} from '../helpers';
2727
import setupEnvironment from '../helpers/setupEnvironment';
2828
import config from '../../src/config';
29-
import fetch from 'node-fetch';
30-
import { fetchFromCustomHook } from '../../src/utils';
31-
import { Response, Headers } from 'node-fetch';
3229

3330
const fft = require('firebase-functions-test')();
3431

extensions/export-user-data/functions/__tests__/custom_hook/storagePaths.test.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,10 @@ import {
2222
generateFileInUserStorage,
2323
resetFirebaseData,
2424
validateCompleteRecord,
25-
validateCSVFile,
2625
validatePendingRecord,
2726
} from '../helpers';
2827
import setupEnvironment from '../helpers/setupEnvironment';
2928
import config from '../../src/config';
30-
import fetch from 'node-fetch';
31-
import { fetchFromCustomHook } from '../../src/utils';
32-
import { Response, Headers } from 'node-fetch';
3329

3430
const fft = require('firebase-functions-test')();
3531

extensions/export-user-data/functions/__tests__/database/topLevelCsv.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ import * as admin from 'firebase-admin';
1818
import waitForExpect from 'wait-for-expect';
1919
import { UserRecord } from 'firebase-functions/v1/auth';
2020
import {
21-
clearFirestore,
22-
clearStorage,
2321
createFirebaseUser,
2422
generateDatabaseNode,
2523
resetFirebaseData,

extensions/export-user-data/functions/__tests__/database/topLevelZip.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,9 @@
1515
*/
1616

1717
import * as admin from 'firebase-admin';
18-
import unzip from 'unzipper';
1918
import waitForExpect from 'wait-for-expect';
2019
import { UserRecord } from 'firebase-functions/v1/auth';
2120
import {
22-
clearFirestore,
23-
clearStorage,
2421
createFirebaseUser,
2522
generateDatabaseNode,
2623
resetFirebaseData,

0 commit comments

Comments
 (0)