@stevenkellner/team-conduct-api 1.0.36 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/src/firebase/FirebaseConfiguration.d.ts +45 -1
- package/lib/src/firebase/FirebaseConfiguration.js +44 -0
- package/lib/src/firebase/Firestore.d.ts +196 -0
- package/lib/src/firebase/Firestore.js +235 -0
- package/lib/src/{FirestoreScheme.d.ts → firebase/FirestoreScheme.d.ts} +15 -1
- package/lib/src/firebase/Messaging.d.ts +64 -0
- package/lib/src/firebase/checkAuthentication.d.ts +37 -0
- package/lib/src/{checkAuthentication.js → firebase/checkAuthentication.js} +26 -1
- package/lib/src/firebase/index.d.ts +4 -0
- package/lib/src/firebase/index.js +4 -0
- package/lib/src/firebase/pushNotification.d.ts +39 -0
- package/lib/src/firebase/pushNotification.js +88 -0
- package/lib/src/functions/fine/add.d.ts +10 -13
- package/lib/src/functions/fine/add.js +3 -30
- package/lib/src/functions/fine/delete.d.ts +10 -13
- package/lib/src/functions/fine/delete.js +3 -27
- package/lib/src/functions/fine/update.d.ts +10 -13
- package/lib/src/functions/fine/update.js +3 -28
- package/lib/src/functions/fineTemplate/add.d.ts +6 -9
- package/lib/src/functions/fineTemplate/add.js +3 -12
- package/lib/src/functions/fineTemplate/delete.d.ts +6 -9
- package/lib/src/functions/fineTemplate/delete.js +3 -12
- package/lib/src/functions/fineTemplate/update.d.ts +6 -9
- package/lib/src/functions/fineTemplate/update.js +3 -12
- package/lib/src/functions/invitation/getInvitation.d.ts +40 -43
- package/lib/src/functions/invitation/getInvitation.js +57 -88
- package/lib/src/functions/invitation/invite.d.ts +1 -2
- package/lib/src/functions/invitation/invite.js +3 -18
- package/lib/src/functions/invitation/register.d.ts +6 -11
- package/lib/src/functions/invitation/register.js +3 -39
- package/lib/src/functions/invitation/withdraw.d.ts +1 -2
- package/lib/src/functions/invitation/withdraw.js +3 -13
- package/lib/src/functions/notification/register.d.ts +7 -10
- package/lib/src/functions/notification/register.js +3 -15
- package/lib/src/functions/notification/subscribe.d.ts +8 -11
- package/lib/src/functions/notification/subscribe.js +3 -14
- package/lib/src/functions/paypalMe/edit.d.ts +6 -9
- package/lib/src/functions/paypalMe/edit.js +3 -14
- package/lib/src/functions/person/add.d.ts +7 -10
- package/lib/src/functions/person/add.js +3 -12
- package/lib/src/functions/person/delete.d.ts +6 -9
- package/lib/src/functions/person/delete.js +3 -14
- package/lib/src/functions/person/update.d.ts +7 -10
- package/lib/src/functions/person/update.js +3 -13
- package/lib/src/functions/team/new.d.ts +9 -12
- package/lib/src/functions/team/new.js +3 -22
- package/lib/src/functions/user/kickout.d.ts +6 -9
- package/lib/src/functions/user/kickout.js +3 -25
- package/lib/src/functions/user/login.d.ts +1 -2
- package/lib/src/functions/user/login.js +3 -13
- package/lib/src/functions/user/roleEdit.d.ts +8 -11
- package/lib/src/functions/user/roleEdit.js +3 -18
- package/lib/src/index.d.ts +0 -5
- package/lib/src/index.js +0 -5
- package/lib/src/locales/de.d.ts +10 -67
- package/lib/src/locales/de.js +8 -0
- package/lib/src/locales/en.d.ts +10 -0
- package/lib/src/locales/en.js +19 -2
- package/lib/src/types/Configuration.d.ts +33 -15
- package/lib/src/types/Configuration.js +24 -12
- package/lib/src/types/Currency.d.ts +20 -0
- package/lib/src/types/Currency.js +19 -0
- package/lib/src/types/Fine.d.ts +41 -0
- package/lib/src/types/Fine.js +32 -0
- package/lib/src/types/FineAmount.d.ts +160 -9
- package/lib/src/types/FineAmount.js +128 -7
- package/lib/src/types/FineTemplate.d.ts +41 -0
- package/lib/src/types/FineTemplate.js +32 -0
- package/lib/src/types/FineTemplateRepetition.d.ts +72 -10
- package/lib/src/types/FineTemplateRepetition.js +66 -12
- package/lib/src/types/Invitation.d.ts +48 -0
- package/lib/src/types/Invitation.js +39 -0
- package/lib/src/types/Locale.d.ts +16 -0
- package/lib/src/types/Locale.js +16 -0
- package/lib/src/types/Localization.d.ts +74 -74
- package/lib/src/types/Localization.js +80 -41
- package/lib/src/types/MoneyAmount.d.ts +67 -1
- package/lib/src/types/MoneyAmount.js +62 -0
- package/lib/src/types/NotificationProperties.d.ts +70 -9
- package/lib/src/types/NotificationProperties.js +49 -5
- package/lib/src/types/PayedState.d.ts +25 -9
- package/lib/src/types/PayedState.js +17 -27
- package/lib/src/types/Person.d.ts +45 -0
- package/lib/src/types/Person.js +36 -0
- package/lib/src/types/PersonPrivateProperties.d.ts +28 -0
- package/lib/src/types/PersonPrivateProperties.js +25 -0
- package/lib/src/types/PersonSignInProperties.d.ts +30 -0
- package/lib/src/types/PersonSignInProperties.js +27 -0
- package/lib/src/types/Pluralization.d.ts +46 -0
- package/lib/src/types/Pluralization.js +46 -0
- package/lib/src/types/Team.d.ts +38 -0
- package/lib/src/types/Team.js +29 -0
- package/lib/src/types/User.d.ts +68 -3
- package/lib/src/types/User.js +59 -5
- package/lib/src/types/UserRole.d.ts +26 -4
- package/lib/src/types/UserRole.js +25 -9
- package/lib/src/types/index.d.ts +2 -0
- package/lib/src/types/index.js +2 -0
- package/lib/test/firebase/FirebaseConfiguration.test.js +155 -0
- package/lib/test/firebase/Firestore.test.js +46 -0
- package/lib/test/firebase/checkAuthentication.test.d.ts +1 -0
- package/lib/test/firebase/checkAuthentication.test.js +305 -0
- package/lib/test/firebase/firebase-utils.d.ts +32 -0
- package/lib/test/firebase/firebase-utils.js +131 -0
- package/lib/test/firebase/pushNotification.test.d.ts +1 -0
- package/lib/test/firebase/pushNotification.test.js +300 -0
- package/lib/test/locales/localization.de.test.d.ts +1 -0
- package/lib/test/locales/localization.de.test.js +144 -0
- package/lib/test/locales/localization.en.test.d.ts +1 -0
- package/lib/test/locales/localization.en.test.js +144 -0
- package/lib/test/types/Configuration.test.d.ts +1 -0
- package/lib/test/types/Configuration.test.js +84 -0
- package/lib/test/types/Currency.test.d.ts +1 -0
- package/lib/test/types/Currency.test.js +41 -0
- package/lib/test/types/Fine.test.d.ts +1 -0
- package/lib/test/types/Fine.test.js +265 -0
- package/lib/test/types/FineAmount.test.d.ts +1 -0
- package/lib/test/types/FineAmount.test.js +445 -0
- package/lib/test/types/FineTemplate.test.d.ts +1 -0
- package/lib/test/types/FineTemplate.test.js +271 -0
- package/lib/test/types/FineTemplateRepetition.test.d.ts +1 -0
- package/lib/test/types/FineTemplateRepetition.test.js +361 -0
- package/lib/test/types/Invitation.test.d.ts +1 -0
- package/lib/test/types/Invitation.test.js +269 -0
- package/lib/test/types/Locale.test.d.ts +1 -0
- package/lib/test/types/Locale.test.js +46 -0
- package/lib/test/types/Localization.test.d.ts +1 -0
- package/lib/test/types/Localization.test.js +241 -0
- package/lib/test/types/MoneyAmount.test.d.ts +1 -0
- package/lib/test/types/MoneyAmount.test.js +276 -0
- package/lib/test/types/NotificationProperties.test.d.ts +1 -0
- package/lib/test/types/NotificationProperties.test.js +258 -0
- package/lib/test/types/PayedState.test.d.ts +1 -0
- package/lib/test/types/PayedState.test.js +105 -0
- package/lib/test/types/Person.test.d.ts +1 -0
- package/lib/test/types/Person.test.js +266 -0
- package/lib/test/types/PersonPrivateProperties.test.d.ts +1 -0
- package/lib/test/types/PersonPrivateProperties.test.js +155 -0
- package/lib/test/types/PersonSignInProperties.test.d.ts +1 -0
- package/lib/test/types/PersonSignInProperties.test.js +208 -0
- package/lib/test/types/Pluralization.test.d.ts +1 -0
- package/lib/test/types/Pluralization.test.js +206 -0
- package/lib/test/types/Team.test.d.ts +1 -0
- package/lib/test/types/Team.test.js +145 -0
- package/lib/test/types/User.test.d.ts +1 -0
- package/lib/test/types/User.test.js +232 -0
- package/lib/test/types/UserRole.test.d.ts +1 -0
- package/lib/test/types/UserRole.test.js +140 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -9
- package/src/firebase/FirebaseConfiguration.ts +49 -1
- package/src/firebase/Firestore.ts +248 -0
- package/src/{FirestoreScheme.ts → firebase/FirestoreScheme.ts} +15 -1
- package/src/firebase/Messaging.ts +64 -0
- package/src/{checkAuthentication.ts → firebase/checkAuthentication.ts} +39 -1
- package/src/firebase/index.ts +5 -0
- package/src/firebase/pushNotification.ts +90 -0
- package/src/functions/fine/add.ts +10 -48
- package/src/functions/fine/delete.ts +9 -43
- package/src/functions/fine/update.ts +10 -44
- package/src/functions/fineTemplate/add.ts +7 -23
- package/src/functions/fineTemplate/delete.ts +7 -23
- package/src/functions/fineTemplate/update.ts +7 -24
- package/src/functions/index.ts +0 -1
- package/src/functions/invitation/getInvitation.ts +81 -118
- package/src/functions/invitation/invite.ts +2 -25
- package/src/functions/invitation/register.ts +9 -60
- package/src/functions/invitation/withdraw.ts +2 -16
- package/src/functions/notification/register.ts +7 -26
- package/src/functions/notification/subscribe.ts +8 -26
- package/src/functions/paypalMe/edit.ts +7 -25
- package/src/functions/person/add.ts +8 -24
- package/src/functions/person/delete.ts +6 -25
- package/src/functions/person/update.ts +8 -25
- package/src/functions/team/new.ts +12 -42
- package/src/functions/user/kickout.ts +8 -41
- package/src/functions/user/login.ts +2 -16
- package/src/functions/user/roleEdit.ts +8 -32
- package/src/index.ts +0 -5
- package/src/locales/de.ts +10 -1
- package/src/locales/en.ts +21 -2
- package/src/types/Configuration.ts +33 -23
- package/src/types/Currency.ts +24 -0
- package/src/types/Fine.ts +41 -0
- package/src/types/FineAmount.ts +162 -11
- package/src/types/FineTemplate.ts +41 -0
- package/src/types/FineTemplateRepetition.ts +75 -17
- package/src/types/Invitation.ts +48 -0
- package/src/types/Locale.ts +20 -0
- package/src/types/Localization.ts +96 -41
- package/src/types/MoneyAmount.ts +67 -1
- package/src/types/NotificationProperties.ts +67 -9
- package/src/types/PayedState.ts +25 -30
- package/src/types/Person.ts +45 -0
- package/src/types/PersonPrivateProperties.ts +28 -1
- package/src/types/PersonSignInProperties.ts +30 -0
- package/src/types/Pluralization.ts +46 -0
- package/src/types/Team.ts +38 -0
- package/src/types/User.ts +70 -4
- package/src/types/UserRole.ts +32 -16
- package/src/types/index.ts +2 -0
- package/lib/src/Firestore.d.ts +0 -24
- package/lib/src/Firestore.js +0 -62
- package/lib/src/checkAuthentication.d.ts +0 -6
- package/lib/src/firebaseFunctionsContext.d.ts +0 -39
- package/lib/src/firebaseFunctionsContext.js +0 -43
- package/lib/src/pushNotification.d.ts +0 -3
- package/lib/src/pushNotification.js +0 -35
- package/lib/test/localization-utils.d.ts +0 -1
- package/lib/test/localization-utils.js +0 -24
- package/lib/test/localization.de.test.js +0 -151
- package/lib/test/localization.en.test.js +0 -145
- package/src/Firestore.ts +0 -75
- package/src/firebaseFunctionsContext.ts +0 -48
- package/src/pushNotification.ts +0 -37
- /package/lib/src/{FirestoreScheme.js → firebase/FirestoreScheme.js} +0 -0
- /package/lib/test/{localization.de.test.d.ts → firebase/FirebaseConfiguration.test.d.ts} +0 -0
- /package/lib/test/{localization.en.test.d.ts → firebase/Firestore.test.d.ts} +0 -0
|
@@ -1,55 +1,52 @@
|
|
|
1
1
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
2
2
|
import { Invitation, Person, PersonPrivateProperties, Team } from '../../types';
|
|
3
3
|
import { Flattable, ITypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
|
-
export declare class
|
|
4
|
+
export declare abstract class InvitationGetInvitationFunctionBase extends FirebaseFunction<Invitation.Id, InvitationGetInvitationFunctionReturnType> {
|
|
5
5
|
parametersBuilder: import("@stevenkellner/typescript-common-functionality").Tagged.TypeBuilder<string, "invitation">;
|
|
6
|
-
returnTypeBuilder:
|
|
7
|
-
execute(invitationId: Invitation.Id): Promise<InvitationGetInvitationFunction.ReturnType>;
|
|
6
|
+
returnTypeBuilder: InvitationGetInvitationFunctionReturnType.TypeBuilder;
|
|
8
7
|
}
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
export type PersonIdOrPersons = {
|
|
9
|
+
personId: Person.Id;
|
|
10
|
+
} | {
|
|
11
|
+
persons: {
|
|
12
|
+
id: Person.Id;
|
|
13
|
+
properties: PersonPrivateProperties;
|
|
14
|
+
}[];
|
|
15
|
+
};
|
|
16
|
+
export declare namespace PersonIdOrPersons {
|
|
17
|
+
type Flatten = {
|
|
18
|
+
personId: Person.Id.Flatten;
|
|
12
19
|
} | {
|
|
13
20
|
persons: {
|
|
14
|
-
id: Person.Id;
|
|
15
|
-
properties: PersonPrivateProperties;
|
|
21
|
+
id: Person.Id.Flatten;
|
|
22
|
+
properties: PersonPrivateProperties.Flatten;
|
|
16
23
|
}[];
|
|
17
24
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
}
|
|
26
|
+
export declare class InvitationGetInvitationFunctionReturnType implements Flattable<InvitationGetInvitationFunctionReturnType.Flatten> {
|
|
27
|
+
teamId: Team.Id;
|
|
28
|
+
teamName: string;
|
|
29
|
+
private personIdOrPersons;
|
|
30
|
+
private constructor();
|
|
31
|
+
static from(teamId: Team.Id, teamName: string, personId: Person.Id): InvitationGetInvitationFunctionReturnType;
|
|
32
|
+
static from(teamId: Team.Id, teamName: string, persons: {
|
|
33
|
+
id: Person.Id;
|
|
34
|
+
properties: PersonPrivateProperties;
|
|
35
|
+
}[]): InvitationGetInvitationFunctionReturnType;
|
|
36
|
+
get personId(): Person.Id | null;
|
|
37
|
+
get persons(): {
|
|
38
|
+
id: Person.Id;
|
|
39
|
+
properties: PersonPrivateProperties;
|
|
40
|
+
}[] | null;
|
|
41
|
+
get flatten(): InvitationGetInvitationFunctionReturnType.Flatten;
|
|
42
|
+
}
|
|
43
|
+
export declare namespace InvitationGetInvitationFunctionReturnType {
|
|
44
|
+
type Flatten = {
|
|
45
|
+
teamId: Team.Id.Flatten;
|
|
30
46
|
teamName: string;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
static from(teamId: Team.Id, teamName: string, persons: {
|
|
35
|
-
id: Person.Id;
|
|
36
|
-
properties: PersonPrivateProperties;
|
|
37
|
-
}[]): ReturnType;
|
|
38
|
-
get personId(): Person.Id | null;
|
|
39
|
-
get persons(): {
|
|
40
|
-
id: Person.Id;
|
|
41
|
-
properties: PersonPrivateProperties;
|
|
42
|
-
}[] | null;
|
|
43
|
-
get flatten(): ReturnType.Flatten;
|
|
44
|
-
}
|
|
45
|
-
namespace ReturnType {
|
|
46
|
-
type Flatten = {
|
|
47
|
-
teamId: Team.Id.Flatten;
|
|
48
|
-
teamName: string;
|
|
49
|
-
} & InvitationGetInvitationFunction.PersonIdOrPersons.Flatten;
|
|
50
|
-
class TypeBuilder implements ITypeBuilder<Flatten, ReturnType> {
|
|
51
|
-
build(value: Flatten): ReturnType;
|
|
52
|
-
}
|
|
53
|
-
const builder: TypeBuilder;
|
|
47
|
+
} & PersonIdOrPersons.Flatten;
|
|
48
|
+
class TypeBuilder implements ITypeBuilder<Flatten, InvitationGetInvitationFunctionReturnType> {
|
|
49
|
+
build(value: Flatten): InvitationGetInvitationFunctionReturnType;
|
|
54
50
|
}
|
|
51
|
+
const builder: TypeBuilder;
|
|
55
52
|
}
|
|
@@ -1,104 +1,73 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.InvitationGetInvitationFunctionReturnType = exports.InvitationGetInvitationFunctionBase = void 0;
|
|
4
4
|
const firebase_function_1 = require("@stevenkellner/firebase-function");
|
|
5
5
|
const types_1 = require("../../types");
|
|
6
|
-
|
|
7
|
-
const typescript_common_functionality_1 = require("@stevenkellner/typescript-common-functionality");
|
|
8
|
-
class InvitationGetInvitationFunction extends firebase_function_1.FirebaseFunction {
|
|
6
|
+
class InvitationGetInvitationFunctionBase extends firebase_function_1.FirebaseFunction {
|
|
9
7
|
parametersBuilder = types_1.Invitation.Id.builder;
|
|
10
|
-
returnTypeBuilder =
|
|
11
|
-
async execute(invitationId) {
|
|
12
|
-
if (this.userId === null)
|
|
13
|
-
throw new firebase_function_1.FunctionsError('unauthenticated', 'User not authenticated');
|
|
14
|
-
const invitationSnapshot = await Firestore_1.Firestore.shared.invitation(invitationId).snapshot();
|
|
15
|
-
if (!invitationSnapshot.exists)
|
|
16
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Invitation not found');
|
|
17
|
-
const invitation = types_1.Invitation.builder.build(invitationSnapshot.data);
|
|
18
|
-
const teamSnapshot = await Firestore_1.Firestore.shared.team(invitation.teamId).snapshot();
|
|
19
|
-
if (!teamSnapshot.exists)
|
|
20
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Team not found');
|
|
21
|
-
const team = types_1.Team.builder.build(teamSnapshot.data);
|
|
22
|
-
if (invitation.personId !== null)
|
|
23
|
-
return InvitationGetInvitationFunction.ReturnType.from(invitation.teamId, team.name, invitation.personId);
|
|
24
|
-
const personSnapshots = await Firestore_1.Firestore.shared.persons(invitation.teamId).documentSnapshots();
|
|
25
|
-
const persons = (0, typescript_common_functionality_1.compactMap)(personSnapshots, personSnapshot => {
|
|
26
|
-
if (!personSnapshot.exists)
|
|
27
|
-
return null;
|
|
28
|
-
const person = types_1.Person.builder.build(personSnapshot.data);
|
|
29
|
-
if (person.signInProperties !== null)
|
|
30
|
-
return null;
|
|
31
|
-
return {
|
|
32
|
-
id: person.id,
|
|
33
|
-
properties: person.properties
|
|
34
|
-
};
|
|
35
|
-
});
|
|
36
|
-
return InvitationGetInvitationFunction.ReturnType.from(invitation.teamId, team.name, persons);
|
|
37
|
-
}
|
|
8
|
+
returnTypeBuilder = InvitationGetInvitationFunctionReturnType.builder;
|
|
38
9
|
}
|
|
39
|
-
exports.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
persons: personIdOrPersons
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
return new ReturnType(teamId, teamName, {
|
|
57
|
-
personId: personIdOrPersons
|
|
10
|
+
exports.InvitationGetInvitationFunctionBase = InvitationGetInvitationFunctionBase;
|
|
11
|
+
class InvitationGetInvitationFunctionReturnType {
|
|
12
|
+
teamId;
|
|
13
|
+
teamName;
|
|
14
|
+
personIdOrPersons;
|
|
15
|
+
constructor(teamId, teamName, personIdOrPersons) {
|
|
16
|
+
this.teamId = teamId;
|
|
17
|
+
this.teamName = teamName;
|
|
18
|
+
this.personIdOrPersons = personIdOrPersons;
|
|
19
|
+
}
|
|
20
|
+
static from(teamId, teamName, personIdOrPersons) {
|
|
21
|
+
if (Array.isArray(personIdOrPersons)) {
|
|
22
|
+
return new InvitationGetInvitationFunctionReturnType(teamId, teamName, {
|
|
23
|
+
persons: personIdOrPersons
|
|
58
24
|
});
|
|
59
25
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
};
|
|
77
|
-
}
|
|
26
|
+
return new InvitationGetInvitationFunctionReturnType(teamId, teamName, {
|
|
27
|
+
personId: personIdOrPersons
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
get personId() {
|
|
31
|
+
if (!('personId' in this.personIdOrPersons))
|
|
32
|
+
return null;
|
|
33
|
+
return this.personIdOrPersons.personId;
|
|
34
|
+
}
|
|
35
|
+
get persons() {
|
|
36
|
+
if (!('persons' in this.personIdOrPersons))
|
|
37
|
+
return null;
|
|
38
|
+
return this.personIdOrPersons.persons;
|
|
39
|
+
}
|
|
40
|
+
get flatten() {
|
|
41
|
+
if ('personId' in this.personIdOrPersons) {
|
|
78
42
|
return {
|
|
79
43
|
teamId: this.teamId.flatten,
|
|
80
44
|
teamName: this.teamName,
|
|
81
|
-
|
|
82
|
-
id: person.id.flatten,
|
|
83
|
-
properties: person.properties.flatten
|
|
84
|
-
}))
|
|
45
|
+
personId: this.personIdOrPersons.personId.flatten
|
|
85
46
|
};
|
|
86
47
|
}
|
|
48
|
+
return {
|
|
49
|
+
teamId: this.teamId.flatten,
|
|
50
|
+
teamName: this.teamName,
|
|
51
|
+
persons: this.personIdOrPersons.persons.map(person => ({
|
|
52
|
+
id: person.id.flatten,
|
|
53
|
+
properties: person.properties.flatten
|
|
54
|
+
}))
|
|
55
|
+
};
|
|
87
56
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return ReturnType.from(types_1.Team.Id.builder.build(value.teamId), value.teamName, value.persons.map(person => ({
|
|
96
|
-
id: types_1.Person.Id.builder.build(person.id),
|
|
97
|
-
properties: types_1.PersonPrivateProperties.builder.build(person.properties)
|
|
98
|
-
})));
|
|
57
|
+
}
|
|
58
|
+
exports.InvitationGetInvitationFunctionReturnType = InvitationGetInvitationFunctionReturnType;
|
|
59
|
+
(function (InvitationGetInvitationFunctionReturnType) {
|
|
60
|
+
class TypeBuilder {
|
|
61
|
+
build(value) {
|
|
62
|
+
if ('personId' in value) {
|
|
63
|
+
return InvitationGetInvitationFunctionReturnType.from(types_1.Team.Id.builder.build(value.teamId), value.teamName, types_1.Person.Id.builder.build(value.personId));
|
|
99
64
|
}
|
|
65
|
+
return InvitationGetInvitationFunctionReturnType.from(types_1.Team.Id.builder.build(value.teamId), value.teamName, value.persons.map(person => ({
|
|
66
|
+
id: types_1.Person.Id.builder.build(person.id),
|
|
67
|
+
properties: types_1.PersonPrivateProperties.builder.build(person.properties)
|
|
68
|
+
})));
|
|
100
69
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
})(
|
|
70
|
+
}
|
|
71
|
+
InvitationGetInvitationFunctionReturnType.TypeBuilder = TypeBuilder;
|
|
72
|
+
InvitationGetInvitationFunctionReturnType.builder = new TypeBuilder();
|
|
73
|
+
})(InvitationGetInvitationFunctionReturnType || (exports.InvitationGetInvitationFunctionReturnType = InvitationGetInvitationFunctionReturnType = {}));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
2
2
|
import { Invitation } from '../../types';
|
|
3
|
-
export declare class
|
|
3
|
+
export declare abstract class InvitationInviteFunctionBase extends FirebaseFunction<Invitation, Invitation.Id> {
|
|
4
4
|
parametersBuilder: Invitation.TypeBuilder;
|
|
5
5
|
returnTypeBuilder: import("@stevenkellner/typescript-common-functionality").Tagged.TypeBuilder<string, "invitation">;
|
|
6
|
-
execute(invitation: Invitation): Promise<Invitation.Id>;
|
|
7
6
|
}
|
|
@@ -1,25 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.InvitationInviteFunctionBase = void 0;
|
|
4
4
|
const firebase_function_1 = require("@stevenkellner/firebase-function");
|
|
5
5
|
const types_1 = require("../../types");
|
|
6
|
-
|
|
7
|
-
const Firestore_1 = require("../../Firestore");
|
|
8
|
-
class InvitationInviteFunction extends firebase_function_1.FirebaseFunction {
|
|
6
|
+
class InvitationInviteFunctionBase extends firebase_function_1.FirebaseFunction {
|
|
9
7
|
parametersBuilder = types_1.Invitation.builder;
|
|
10
8
|
returnTypeBuilder = types_1.Invitation.Id.builder;
|
|
11
|
-
async execute(invitation) {
|
|
12
|
-
await (0, checkAuthentication_1.checkAuthentication)(this.userId, invitation.teamId, 'team-manager');
|
|
13
|
-
if (invitation.personId !== null) {
|
|
14
|
-
const personSnapshot = await Firestore_1.Firestore.shared.person(invitation.teamId, invitation.personId).snapshot();
|
|
15
|
-
if (!personSnapshot.exists)
|
|
16
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Person not found');
|
|
17
|
-
if (personSnapshot.data.signInProperties !== null)
|
|
18
|
-
throw new firebase_function_1.FunctionsError('already-exists', 'Person already has an account');
|
|
19
|
-
}
|
|
20
|
-
const invitationId = invitation.createId();
|
|
21
|
-
await Firestore_1.Firestore.shared.invitation(invitationId).set(invitation);
|
|
22
|
-
return invitationId;
|
|
23
|
-
}
|
|
24
9
|
}
|
|
25
|
-
exports.
|
|
10
|
+
exports.InvitationInviteFunctionBase = InvitationInviteFunctionBase;
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
2
2
|
import { Person, Team, User } from '../../types';
|
|
3
3
|
import { ObjectTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
export declare class InvitationRegisterFunction extends FirebaseFunction<InvitationRegisterFunction.Parameters, User> {
|
|
4
|
+
export type InvitationRegisterFunctionParameters = {
|
|
5
|
+
teamId: Team.Id;
|
|
6
|
+
personId: Person.Id;
|
|
7
|
+
};
|
|
8
|
+
export declare abstract class InvitationRegisterFunctionBase extends FirebaseFunction<InvitationRegisterFunctionParameters, User> {
|
|
11
9
|
parametersBuilder: ObjectTypeBuilder<{
|
|
12
10
|
teamId: string;
|
|
13
11
|
personId: string;
|
|
14
|
-
},
|
|
12
|
+
}, InvitationRegisterFunctionParameters>;
|
|
15
13
|
returnTypeBuilder: User.TypeBuilder;
|
|
16
|
-
execute(parameters: InvitationRegisterFunction.Parameters): Promise<User>;
|
|
17
|
-
private getUser;
|
|
18
|
-
private removeUserInvitation;
|
|
19
14
|
}
|
|
@@ -1,50 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.InvitationRegisterFunctionBase = void 0;
|
|
4
4
|
const firebase_function_1 = require("@stevenkellner/firebase-function");
|
|
5
5
|
const types_1 = require("../../types");
|
|
6
|
-
const Firestore_1 = require("../../Firestore");
|
|
7
6
|
const typescript_common_functionality_1 = require("@stevenkellner/typescript-common-functionality");
|
|
8
|
-
class
|
|
7
|
+
class InvitationRegisterFunctionBase extends firebase_function_1.FirebaseFunction {
|
|
9
8
|
parametersBuilder = new typescript_common_functionality_1.ObjectTypeBuilder({
|
|
10
9
|
teamId: types_1.Team.Id.builder,
|
|
11
10
|
personId: types_1.Person.Id.builder
|
|
12
11
|
});
|
|
13
12
|
returnTypeBuilder = types_1.User.builder;
|
|
14
|
-
async execute(parameters) {
|
|
15
|
-
if (this.userId === null)
|
|
16
|
-
throw new firebase_function_1.FunctionsError('unauthenticated', 'User not authenticated');
|
|
17
|
-
const userId = types_1.User.Id.builder.build(this.userId);
|
|
18
|
-
const user = await this.getUser(userId);
|
|
19
|
-
if (user.teams.has(parameters.teamId))
|
|
20
|
-
throw new firebase_function_1.FunctionsError('already-exists', 'User already in team');
|
|
21
|
-
const teamSnapshot = await Firestore_1.Firestore.shared.team(parameters.teamId).snapshot();
|
|
22
|
-
if (!teamSnapshot.exists)
|
|
23
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Team not found');
|
|
24
|
-
const team = types_1.Team.builder.build(teamSnapshot.data);
|
|
25
|
-
const personSnapshot = await Firestore_1.Firestore.shared.person(parameters.teamId, parameters.personId).snapshot();
|
|
26
|
-
if (!personSnapshot.exists)
|
|
27
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Person not found');
|
|
28
|
-
const person = types_1.Person.builder.build(personSnapshot.data);
|
|
29
|
-
if (person.signInProperties !== null)
|
|
30
|
-
throw new firebase_function_1.FunctionsError('already-exists', 'Person already registered');
|
|
31
|
-
await this.removeUserInvitation(parameters.teamId, parameters.personId);
|
|
32
|
-
user.teams.set(parameters.teamId, new types_1.User.TeamProperties(team.name, parameters.personId));
|
|
33
|
-
await Firestore_1.Firestore.shared.user(userId).set(user);
|
|
34
|
-
person.signInProperties = new types_1.PersonSignInProperties(userId, typescript_common_functionality_1.UtcDate.now);
|
|
35
|
-
await Firestore_1.Firestore.shared.person(parameters.teamId, parameters.personId).set(person);
|
|
36
|
-
return user;
|
|
37
|
-
}
|
|
38
|
-
async getUser(userId) {
|
|
39
|
-
const userSnapshot = await Firestore_1.Firestore.shared.user(userId).snapshot();
|
|
40
|
-
if (userSnapshot.exists)
|
|
41
|
-
return types_1.User.builder.build(userSnapshot.data);
|
|
42
|
-
return new types_1.User(userId);
|
|
43
|
-
}
|
|
44
|
-
async removeUserInvitation(teamId, personId) {
|
|
45
|
-
const invitation = new types_1.Invitation(teamId, personId);
|
|
46
|
-
const invitationId = invitation.createId();
|
|
47
|
-
await Firestore_1.Firestore.shared.invitation(invitationId).remove();
|
|
48
|
-
}
|
|
49
13
|
}
|
|
50
|
-
exports.
|
|
14
|
+
exports.InvitationRegisterFunctionBase = InvitationRegisterFunctionBase;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
2
2
|
import { Invitation } from '../../types';
|
|
3
3
|
import { ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
|
-
export declare class
|
|
4
|
+
export declare abstract class InvitationWithdrawFunctionBase extends FirebaseFunction<Invitation, void> {
|
|
5
5
|
parametersBuilder: Invitation.TypeBuilder;
|
|
6
6
|
returnTypeBuilder: ValueTypeBuilder<void>;
|
|
7
|
-
execute(invitation: Invitation): Promise<void>;
|
|
8
7
|
}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.InvitationWithdrawFunctionBase = void 0;
|
|
4
4
|
const firebase_function_1 = require("@stevenkellner/firebase-function");
|
|
5
5
|
const types_1 = require("../../types");
|
|
6
|
-
const checkAuthentication_1 = require("../../checkAuthentication");
|
|
7
|
-
const Firestore_1 = require("../../Firestore");
|
|
8
6
|
const typescript_common_functionality_1 = require("@stevenkellner/typescript-common-functionality");
|
|
9
|
-
class
|
|
7
|
+
class InvitationWithdrawFunctionBase extends firebase_function_1.FirebaseFunction {
|
|
10
8
|
parametersBuilder = types_1.Invitation.builder;
|
|
11
9
|
returnTypeBuilder = new typescript_common_functionality_1.ValueTypeBuilder();
|
|
12
|
-
async execute(invitation) {
|
|
13
|
-
await (0, checkAuthentication_1.checkAuthentication)(this.userId, invitation.teamId, 'team-manager');
|
|
14
|
-
const invitationId = invitation.createId();
|
|
15
|
-
const invitationSnapshot = await Firestore_1.Firestore.shared.invitation(invitationId).snapshot();
|
|
16
|
-
if (!invitationSnapshot.exists)
|
|
17
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Invitation not found');
|
|
18
|
-
await Firestore_1.Firestore.shared.invitation(invitationId).remove();
|
|
19
|
-
}
|
|
20
10
|
}
|
|
21
|
-
exports.
|
|
11
|
+
exports.InvitationWithdrawFunctionBase = InvitationWithdrawFunctionBase;
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
2
2
|
import { Person, Team } from '../../types';
|
|
3
3
|
import { ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
export declare class NotificationRegisterFunction extends FirebaseFunction<NotificationRegisterFunction.Parameters, void> {
|
|
4
|
+
export type NotificationRegisterFunctionParameters = {
|
|
5
|
+
teamId: Team.Id;
|
|
6
|
+
personId: Person.Id;
|
|
7
|
+
token: string;
|
|
8
|
+
};
|
|
9
|
+
export declare abstract class NotificationRegisterFunctionBase extends FirebaseFunction<NotificationRegisterFunctionParameters, void> {
|
|
12
10
|
parametersBuilder: ObjectTypeBuilder<{
|
|
13
11
|
teamId: string;
|
|
14
12
|
personId: string;
|
|
15
13
|
token: string;
|
|
16
|
-
},
|
|
14
|
+
}, NotificationRegisterFunctionParameters>;
|
|
17
15
|
returnTypeBuilder: ValueTypeBuilder<void>;
|
|
18
|
-
execute(parameters: NotificationRegisterFunction.Parameters): Promise<void>;
|
|
19
16
|
}
|
|
@@ -1,27 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const NotificationProperties_1 = require("../../types/NotificationProperties");
|
|
3
|
+
exports.NotificationRegisterFunctionBase = void 0;
|
|
5
4
|
const firebase_function_1 = require("@stevenkellner/firebase-function");
|
|
6
5
|
const types_1 = require("../../types");
|
|
7
6
|
const typescript_common_functionality_1 = require("@stevenkellner/typescript-common-functionality");
|
|
8
|
-
|
|
9
|
-
class NotificationRegisterFunction extends firebase_function_1.FirebaseFunction {
|
|
7
|
+
class NotificationRegisterFunctionBase extends firebase_function_1.FirebaseFunction {
|
|
10
8
|
parametersBuilder = new typescript_common_functionality_1.ObjectTypeBuilder({
|
|
11
9
|
teamId: types_1.Team.Id.builder,
|
|
12
10
|
personId: types_1.Person.Id.builder,
|
|
13
11
|
token: new typescript_common_functionality_1.ValueTypeBuilder()
|
|
14
12
|
});
|
|
15
13
|
returnTypeBuilder = new typescript_common_functionality_1.ValueTypeBuilder();
|
|
16
|
-
async execute(parameters) {
|
|
17
|
-
const personSnapshot = await Firestore_1.Firestore.shared.person(parameters.teamId, parameters.personId).snapshot();
|
|
18
|
-
if (!personSnapshot.exists)
|
|
19
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Person not found');
|
|
20
|
-
const person = types_1.Person.builder.build(personSnapshot.data);
|
|
21
|
-
if (person.signInProperties === null)
|
|
22
|
-
throw new firebase_function_1.FunctionsError('unauthenticated', 'Person not signed in');
|
|
23
|
-
person.signInProperties.notificationProperties.tokens.set(NotificationProperties_1.NotificationProperties.TokenId.create(parameters.token), parameters.token);
|
|
24
|
-
await Firestore_1.Firestore.shared.person(parameters.teamId, parameters.personId).set(person);
|
|
25
|
-
}
|
|
26
14
|
}
|
|
27
|
-
exports.
|
|
15
|
+
exports.NotificationRegisterFunctionBase = NotificationRegisterFunctionBase;
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
2
2
|
import { NotificationProperties, Person, Team } from '../../types';
|
|
3
3
|
import { ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
export declare class NotificationSubscribeFunction extends FirebaseFunction<NotificationSubscribeFunction.Parameters, void> {
|
|
4
|
+
export type NotificationSubscribeFunctionParameters = {
|
|
5
|
+
teamId: Team.Id;
|
|
6
|
+
personId: Person.Id;
|
|
7
|
+
subscriptions: NotificationProperties.Subscription[];
|
|
8
|
+
};
|
|
9
|
+
export declare abstract class NotificationSubscribeFunctionBase extends FirebaseFunction<NotificationSubscribeFunctionParameters, void> {
|
|
12
10
|
parametersBuilder: ObjectTypeBuilder<{
|
|
13
11
|
teamId: string;
|
|
14
12
|
personId: string;
|
|
15
|
-
subscriptions:
|
|
16
|
-
},
|
|
13
|
+
subscriptions: ("new-fine" | "fine-reminder" | "fine-state-change")[];
|
|
14
|
+
}, NotificationSubscribeFunctionParameters>;
|
|
17
15
|
returnTypeBuilder: ValueTypeBuilder<void>;
|
|
18
|
-
execute(parameters: NotificationSubscribeFunction.Parameters): Promise<void>;
|
|
19
16
|
}
|
|
@@ -1,26 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.NotificationSubscribeFunctionBase = void 0;
|
|
4
4
|
const firebase_function_1 = require("@stevenkellner/firebase-function");
|
|
5
5
|
const types_1 = require("../../types");
|
|
6
6
|
const typescript_common_functionality_1 = require("@stevenkellner/typescript-common-functionality");
|
|
7
|
-
|
|
8
|
-
class NotificationSubscribeFunction extends firebase_function_1.FirebaseFunction {
|
|
7
|
+
class NotificationSubscribeFunctionBase extends firebase_function_1.FirebaseFunction {
|
|
9
8
|
parametersBuilder = new typescript_common_functionality_1.ObjectTypeBuilder({
|
|
10
9
|
teamId: types_1.Team.Id.builder,
|
|
11
10
|
personId: types_1.Person.Id.builder,
|
|
12
11
|
subscriptions: new typescript_common_functionality_1.ArrayTypeBuilder(new typescript_common_functionality_1.ValueTypeBuilder())
|
|
13
12
|
});
|
|
14
13
|
returnTypeBuilder = new typescript_common_functionality_1.ValueTypeBuilder();
|
|
15
|
-
async execute(parameters) {
|
|
16
|
-
const personSnapshot = await Firestore_1.Firestore.shared.person(parameters.teamId, parameters.personId).snapshot();
|
|
17
|
-
if (!personSnapshot.exists)
|
|
18
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Person not found');
|
|
19
|
-
const person = types_1.Person.builder.build(personSnapshot.data);
|
|
20
|
-
if (person.signInProperties === null)
|
|
21
|
-
throw new firebase_function_1.FunctionsError('unauthenticated', 'Person not signed in');
|
|
22
|
-
person.signInProperties.notificationProperties.subscriptions = parameters.subscriptions;
|
|
23
|
-
await Firestore_1.Firestore.shared.person(parameters.teamId, parameters.personId).set(person);
|
|
24
|
-
}
|
|
25
14
|
}
|
|
26
|
-
exports.
|
|
15
|
+
exports.NotificationSubscribeFunctionBase = NotificationSubscribeFunctionBase;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
2
2
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
3
3
|
import { Team } from '../../types';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
export declare class PaypalMeEditFunction extends FirebaseFunction<PaypalMeEditFunction.Parameters, void> {
|
|
4
|
+
export type PaypalMeEditFunctionParameters = {
|
|
5
|
+
teamId: Team.Id;
|
|
6
|
+
paypalMeLink: string | null;
|
|
7
|
+
};
|
|
8
|
+
export declare abstract class PaypalMeEditFunctionBase extends FirebaseFunction<PaypalMeEditFunctionParameters, void> {
|
|
11
9
|
parametersBuilder: ObjectTypeBuilder<{
|
|
12
10
|
teamId: string;
|
|
13
11
|
paypalMeLink: string | null;
|
|
14
|
-
},
|
|
12
|
+
}, PaypalMeEditFunctionParameters>;
|
|
15
13
|
returnTypeBuilder: ValueTypeBuilder<void>;
|
|
16
|
-
execute(parameters: PaypalMeEditFunction.Parameters): Promise<void>;
|
|
17
14
|
}
|
|
@@ -1,25 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.PaypalMeEditFunctionBase = void 0;
|
|
4
4
|
const typescript_common_functionality_1 = require("@stevenkellner/typescript-common-functionality");
|
|
5
5
|
const firebase_function_1 = require("@stevenkellner/firebase-function");
|
|
6
6
|
const types_1 = require("../../types");
|
|
7
|
-
|
|
8
|
-
const Firestore_1 = require("../../Firestore");
|
|
9
|
-
class PaypalMeEditFunction extends firebase_function_1.FirebaseFunction {
|
|
7
|
+
class PaypalMeEditFunctionBase extends firebase_function_1.FirebaseFunction {
|
|
10
8
|
parametersBuilder = new typescript_common_functionality_1.ObjectTypeBuilder({
|
|
11
9
|
teamId: types_1.Team.Id.builder,
|
|
12
10
|
paypalMeLink: new typescript_common_functionality_1.ValueTypeBuilder()
|
|
13
11
|
});
|
|
14
12
|
returnTypeBuilder = new typescript_common_functionality_1.ValueTypeBuilder();
|
|
15
|
-
async execute(parameters) {
|
|
16
|
-
await (0, checkAuthentication_1.checkAuthentication)(this.userId, parameters.teamId, 'team-manager');
|
|
17
|
-
const teamSnapshot = await Firestore_1.Firestore.shared.team(parameters.teamId).snapshot();
|
|
18
|
-
if (!teamSnapshot.exists)
|
|
19
|
-
throw new firebase_function_1.FunctionsError('not-found', 'Team not found');
|
|
20
|
-
const team = types_1.Team.builder.build(teamSnapshot.data);
|
|
21
|
-
team.paypalMeLink = parameters.paypalMeLink;
|
|
22
|
-
await Firestore_1.Firestore.shared.team(parameters.teamId).set(team);
|
|
23
|
-
}
|
|
24
13
|
}
|
|
25
|
-
exports.
|
|
14
|
+
exports.PaypalMeEditFunctionBase = PaypalMeEditFunctionBase;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
2
2
|
import { Person, PersonPrivateProperties, Team } from '../../types';
|
|
3
3
|
import { ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
export declare class PersonAddFunction extends FirebaseFunction<PersonAddFunction.Parameters, void> {
|
|
4
|
+
export type PersonAddFunctionParameters = {
|
|
5
|
+
teamId: Team.Id;
|
|
6
|
+
id: Person.Id;
|
|
7
|
+
properties: PersonPrivateProperties;
|
|
8
|
+
};
|
|
9
|
+
export declare abstract class PersonAddFunctionBase extends FirebaseFunction<PersonAddFunctionParameters, void> {
|
|
12
10
|
parametersBuilder: ObjectTypeBuilder<{
|
|
13
11
|
teamId: string;
|
|
14
12
|
id: string;
|
|
@@ -16,7 +14,6 @@ export declare class PersonAddFunction extends FirebaseFunction<PersonAddFunctio
|
|
|
16
14
|
firstName: string;
|
|
17
15
|
lastName: string | null;
|
|
18
16
|
};
|
|
19
|
-
},
|
|
17
|
+
}, PersonAddFunctionParameters>;
|
|
20
18
|
returnTypeBuilder: ValueTypeBuilder<void>;
|
|
21
|
-
execute(parameters: PersonAddFunction.Parameters): Promise<void>;
|
|
22
19
|
}
|