Skip to content

Commit 22d2d69

Browse files
committed
Changed functions constructor
1 parent 2542749 commit 22d2d69

File tree

7 files changed

+22
-10
lines changed

7 files changed

+22
-10
lines changed

.mocharc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ module.exports = {
1212
'test/firebaseProject/**/*.ts'
1313
],
1414
slow: 75,
15-
timeout: 5000,
15+
timeout: 30000,
1616
ui: 'bdd',
1717
'watch-files': [
1818
'test/**/*.test.ts'

src/admin/functions/FirebaseFunction.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,20 @@ export abstract class FirebaseFunction<Parameters, ReturnType> {
1111

1212
protected logger = new Logger(new FunctionsLogger());
1313

14+
public userId: string | null = null;
15+
1416
public abstract parametersBuilder: ITypeBuilder<Flattable.Flatten<Parameters>, Parameters>;
1517

18+
protected constructor(functionName: string) {
19+
this.logger.notice(`${functionName}.constructor`);
20+
}
21+
1622
public abstract execute(parameters: Parameters): Promise<ReturnType>;
1723
}
1824

1925
export namespace FirebaseFunction {
2026

21-
export type Constructor<Parameters, ReturnType> = new (userId: string | null) => FirebaseFunction<Parameters, ReturnType>;
27+
export type Constructor<Parameters, ReturnType> = new () => FirebaseFunction<Parameters, ReturnType>;
2228

2329
export class ConstructorWrapper<Parameters, ReturnType> {
2430

@@ -45,7 +51,8 @@ export namespace FirebaseFunction {
4551
throw new FunctionsError('failed-precondition', 'Invalid MAC tag');
4652

4753
const userId = request.auth !== undefined ? request.auth.uid : null;
48-
const firebaseFunction = new FirebaseFunction(userId);
54+
const firebaseFunction = new FirebaseFunction();
55+
firebaseFunction.userId = userId;
4956
const parameters = firebaseFunction.parametersBuilder.build(request.data.parameters);
5057
return firebaseFunction.execute(parameters);
5158
});

src/admin/functions/FirebaseRequest.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ export abstract class FirebaseRequest<Parameters, ReturnType> {
1212

1313
public abstract parametersBuilder: ITypeBuilder<Flattable.Flatten<Parameters>, Parameters>;
1414

15+
protected constructor(requestName: string) {
16+
this.logger.notice(`${requestName}.constructor`);
17+
}
18+
1519
public abstract execute(parameters: Parameters): Promise<ReturnType>;
1620
}
1721

src/admin/functions/FirebaseSchedule.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ export abstract class FirebaseSchedule {
88

99
protected logger = new Logger(new FunctionsLogger());
1010

11+
protected constructor(scheduleName: string) {
12+
this.logger.notice(`${scheduleName}.constructor`);
13+
}
14+
1115
public abstract execute(): Promise<void>;
1216
}
1317

test/firebaseProject/functions/src/FirebaseFunction.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ export class TestFirebaseFunction extends FirebaseFunction<TestParameters, TestR
1111
v3: SubParameter.typeBuilder,
1212
});
1313

14-
public constructor(userId: string | null) {
15-
super();
16-
this.logger.notice("TestFirebaseFunction.constructor");
14+
public constructor() {
15+
super("TestFirebaseFunction");
1716
}
1817

1918
public async execute(parameters: TestParameters): Promise<TestReturnType> {

test/firebaseProject/functions/src/FirebaseRequest.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ export class TestFirebaseRequest extends FirebaseRequest<TestParameters, TestRet
1212
});
1313

1414
public constructor() {
15-
super();
16-
this.logger.notice("TestFirebaseFunction.constructor");
15+
super("TestFirebaseFunction");
1716
}
1817

1918
public async execute(parameters: TestParameters): Promise<TestReturnType> {

test/firebaseProject/functions/src/FirebaseSchedule.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ import { FirebaseSchedule } from "../../../../lib/admin";
33
export class TestFirebaseSchedule extends FirebaseSchedule {
44

55
public constructor() {
6-
super();
7-
this.logger.notice("TestFirebaseSchedule.constructor");
6+
super("TestFirebaseSchedule");
87
}
98

109
public async execute(): Promise<void> {

0 commit comments

Comments
 (0)