@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.
Files changed (72) 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/src/types/PayedState.d.ts +7 -0
  46. package/lib/src/types/PayedState.js +15 -0
  47. package/lib/test/types/PayedState.test.js +31 -0
  48. package/lib/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +2 -2
  50. package/src/functions/fine/add.ts +10 -8
  51. package/src/functions/fine/delete.ts +10 -7
  52. package/src/functions/fine/update.ts +11 -8
  53. package/src/functions/fineTemplate/add.ts +9 -6
  54. package/src/functions/fineTemplate/delete.ts +9 -6
  55. package/src/functions/fineTemplate/update.ts +9 -5
  56. package/src/functions/firebaseFunctionsContext.ts +48 -0
  57. package/src/functions/index.ts +1 -0
  58. package/src/functions/invitation/getInvitation.ts +82 -79
  59. package/src/functions/invitation/invite.ts +1 -1
  60. package/src/functions/invitation/register.ts +9 -6
  61. package/src/functions/invitation/withdraw.ts +1 -1
  62. package/src/functions/notification/register.ts +9 -6
  63. package/src/functions/notification/subscribe.ts +10 -7
  64. package/src/functions/paypalMe/edit.ts +9 -6
  65. package/src/functions/person/add.ts +10 -7
  66. package/src/functions/person/delete.ts +8 -5
  67. package/src/functions/person/update.ts +10 -7
  68. package/src/functions/team/new.ts +12 -9
  69. package/src/functions/user/kickout.ts +8 -6
  70. package/src/functions/user/login.ts +1 -1
  71. package/src/functions/user/roleEdit.ts +10 -7
  72. 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.2",
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.141",
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 type FineAddFunctionParameters = {
6
- teamId: Team.Id,
7
- personId: Person.Id,
8
- fine: Fine,
9
- configuration: Configuration
10
- };
5
+ export namespace FineAddFunction {
11
6
 
12
- export abstract class FineAddFunctionBase extends FirebaseFunction<FineAddFunctionParameters, void> {
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<FineAddFunctionParameters>, FineAddFunctionParameters>({
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 type FineDeleteFunctionParameters = {
6
- teamId: Team.Id,
7
- personId: Person.Id,
8
- id: Fine.Id,
9
- configuration: Configuration
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 abstract class FineDeleteFunctionBase extends FirebaseFunction<FineDeleteFunctionParameters, void> {
15
+ export class FineDeleteFunction implements FirebaseFunction<FineDeleteFunction.Parameters, void> {
13
16
 
14
- public parametersBuilder = new ObjectTypeBuilder<Flattable.Flatten<FineDeleteFunctionParameters>, FineDeleteFunctionParameters>({
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 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