@stevenkellner/team-conduct-api 2.0.2 → 2.0.3

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.
Files changed (68) hide show
  1. package/lib/src/functions/fine/add.d.ts +10 -8
  2. package/lib/src/functions/fine/add.js +3 -4
  3. package/lib/src/functions/fine/delete.d.ts +10 -8
  4. package/lib/src/functions/fine/delete.js +3 -4
  5. package/lib/src/functions/fine/update.d.ts +10 -8
  6. package/lib/src/functions/fine/update.js +3 -4
  7. package/lib/src/functions/fineTemplate/add.d.ts +8 -6
  8. package/lib/src/functions/fineTemplate/add.js +3 -4
  9. package/lib/src/functions/fineTemplate/delete.d.ts +8 -6
  10. package/lib/src/functions/fineTemplate/delete.js +3 -4
  11. package/lib/src/functions/fineTemplate/update.d.ts +8 -6
  12. package/lib/src/functions/fineTemplate/update.js +3 -4
  13. package/lib/src/functions/firebaseFunctionsContext.d.ts +39 -0
  14. package/lib/src/functions/firebaseFunctionsContext.js +43 -0
  15. package/lib/src/functions/index.d.ts +1 -0
  16. package/lib/src/functions/index.js +1 -0
  17. package/lib/src/functions/invitation/getInvitation.d.ts +42 -40
  18. package/lib/src/functions/invitation/getInvitation.js +59 -58
  19. package/lib/src/functions/invitation/invite.d.ts +1 -1
  20. package/lib/src/functions/invitation/invite.js +3 -4
  21. package/lib/src/functions/invitation/register.d.ts +8 -6
  22. package/lib/src/functions/invitation/register.js +3 -4
  23. package/lib/src/functions/invitation/withdraw.d.ts +1 -1
  24. package/lib/src/functions/invitation/withdraw.js +3 -4
  25. package/lib/src/functions/notification/register.d.ts +9 -7
  26. package/lib/src/functions/notification/register.js +3 -4
  27. package/lib/src/functions/notification/subscribe.d.ts +9 -7
  28. package/lib/src/functions/notification/subscribe.js +3 -4
  29. package/lib/src/functions/paypalMe/edit.d.ts +8 -6
  30. package/lib/src/functions/paypalMe/edit.js +3 -4
  31. package/lib/src/functions/person/add.d.ts +9 -7
  32. package/lib/src/functions/person/add.js +3 -4
  33. package/lib/src/functions/person/delete.d.ts +8 -6
  34. package/lib/src/functions/person/delete.js +3 -4
  35. package/lib/src/functions/person/update.d.ts +9 -7
  36. package/lib/src/functions/person/update.js +3 -4
  37. package/lib/src/functions/team/new.d.ts +11 -9
  38. package/lib/src/functions/team/new.js +3 -4
  39. package/lib/src/functions/user/kickout.d.ts +8 -6
  40. package/lib/src/functions/user/kickout.js +3 -4
  41. package/lib/src/functions/user/login.d.ts +1 -1
  42. package/lib/src/functions/user/login.js +3 -4
  43. package/lib/src/functions/user/roleEdit.d.ts +9 -7
  44. package/lib/src/functions/user/roleEdit.js +3 -4
  45. package/lib/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +2 -2
  47. package/src/functions/fine/add.ts +10 -8
  48. package/src/functions/fine/delete.ts +10 -7
  49. package/src/functions/fine/update.ts +11 -8
  50. package/src/functions/fineTemplate/add.ts +9 -6
  51. package/src/functions/fineTemplate/delete.ts +9 -6
  52. package/src/functions/fineTemplate/update.ts +9 -5
  53. package/src/functions/firebaseFunctionsContext.ts +48 -0
  54. package/src/functions/index.ts +1 -0
  55. package/src/functions/invitation/getInvitation.ts +82 -79
  56. package/src/functions/invitation/invite.ts +1 -1
  57. package/src/functions/invitation/register.ts +9 -6
  58. package/src/functions/invitation/withdraw.ts +1 -1
  59. package/src/functions/notification/register.ts +9 -6
  60. package/src/functions/notification/subscribe.ts +10 -7
  61. package/src/functions/paypalMe/edit.ts +9 -6
  62. package/src/functions/person/add.ts +10 -7
  63. package/src/functions/person/delete.ts +8 -5
  64. package/src/functions/person/update.ts +10 -7
  65. package/src/functions/team/new.ts +12 -9
  66. package/src/functions/user/kickout.ts +8 -6
  67. package/src/functions/user/login.ts +1 -1
  68. package/src/functions/user/roleEdit.ts +10 -7
@@ -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 type FineUpdateFunctionParameters = {
7
- teamId: Team.Id,
8
- personId: Person.Id,
9
- fine: Fine,
10
- configuration: Configuration
11
- };
6
+ export namespace FineUpdateFunction {
12
7
 
13
- export abstract class FineUpdateFunctionBase extends FirebaseFunction<FineUpdateFunctionParameters, void> {
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<FineUpdateFunctionParameters>, FineUpdateFunctionParameters>({
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 type FineTemplateAddFunctionParameters = {
6
- teamId: Team.Id,
7
- fineTemplate: FineTemplate
8
- };
5
+ export namespace FineTemplateAddFunction {
9
6
 
10
- export abstract class FineTemplateAddFunctionBase extends FirebaseFunction<FineTemplateAddFunctionParameters, void> {
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<FineTemplateAddFunctionParameters>, FineTemplateAddFunctionParameters>({
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 type FineTemplateDeleteFunctionParameters = {
6
- teamId: Team.Id,
7
- id: FineTemplate.Id
8
- };
5
+ export namespace FineTemplateDeleteFunction {
9
6
 
10
- export abstract class FineTemplateDeleteFunctionBase extends FirebaseFunction<FineTemplateDeleteFunctionParameters, void> {
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<FineTemplateDeleteFunctionParameters>, FineTemplateDeleteFunctionParameters>({
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 type FineTemplateUpdateFunctionParameters = {
6
- teamId: Team.Id,
7
- fineTemplate: FineTemplate
5
+ export namespace FineTemplateUpdateFunction {
6
+
7
+ export type Parameters = {
8
+ teamId: Team.Id,
9
+ fineTemplate: FineTemplate
8
10
  };
9
- export abstract class FineTemplateUpdateFunctionBase extends FirebaseFunction<FineTemplateUpdateFunctionParameters, void> {
11
+ }
12
+
13
+ export class FineTemplateUpdateFunction implements FirebaseFunction<FineTemplateUpdateFunction.Parameters, void> {
10
14
 
11
- public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<FineTemplateUpdateFunctionParameters>, FineTemplateUpdateFunctionParameters>({
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
+ }));
@@ -18,3 +18,4 @@ export * from './fine/delete';
18
18
  export * from './fineTemplate/add';
19
19
  export * from './fineTemplate/update';
20
20
  export * from './fineTemplate/delete';
21
+ export * from './firebaseFunctionsContext'
@@ -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 abstract class InvitationGetInvitationFunctionBase extends FirebaseFunction<Invitation.Id, InvitationGetInvitationFunctionReturnType> {
5
+ export class InvitationGetInvitationFunction implements FirebaseFunction<Invitation.Id, InvitationGetInvitationFunction.ReturnType> {
6
6
 
7
7
  public parametersBuilder = Invitation.Id.builder;
8
8
 
9
- public returnTypeBuilder = InvitationGetInvitationFunctionReturnType.builder;
9
+ public returnTypeBuilder = InvitationGetInvitationFunction.ReturnType.builder;
10
10
  }
11
11
 
12
- export type PersonIdOrPersons = {
13
- personId: Person.Id;
14
- } | {
15
- persons: {
16
- id: Person.Id,
17
- properties: PersonPrivateProperties,
18
- }[];
19
- };
12
+ export namespace InvitationGetInvitationFunction {
20
13
 
21
- export namespace PersonIdOrPersons {
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.Flatten,
28
- properties: PersonPrivateProperties.Flatten,
18
+ id: Person.Id,
19
+ properties: PersonPrivateProperties,
29
20
  }[];
30
21
  };
31
- }
32
22
 
33
- export class InvitationGetInvitationFunctionReturnType implements Flattable<InvitationGetInvitationFunctionReturnType.Flatten> {
23
+ export namespace PersonIdOrPersons {
34
24
 
35
- private constructor(
36
- public teamId: Team.Id,
37
- public teamName: string,
38
- private personIdOrPersons: PersonIdOrPersons
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
- public static from(teamId: Team.Id, teamName: string, personId: Person.Id): InvitationGetInvitationFunctionReturnType;
42
- public static from(teamId: Team.Id, teamName: string, persons: { id: Person.Id, properties: PersonPrivateProperties }[]): InvitationGetInvitationFunctionReturnType;
43
- public static from(teamId: Team.Id, teamName: string, personIdOrPersons: Person.Id | { id: Person.Id, properties: PersonPrivateProperties }[]): InvitationGetInvitationFunctionReturnType {
44
- if (Array.isArray(personIdOrPersons)) {
45
- return new InvitationGetInvitationFunctionReturnType(teamId, teamName, {
46
- persons: personIdOrPersons
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
- public get personId(): Person.Id | null {
55
- if (!('personId' in this.personIdOrPersons))
56
- return null;
57
- return this.personIdOrPersons.personId;
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
- public get persons(): {
61
- id: Person.Id,
62
- properties: PersonPrivateProperties,
63
- }[] | null {
64
- if (!('persons' in this.personIdOrPersons))
65
- return null;
66
- return this.personIdOrPersons.persons;
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
- public get flatten(): InvitationGetInvitationFunctionReturnType.Flatten {
70
- if ('personId' in this.personIdOrPersons) {
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
- personId: this.personIdOrPersons.personId.flatten
75
- };
76
- }
77
- return {
78
- teamId: this.teamId.flatten,
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 InvitationGetInvitationFunctionReturnType {
90
+ export namespace ReturnType {
89
91
 
90
- export type Flatten = {
91
- teamId: Team.Id.Flatten,
92
- teamName: string
93
- } & PersonIdOrPersons.Flatten;
92
+ export type Flatten = {
93
+ teamId: Team.Id.Flatten,
94
+ teamName: string
95
+ } & PersonIdOrPersons.Flatten;
94
96
 
95
- export class TypeBuilder implements ITypeBuilder<Flatten, InvitationGetInvitationFunctionReturnType> {
97
+ export class TypeBuilder implements ITypeBuilder<Flatten, ReturnType> {
96
98
 
97
- public build(value: Flatten): InvitationGetInvitationFunctionReturnType {
98
- if ('personId' in value) {
99
- return InvitationGetInvitationFunctionReturnType.from(
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
- Person.Id.builder.build(value.personId)
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
- export const builder = new TypeBuilder();
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 abstract class InvitationInviteFunctionBase extends FirebaseFunction<Invitation, Invitation.Id> {
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 type InvitationRegisterFunctionParameters = {
6
- teamId: Team.Id
7
- personId: Person.Id
8
- };
5
+ export namespace InvitationRegisterFunction {
9
6
 
10
- export abstract class InvitationRegisterFunctionBase extends FirebaseFunction<InvitationRegisterFunctionParameters, User> {
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<InvitationRegisterFunctionParameters>, InvitationRegisterFunctionParameters>({
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 abstract class InvitationWithdrawFunctionBase extends FirebaseFunction<Invitation, void> {
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 type NotificationRegisterFunctionParameters = {
6
- teamId: Team.Id,
7
- personId: Person.Id,
8
- token: string
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 abstract class NotificationRegisterFunctionBase extends FirebaseFunction<NotificationRegisterFunctionParameters, void> {
14
+ export class NotificationRegisterFunction implements FirebaseFunction<NotificationRegisterFunction.Parameters, void> {
12
15
 
13
- public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<NotificationRegisterFunctionParameters>, NotificationRegisterFunctionParameters>({
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 type NotificationSubscribeFunctionParameters = {
6
- teamId: Team.Id,
7
- personId: Person.Id,
8
- subscriptions: NotificationProperties.Subscription[]
9
- };
5
+ export namespace NotificationSubscribeFunction {
10
6
 
11
- export abstract class NotificationSubscribeFunctionBase extends FirebaseFunction<NotificationSubscribeFunctionParameters, void> {
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<NotificationSubscribeFunctionParameters>, NotificationSubscribeFunctionParameters>({
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 type PaypalMeEditFunctionParameters = {
6
- teamId: Team.Id;
7
- paypalMeLink: string | null;
8
- };
5
+ export namespace PaypalMeEditFunction {
9
6
 
10
- export abstract class PaypalMeEditFunctionBase extends FirebaseFunction<PaypalMeEditFunctionParameters, void> {
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<PaypalMeEditFunctionParameters>, PaypalMeEditFunctionParameters>({
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 type PersonAddFunctionParameters = {
6
- teamId: Team.Id
7
- id: Person.Id,
8
- properties: PersonPrivateProperties
9
- };
5
+ export namespace PersonAddFunction {
10
6
 
11
- export abstract class PersonAddFunctionBase extends FirebaseFunction<PersonAddFunctionParameters, void> {
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<PersonAddFunctionParameters>, PersonAddFunctionParameters>({
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 type PersonDeleteFunctionParameters = {
6
- teamId: Team.Id,
7
- id: Person.Id
5
+ export namespace PersonDeleteFunction {
6
+
7
+ export type Parameters = {
8
+ teamId: Team.Id,
9
+ id: Person.Id
10
+ };
8
11
  }
9
12
 
10
- export abstract class PersonDeleteFunctionBase extends FirebaseFunction<PersonDeleteFunctionParameters, void> {
13
+ export class PersonDeleteFunction implements FirebaseFunction<PersonDeleteFunction.Parameters, void> {
11
14
 
12
- public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<PersonDeleteFunctionParameters>, PersonDeleteFunctionParameters>({
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 type PersonUpdateFunctionParameters = {
6
- teamId: Team.Id,
7
- id: Person.Id,
8
- properties: PersonPrivateProperties
9
- };
5
+ export namespace PersonUpdateFunction {
10
6
 
11
- export abstract class PersonUpdateFunctionBase extends FirebaseFunction<PersonUpdateFunctionParameters, void> {
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<PersonUpdateFunctionParameters>, PersonUpdateFunctionParameters>({
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
@@ -2,17 +2,20 @@ import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/t
2
2
  import { FirebaseFunction } from '@stevenkellner/firebase-function';
3
3
  import { Person, PersonPrivateProperties, User, Team } from '../../types';
4
4
 
5
- export type TeamNewFunctionParameters = {
6
- id: Team.Id
7
- name: string
8
- paypalMeLink: string | null
9
- personId: Person.Id
10
- personProperties: PersonPrivateProperties
11
- };
5
+ export namespace TeamNewFunction {
12
6
 
13
- export abstract class TeamNewFunctionBase extends FirebaseFunction<TeamNewFunctionParameters, User> {
7
+ export type Parameters = {
8
+ id: Team.Id
9
+ name: string
10
+ paypalMeLink: string | null
11
+ personId: Person.Id
12
+ personProperties: PersonPrivateProperties
13
+ };
14
+ }
15
+
16
+ export class TeamNewFunction implements FirebaseFunction<TeamNewFunction.Parameters, User> {
14
17
 
15
- public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<TeamNewFunctionParameters>, TeamNewFunctionParameters>({
18
+ public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<TeamNewFunction.Parameters>, TeamNewFunction.Parameters>({
16
19
  id: Team.Id.builder,
17
20
  name: new ValueTypeBuilder(),
18
21
  paypalMeLink: new ValueTypeBuilder(),
@@ -2,14 +2,16 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
2
2
  import { Team, User } from '../../types';
3
3
  import { Flattable, ObjectTypeBuilder, ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
4
4
 
5
- export type UserKickoutFunctionParameters = {
6
- teamId: Team.Id
7
- userId: User.Id
8
- };
5
+ export namespace UserKickoutFunction {
9
6
 
10
- export abstract class UserKickoutFunctionBase extends FirebaseFunction<UserKickoutFunctionParameters, void> {
7
+ export type Parameters = {
8
+ teamId: Team.Id
9
+ userId: User.Id
10
+ };
11
+ }
12
+ export class UserKickoutFunction implements FirebaseFunction<UserKickoutFunction.Parameters, void> {
11
13
 
12
- public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<UserKickoutFunctionParameters>, UserKickoutFunctionParameters>({
14
+ public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<UserKickoutFunction.Parameters>, UserKickoutFunction.Parameters>({
13
15
  teamId: Team.Id.builder,
14
16
  userId: User.Id.builder
15
17
  });
@@ -2,7 +2,7 @@ import { FirebaseFunction } from '@stevenkellner/firebase-function';
2
2
  import { User } from '../../types';
3
3
  import { ValueTypeBuilder } from '@stevenkellner/typescript-common-functionality';
4
4
 
5
- export abstract class UserLoginFunctionBase extends FirebaseFunction<null, User> {
5
+ export class UserLoginFunction implements FirebaseFunction<null, User> {
6
6
 
7
7
  public parametersBuilder = new ValueTypeBuilder<null>();
8
8