@stevenkellner/team-conduct-api 2.0.2 → 2.0.4
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/functions/fine/add.d.ts +10 -8
- package/lib/src/functions/fine/add.js +3 -4
- package/lib/src/functions/fine/delete.d.ts +10 -8
- package/lib/src/functions/fine/delete.js +3 -4
- package/lib/src/functions/fine/update.d.ts +10 -8
- package/lib/src/functions/fine/update.js +3 -4
- package/lib/src/functions/fineTemplate/add.d.ts +8 -6
- package/lib/src/functions/fineTemplate/add.js +3 -4
- package/lib/src/functions/fineTemplate/delete.d.ts +8 -6
- package/lib/src/functions/fineTemplate/delete.js +3 -4
- package/lib/src/functions/fineTemplate/update.d.ts +8 -6
- package/lib/src/functions/fineTemplate/update.js +3 -4
- package/lib/src/functions/firebaseFunctionsContext.d.ts +39 -0
- package/lib/src/functions/firebaseFunctionsContext.js +43 -0
- package/lib/src/functions/index.d.ts +1 -0
- package/lib/src/functions/index.js +1 -0
- package/lib/src/functions/invitation/getInvitation.d.ts +42 -40
- package/lib/src/functions/invitation/getInvitation.js +59 -58
- package/lib/src/functions/invitation/invite.d.ts +1 -1
- package/lib/src/functions/invitation/invite.js +3 -4
- package/lib/src/functions/invitation/register.d.ts +8 -6
- package/lib/src/functions/invitation/register.js +3 -4
- package/lib/src/functions/invitation/withdraw.d.ts +1 -1
- package/lib/src/functions/invitation/withdraw.js +3 -4
- package/lib/src/functions/notification/register.d.ts +9 -7
- package/lib/src/functions/notification/register.js +3 -4
- package/lib/src/functions/notification/subscribe.d.ts +9 -7
- package/lib/src/functions/notification/subscribe.js +3 -4
- package/lib/src/functions/paypalMe/edit.d.ts +8 -6
- package/lib/src/functions/paypalMe/edit.js +3 -4
- package/lib/src/functions/person/add.d.ts +9 -7
- package/lib/src/functions/person/add.js +3 -4
- package/lib/src/functions/person/delete.d.ts +8 -6
- package/lib/src/functions/person/delete.js +3 -4
- package/lib/src/functions/person/update.d.ts +9 -7
- package/lib/src/functions/person/update.js +3 -4
- package/lib/src/functions/team/new.d.ts +11 -9
- package/lib/src/functions/team/new.js +3 -4
- package/lib/src/functions/user/kickout.d.ts +8 -6
- package/lib/src/functions/user/kickout.js +3 -4
- package/lib/src/functions/user/login.d.ts +1 -1
- package/lib/src/functions/user/login.js +3 -4
- package/lib/src/functions/user/roleEdit.d.ts +9 -7
- package/lib/src/functions/user/roleEdit.js +3 -4
- package/lib/src/types/PayedState.d.ts +7 -0
- package/lib/src/types/PayedState.js +15 -0
- package/lib/test/types/PayedState.test.js +31 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/functions/fine/add.ts +10 -8
- package/src/functions/fine/delete.ts +10 -7
- package/src/functions/fine/update.ts +11 -8
- package/src/functions/fineTemplate/add.ts +9 -6
- package/src/functions/fineTemplate/delete.ts +9 -6
- package/src/functions/fineTemplate/update.ts +9 -5
- package/src/functions/firebaseFunctionsContext.ts +48 -0
- package/src/functions/index.ts +1 -0
- package/src/functions/invitation/getInvitation.ts +82 -79
- package/src/functions/invitation/invite.ts +1 -1
- package/src/functions/invitation/register.ts +9 -6
- package/src/functions/invitation/withdraw.ts +1 -1
- package/src/functions/notification/register.ts +9 -6
- package/src/functions/notification/subscribe.ts +10 -7
- package/src/functions/paypalMe/edit.ts +9 -6
- package/src/functions/person/add.ts +10 -7
- package/src/functions/person/delete.ts +8 -5
- package/src/functions/person/update.ts +10 -7
- package/src/functions/team/new.ts +12 -9
- package/src/functions/user/kickout.ts +8 -6
- package/src/functions/user/login.ts +1 -1
- package/src/functions/user/roleEdit.ts +10 -7
- package/src/types/PayedState.ts +15 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stevenkellner/team-conduct-api",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "Firebase API for Team Conduct",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Steven Kellner",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"release": "npm run rebuild && npm run lint && npm version patch && git push --follow-tags"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@stevenkellner/firebase-function": "^1.4.
|
|
25
|
+
"@stevenkellner/firebase-function": "^1.4.142",
|
|
26
26
|
"@stevenkellner/typescript-common-functionality": "^1.0.61"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
@@ -2,16 +2,18 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
3
3
|
import { Configuration, Fine, Person, Team } from '../../types';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
teamId: Team.Id,
|
|
7
|
-
personId: Person.Id,
|
|
8
|
-
fine: Fine,
|
|
9
|
-
configuration: Configuration
|
|
10
|
-
};
|
|
5
|
+
export namespace FineAddFunction {
|
|
11
6
|
|
|
12
|
-
export
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
personId: Person.Id,
|
|
10
|
+
fine: Fine,
|
|
11
|
+
configuration: Configuration
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export class FineAddFunction implements FirebaseFunction<FineAddFunction.Parameters, void> {
|
|
13
15
|
|
|
14
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
16
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<FineAddFunction.Parameters>, FineAddFunction.Parameters>({
|
|
15
17
|
teamId: Team.Id.builder,
|
|
16
18
|
personId: Person.Id.builder,
|
|
17
19
|
fine: Fine.builder,
|
|
@@ -2,16 +2,19 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { Configuration, Fine, Person, Team } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
export namespace FineDeleteFunction {
|
|
6
|
+
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
personId: Person.Id,
|
|
10
|
+
id: Fine.Id,
|
|
11
|
+
configuration: Configuration
|
|
12
|
+
}
|
|
10
13
|
}
|
|
11
14
|
|
|
12
|
-
export
|
|
15
|
+
export class FineDeleteFunction implements FirebaseFunction<FineDeleteFunction.Parameters, void> {
|
|
13
16
|
|
|
14
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
17
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<FineDeleteFunction.Parameters>, FineDeleteFunction.Parameters>({
|
|
15
18
|
teamId: Team.Id.builder,
|
|
16
19
|
personId: Person.Id.builder,
|
|
17
20
|
id: Fine.Id.builder,
|
|
@@ -3,16 +3,19 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
3
3
|
import { Fine, Person, Team } from '../../types';
|
|
4
4
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
5
5
|
|
|
6
|
-
export
|
|
7
|
-
teamId: Team.Id,
|
|
8
|
-
personId: Person.Id,
|
|
9
|
-
fine: Fine,
|
|
10
|
-
configuration: Configuration
|
|
11
|
-
};
|
|
6
|
+
export namespace FineUpdateFunction {
|
|
12
7
|
|
|
13
|
-
export
|
|
8
|
+
export type Parameters = {
|
|
9
|
+
teamId: Team.Id,
|
|
10
|
+
personId: Person.Id,
|
|
11
|
+
fine: Fine,
|
|
12
|
+
configuration: Configuration
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export class FineUpdateFunction implements FirebaseFunction<FineUpdateFunction.Parameters, void> {
|
|
14
17
|
|
|
15
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
18
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<FineUpdateFunction.Parameters>, FineUpdateFunction.Parameters>({
|
|
16
19
|
teamId: Team.Id.builder,
|
|
17
20
|
personId: Person.Id.builder,
|
|
18
21
|
fine: Fine.builder,
|
|
@@ -2,14 +2,17 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { FineTemplate, Team } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
teamId: Team.Id,
|
|
7
|
-
fineTemplate: FineTemplate
|
|
8
|
-
};
|
|
5
|
+
export namespace FineTemplateAddFunction {
|
|
9
6
|
|
|
10
|
-
export
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
fineTemplate: FineTemplate
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class FineTemplateAddFunction implements FirebaseFunction<FineTemplateAddFunction.Parameters, void> {
|
|
11
14
|
|
|
12
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
15
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<FineTemplateAddFunction.Parameters>, FineTemplateAddFunction.Parameters>({
|
|
13
16
|
teamId: Team.Id.builder,
|
|
14
17
|
fineTemplate: FineTemplate.builder
|
|
15
18
|
});
|
|
@@ -2,14 +2,17 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { FineTemplate, Team } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
teamId: Team.Id,
|
|
7
|
-
id: FineTemplate.Id
|
|
8
|
-
};
|
|
5
|
+
export namespace FineTemplateDeleteFunction {
|
|
9
6
|
|
|
10
|
-
export
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
id: FineTemplate.Id
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class FineTemplateDeleteFunction implements FirebaseFunction<FineTemplateDeleteFunction.Parameters, void> {
|
|
11
14
|
|
|
12
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
15
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<FineTemplateDeleteFunction.Parameters>, FineTemplateDeleteFunction.Parameters>({
|
|
13
16
|
teamId: Team.Id.builder,
|
|
14
17
|
id: FineTemplate.Id.builder
|
|
15
18
|
});
|
|
@@ -2,13 +2,17 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { FineTemplate, Team } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export namespace FineTemplateUpdateFunction {
|
|
6
|
+
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
fineTemplate: FineTemplate
|
|
8
10
|
};
|
|
9
|
-
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class FineTemplateUpdateFunction implements FirebaseFunction<FineTemplateUpdateFunction.Parameters, void> {
|
|
10
14
|
|
|
11
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
15
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<FineTemplateUpdateFunction.Parameters>, FineTemplateUpdateFunction.Parameters>({
|
|
12
16
|
teamId: Team.Id.builder,
|
|
13
17
|
fineTemplate: FineTemplate.builder
|
|
14
18
|
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { FirebaseFunctionsContext } from '@stevenkellner/firebase-function';
|
|
2
|
+
import { TeamNewFunction,
|
|
3
|
+
UserKickoutFunction, UserLoginFunction, UserRoleEditFunction,
|
|
4
|
+
PaypalMeEditFunction, NotificationRegisterFunction, NotificationSubscribeFunction,
|
|
5
|
+
InvitationInviteFunction, InvitationWithdrawFunction, InvitationGetInvitationFunction, InvitationRegisterFunction,
|
|
6
|
+
PersonAddFunction, PersonDeleteFunction, PersonUpdateFunction,
|
|
7
|
+
FineTemplateAddFunction, FineTemplateDeleteFunction, FineTemplateUpdateFunction,
|
|
8
|
+
FineAddFunction, FineDeleteFunction, FineUpdateFunction
|
|
9
|
+
} from '.';
|
|
10
|
+
|
|
11
|
+
export const firebaseFunctionsContext = FirebaseFunctionsContext.build(builder => ({
|
|
12
|
+
team: {
|
|
13
|
+
new: builder.function(TeamNewFunction)
|
|
14
|
+
},
|
|
15
|
+
user: {
|
|
16
|
+
kickout: builder.function(UserKickoutFunction),
|
|
17
|
+
login: builder.function(UserLoginFunction),
|
|
18
|
+
roleEdit: builder.function(UserRoleEditFunction)
|
|
19
|
+
},
|
|
20
|
+
paypalMe: {
|
|
21
|
+
edit: builder.function(PaypalMeEditFunction)
|
|
22
|
+
},
|
|
23
|
+
notification: {
|
|
24
|
+
register: builder.function(NotificationRegisterFunction),
|
|
25
|
+
subscribe: builder.function(NotificationSubscribeFunction)
|
|
26
|
+
},
|
|
27
|
+
invitation: {
|
|
28
|
+
invite: builder.function(InvitationInviteFunction),
|
|
29
|
+
withdraw: builder.function(InvitationWithdrawFunction),
|
|
30
|
+
getInvitation: builder.function(InvitationGetInvitationFunction),
|
|
31
|
+
register: builder.function(InvitationRegisterFunction)
|
|
32
|
+
},
|
|
33
|
+
person: {
|
|
34
|
+
add: builder.function(PersonAddFunction),
|
|
35
|
+
update: builder.function(PersonUpdateFunction),
|
|
36
|
+
delete: builder.function(PersonDeleteFunction)
|
|
37
|
+
},
|
|
38
|
+
fineTemplate: {
|
|
39
|
+
add: builder.function(FineTemplateAddFunction),
|
|
40
|
+
update: builder.function(FineTemplateUpdateFunction),
|
|
41
|
+
delete: builder.function(FineTemplateDeleteFunction)
|
|
42
|
+
},
|
|
43
|
+
fine: {
|
|
44
|
+
add: builder.function(FineAddFunction),
|
|
45
|
+
update: builder.function(FineUpdateFunction),
|
|
46
|
+
delete: builder.function(FineDeleteFunction)
|
|
47
|
+
}
|
|
48
|
+
}));
|
package/src/functions/index.ts
CHANGED
|
@@ -2,116 +2,119 @@ 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
4
|
|
|
5
|
-
export
|
|
5
|
+
export class InvitationGetInvitationFunction implements FirebaseFunction<Invitation.Id, InvitationGetInvitationFunction.ReturnType> {
|
|
6
6
|
|
|
7
7
|
public parametersBuilder = Invitation.Id.builder;
|
|
8
8
|
|
|
9
|
-
public returnTypeBuilder =
|
|
9
|
+
public returnTypeBuilder = InvitationGetInvitationFunction.ReturnType.builder;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export
|
|
13
|
-
personId: Person.Id;
|
|
14
|
-
} | {
|
|
15
|
-
persons: {
|
|
16
|
-
id: Person.Id,
|
|
17
|
-
properties: PersonPrivateProperties,
|
|
18
|
-
}[];
|
|
19
|
-
};
|
|
12
|
+
export namespace InvitationGetInvitationFunction {
|
|
20
13
|
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
export type Flatten = {
|
|
24
|
-
personId: Person.Id.Flatten,
|
|
14
|
+
export type PersonIdOrPersons = {
|
|
15
|
+
personId: Person.Id;
|
|
25
16
|
} | {
|
|
26
17
|
persons: {
|
|
27
|
-
id: Person.Id
|
|
28
|
-
properties: PersonPrivateProperties
|
|
18
|
+
id: Person.Id,
|
|
19
|
+
properties: PersonPrivateProperties,
|
|
29
20
|
}[];
|
|
30
21
|
};
|
|
31
|
-
}
|
|
32
22
|
|
|
33
|
-
export
|
|
23
|
+
export namespace PersonIdOrPersons {
|
|
34
24
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
25
|
+
export type Flatten = {
|
|
26
|
+
personId: Person.Id.Flatten,
|
|
27
|
+
} | {
|
|
28
|
+
persons: {
|
|
29
|
+
id: Person.Id.Flatten,
|
|
30
|
+
properties: PersonPrivateProperties.Flatten,
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
}
|
|
40
34
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
35
|
+
export class ReturnType implements Flattable<ReturnType.Flatten> {
|
|
36
|
+
|
|
37
|
+
private constructor(
|
|
38
|
+
public teamId: Team.Id,
|
|
39
|
+
public teamName: string,
|
|
40
|
+
private personIdOrPersons: PersonIdOrPersons
|
|
41
|
+
) {}
|
|
42
|
+
|
|
43
|
+
public static from(teamId: Team.Id, teamName: string, personId: Person.Id): ReturnType;
|
|
44
|
+
public static from(teamId: Team.Id, teamName: string, persons: { id: Person.Id, properties: PersonPrivateProperties }[]): ReturnType;
|
|
45
|
+
public static from(teamId: Team.Id, teamName: string, personIdOrPersons: Person.Id | { id: Person.Id, properties: PersonPrivateProperties }[]): ReturnType {
|
|
46
|
+
if (Array.isArray(personIdOrPersons)) {
|
|
47
|
+
return new ReturnType(teamId, teamName, {
|
|
48
|
+
persons: personIdOrPersons
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return new ReturnType(teamId, teamName, {
|
|
52
|
+
personId: personIdOrPersons
|
|
47
53
|
});
|
|
48
54
|
}
|
|
49
|
-
return new InvitationGetInvitationFunctionReturnType(teamId, teamName, {
|
|
50
|
-
personId: personIdOrPersons
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
public get personId(): Person.Id | null {
|
|
57
|
+
if (!('personId' in this.personIdOrPersons))
|
|
58
|
+
return null;
|
|
59
|
+
return this.personIdOrPersons.personId;
|
|
60
|
+
}
|
|
59
61
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
public get persons(): {
|
|
63
|
+
id: Person.Id,
|
|
64
|
+
properties: PersonPrivateProperties,
|
|
65
|
+
}[] | null {
|
|
66
|
+
if (!('persons' in this.personIdOrPersons))
|
|
67
|
+
return null;
|
|
68
|
+
return this.personIdOrPersons.persons;
|
|
69
|
+
}
|
|
68
70
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
public get flatten(): ReturnType.Flatten {
|
|
72
|
+
if ('personId' in this.personIdOrPersons) {
|
|
73
|
+
return {
|
|
74
|
+
teamId: this.teamId.flatten,
|
|
75
|
+
teamName: this.teamName,
|
|
76
|
+
personId: this.personIdOrPersons.personId.flatten
|
|
77
|
+
};
|
|
78
|
+
}
|
|
71
79
|
return {
|
|
72
80
|
teamId: this.teamId.flatten,
|
|
73
81
|
teamName: this.teamName,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
teamName: this.teamName,
|
|
80
|
-
persons: this.personIdOrPersons.persons.map(person => ({
|
|
81
|
-
id: person.id.flatten,
|
|
82
|
-
properties: person.properties.flatten
|
|
83
|
-
}))
|
|
82
|
+
persons: this.personIdOrPersons.persons.map(person => ({
|
|
83
|
+
id: person.id.flatten,
|
|
84
|
+
properties: person.properties.flatten
|
|
85
|
+
}))
|
|
86
|
+
}
|
|
84
87
|
}
|
|
85
88
|
}
|
|
86
|
-
}
|
|
87
89
|
|
|
88
|
-
export namespace
|
|
90
|
+
export namespace ReturnType {
|
|
89
91
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
export type Flatten = {
|
|
93
|
+
teamId: Team.Id.Flatten,
|
|
94
|
+
teamName: string
|
|
95
|
+
} & PersonIdOrPersons.Flatten;
|
|
94
96
|
|
|
95
|
-
|
|
97
|
+
export class TypeBuilder implements ITypeBuilder<Flatten, ReturnType> {
|
|
96
98
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
public build(value: Flatten): ReturnType {
|
|
100
|
+
if ('personId' in value) {
|
|
101
|
+
return ReturnType.from(
|
|
102
|
+
Team.Id.builder.build(value.teamId),
|
|
103
|
+
value.teamName,
|
|
104
|
+
Person.Id.builder.build(value.personId)
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
return ReturnType.from(
|
|
100
108
|
Team.Id.builder.build(value.teamId),
|
|
101
109
|
value.teamName,
|
|
102
|
-
|
|
110
|
+
value.persons.map(person => ({
|
|
111
|
+
id: Person.Id.builder.build(person.id),
|
|
112
|
+
properties: PersonPrivateProperties.builder.build(person.properties)
|
|
113
|
+
}))
|
|
103
114
|
);
|
|
104
115
|
}
|
|
105
|
-
return InvitationGetInvitationFunctionReturnType.from(
|
|
106
|
-
Team.Id.builder.build(value.teamId),
|
|
107
|
-
value.teamName,
|
|
108
|
-
value.persons.map(person => ({
|
|
109
|
-
id: Person.Id.builder.build(person.id),
|
|
110
|
-
properties: PersonPrivateProperties.builder.build(person.properties)
|
|
111
|
-
}))
|
|
112
|
-
);
|
|
113
116
|
}
|
|
114
|
-
}
|
|
115
117
|
|
|
116
|
-
|
|
118
|
+
export const builder = new TypeBuilder();
|
|
119
|
+
}
|
|
117
120
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
2
2
|
import { Invitation } from '../../types';
|
|
3
3
|
|
|
4
|
-
export
|
|
4
|
+
export class InvitationInviteFunction implements FirebaseFunction<Invitation, Invitation.Id> {
|
|
5
5
|
|
|
6
6
|
public parametersBuilder = Invitation.builder;
|
|
7
7
|
|
|
@@ -2,14 +2,17 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { Person, Team, User } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
teamId: Team.Id
|
|
7
|
-
personId: Person.Id
|
|
8
|
-
};
|
|
5
|
+
export namespace InvitationRegisterFunction {
|
|
9
6
|
|
|
10
|
-
export
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id
|
|
9
|
+
personId: Person.Id
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class InvitationRegisterFunction implements FirebaseFunction<InvitationRegisterFunction.Parameters, User> {
|
|
11
14
|
|
|
12
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
15
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<InvitationRegisterFunction.Parameters>, InvitationRegisterFunction.Parameters>({
|
|
13
16
|
teamId: Team.Id.builder,
|
|
14
17
|
personId: Person.Id.builder
|
|
15
18
|
});
|
|
@@ -2,7 +2,7 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { Invitation } from '../../types';
|
|
3
3
|
import { ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export class InvitationWithdrawFunction implements FirebaseFunction<Invitation, void> {
|
|
6
6
|
|
|
7
7
|
public parametersBuilder = Invitation.builder;
|
|
8
8
|
|
|
@@ -2,15 +2,18 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { Person, Team } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
export namespace NotificationRegisterFunction {
|
|
6
|
+
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
personId: Person.Id,
|
|
10
|
+
token: string
|
|
11
|
+
};
|
|
9
12
|
}
|
|
10
13
|
|
|
11
|
-
export
|
|
14
|
+
export class NotificationRegisterFunction implements FirebaseFunction<NotificationRegisterFunction.Parameters, void> {
|
|
12
15
|
|
|
13
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
16
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<NotificationRegisterFunction.Parameters>, NotificationRegisterFunction.Parameters>({
|
|
14
17
|
teamId: Team.Id.builder,
|
|
15
18
|
personId: Person.Id.builder,
|
|
16
19
|
token: new ValueTypeBuilder()
|
|
@@ -2,15 +2,18 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { NotificationProperties, Person, Team } from '../../types';
|
|
3
3
|
import { ArrayTypeBuilder, Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
teamId: Team.Id,
|
|
7
|
-
personId: Person.Id,
|
|
8
|
-
subscriptions: NotificationProperties.Subscription[]
|
|
9
|
-
};
|
|
5
|
+
export namespace NotificationSubscribeFunction {
|
|
10
6
|
|
|
11
|
-
export
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
personId: Person.Id,
|
|
10
|
+
subscriptions: NotificationProperties.Subscription[]
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class NotificationSubscribeFunction implements FirebaseFunction<NotificationSubscribeFunction.Parameters, void> {
|
|
12
15
|
|
|
13
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
16
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<NotificationSubscribeFunction.Parameters>, NotificationSubscribeFunction.Parameters>({
|
|
14
17
|
teamId: Team.Id.builder,
|
|
15
18
|
personId: Person.Id.builder,
|
|
16
19
|
subscriptions: new ArrayTypeBuilder(new ValueTypeBuilder())
|
|
@@ -2,14 +2,17 @@ import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/t
|
|
|
2
2
|
import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
3
3
|
import { Team } from '../../types';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
teamId: Team.Id;
|
|
7
|
-
paypalMeLink: string | null;
|
|
8
|
-
};
|
|
5
|
+
export namespace PaypalMeEditFunction {
|
|
9
6
|
|
|
10
|
-
export
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id;
|
|
9
|
+
paypalMeLink: string | null;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class PaypalMeEditFunction implements FirebaseFunction<PaypalMeEditFunction.Parameters, void> {
|
|
11
14
|
|
|
12
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
15
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<PaypalMeEditFunction.Parameters>, PaypalMeEditFunction.Parameters>({
|
|
13
16
|
teamId: Team.Id.builder,
|
|
14
17
|
paypalMeLink: new ValueTypeBuilder()
|
|
15
18
|
});
|
|
@@ -2,15 +2,18 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { Person, PersonPrivateProperties, Team } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
teamId: Team.Id
|
|
7
|
-
id: Person.Id,
|
|
8
|
-
properties: PersonPrivateProperties
|
|
9
|
-
};
|
|
5
|
+
export namespace PersonAddFunction {
|
|
10
6
|
|
|
11
|
-
export
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id
|
|
9
|
+
id: Person.Id,
|
|
10
|
+
properties: PersonPrivateProperties
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class PersonAddFunction implements FirebaseFunction<PersonAddFunction.Parameters, void> {
|
|
12
15
|
|
|
13
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
16
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<PersonAddFunction.Parameters>, PersonAddFunction.Parameters>({
|
|
14
17
|
teamId: Team.Id.builder,
|
|
15
18
|
id: Person.Id.builder,
|
|
16
19
|
properties: PersonPrivateProperties.builder
|
|
@@ -2,14 +2,17 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { Person, Team } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export namespace PersonDeleteFunction {
|
|
6
|
+
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
id: Person.Id
|
|
10
|
+
};
|
|
8
11
|
}
|
|
9
12
|
|
|
10
|
-
export
|
|
13
|
+
export class PersonDeleteFunction implements FirebaseFunction<PersonDeleteFunction.Parameters, void> {
|
|
11
14
|
|
|
12
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
15
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<PersonDeleteFunction.Parameters>, PersonDeleteFunction.Parameters>({
|
|
13
16
|
teamId: Team.Id.builder,
|
|
14
17
|
id: Person.Id.builder
|
|
15
18
|
});
|
|
@@ -2,15 +2,18 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
|
|
|
2
2
|
import { Person, PersonPrivateProperties, Team } from '../../types';
|
|
3
3
|
import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
teamId: Team.Id,
|
|
7
|
-
id: Person.Id,
|
|
8
|
-
properties: PersonPrivateProperties
|
|
9
|
-
};
|
|
5
|
+
export namespace PersonUpdateFunction {
|
|
10
6
|
|
|
11
|
-
export
|
|
7
|
+
export type Parameters = {
|
|
8
|
+
teamId: Team.Id,
|
|
9
|
+
id: Person.Id,
|
|
10
|
+
properties: PersonPrivateProperties
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class PersonUpdateFunction implements FirebaseFunction<PersonUpdateFunction.Parameters, void> {
|
|
12
15
|
|
|
13
|
-
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<
|
|
16
|
+
public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<PersonUpdateFunction.Parameters>, PersonUpdateFunction.Parameters>({
|
|
14
17
|
teamId: Team.Id.builder,
|
|
15
18
|
id: Person.Id.builder,
|
|
16
19
|
properties: PersonPrivateProperties.builder
|