@darraghor/nest-backend-libs 2.27.0 → 2.28.0

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 (62) hide show
  1. package/dist/authorization/authz.module.js +2 -2
  2. package/dist/authorization/authz.module.js.map +1 -1
  3. package/dist/authorization/services/UserValidation.service.d.ts +7 -3
  4. package/dist/authorization/services/UserValidation.service.js +97 -65
  5. package/dist/authorization/services/UserValidation.service.js.map +1 -1
  6. package/dist/index.d.ts +2 -1
  7. package/dist/index.js +2 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/invitations/dto/create-invitation.dto.js +5 -0
  10. package/dist/invitations/dto/create-invitation.dto.js.map +1 -1
  11. package/dist/invitations/entities/invitation.entity.d.ts +1 -1
  12. package/dist/invitations/entities/invitation.entity.js +8 -6
  13. package/dist/invitations/entities/invitation.entity.js.map +1 -1
  14. package/dist/invitations/invitation.controller.d.ts +2 -0
  15. package/dist/invitations/invitation.controller.js +42 -4
  16. package/dist/invitations/invitation.controller.js.map +1 -1
  17. package/dist/invitations/invitation.service.d.ts +2 -2
  18. package/dist/invitations/invitation.service.js +78 -44
  19. package/dist/invitations/invitation.service.js.map +1 -1
  20. package/dist/organisation/dto/create-organisation.dto.js +9 -0
  21. package/dist/organisation/dto/create-organisation.dto.js.map +1 -1
  22. package/dist/organisation/entities/member-role.entity.d.ts +0 -1
  23. package/dist/organisation/entities/member-role.entity.js +4 -8
  24. package/dist/organisation/entities/member-role.entity.js.map +1 -1
  25. package/dist/organisation/entities/organisation.entity.d.ts +2 -3
  26. package/dist/organisation/entities/organisation.entity.js +1 -15
  27. package/dist/organisation/entities/organisation.entity.js.map +1 -1
  28. package/dist/organisation/organisation.service.js +4 -0
  29. package/dist/organisation/organisation.service.js.map +1 -1
  30. package/dist/organisation-memberships/dtos/create-membership-dto.js +3 -0
  31. package/dist/organisation-memberships/dtos/create-membership-dto.js.map +1 -1
  32. package/dist/organisation-memberships/entities/organisation-membership.entity.d.ts +3 -4
  33. package/dist/organisation-memberships/entities/organisation-membership.entity.js +9 -29
  34. package/dist/organisation-memberships/entities/organisation-membership.entity.js.map +1 -1
  35. package/dist/organisation-memberships/organisation-memberships.service.js +9 -9
  36. package/dist/organisation-memberships/organisation-memberships.service.js.map +1 -1
  37. package/dist/organisation-subscriptions/organisation-subscriptions.service.js +2 -2
  38. package/dist/organisation-subscriptions/organisation-subscriptions.service.js.map +1 -1
  39. package/dist/root-app/models/QueueItemDto.js +11 -1
  40. package/dist/root-app/models/QueueItemDto.js.map +1 -1
  41. package/dist/smtp-email-client/email.entity.js +4 -4
  42. package/dist/smtp-email-client/email.entity.js.map +1 -1
  43. package/dist/stripe-client/models/StripeCheckoutSessionResponseDto.js +3 -0
  44. package/dist/stripe-client/models/StripeCheckoutSessionResponseDto.js.map +1 -1
  45. package/dist/stripe-client/models/StripeCustomerPortalResponseDto.js +2 -0
  46. package/dist/stripe-client/models/StripeCustomerPortalResponseDto.js.map +1 -1
  47. package/dist/stripe-client/services/stripe-checkout.service.js +4 -3
  48. package/dist/stripe-client/services/stripe-checkout.service.js.map +1 -1
  49. package/dist/super-powers/super-powers.controller.d.ts +1 -1
  50. package/dist/super-powers/super-powers.controller.js +2 -2
  51. package/dist/super-powers/super-powers.controller.js.map +1 -1
  52. package/dist/super-powers/super-powers.service.js +2 -2
  53. package/dist/user-internal/dto/userResponseDto.js +0 -2
  54. package/dist/user-internal/dto/userResponseDto.js.map +1 -1
  55. package/dist/user-internal/entities/user.entity.d.ts +2 -3
  56. package/dist/user-internal/entities/user.entity.js +3 -20
  57. package/dist/user-internal/entities/user.entity.js.map +1 -1
  58. package/dist/user-internal/user.controller.js +4 -0
  59. package/dist/user-internal/user.controller.js.map +1 -1
  60. package/dist/user-internal/user.service.js +2 -2
  61. package/dist/user-internal/user.service.js.map +1 -1
  62. package/package.json +1 -1
@@ -15,16 +15,16 @@ import { TypeOrmModule } from "@nestjs/typeorm";
15
15
  import { User } from "../user-internal/entities/user.entity.js";
16
16
  import { AuthzClientModule } from "../authzclient/authz-client.module.js";
17
17
  import { ApiKeyStrategy } from "./strategies/apikeystrategy.js";
18
+ import { Invitation } from "../invitations/entities/invitation.entity.js";
18
19
  let AuthzModule = class AuthzModule {
19
20
  };
20
21
  AuthzModule = __decorate([
21
22
  Module({
22
23
  imports: [
23
24
  ConfigModule.forFeature(configVariables),
24
- TypeOrmModule.forFeature([User]),
25
+ TypeOrmModule.forFeature([User, Invitation]),
25
26
  PassportModule.register({ defaultStrategy: "jwt" }),
26
27
  AuthzClientModule,
27
- // InvitationModule,
28
28
  ],
29
29
  providers: [
30
30
  ApiKeyStrategy,
@@ -1 +1 @@
1
- {"version":3,"file":"authz.module.js","sourceRoot":"","sources":["../../src/authorization/authz.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,wBAAwB,EAAC,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,eAAe,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,0CAA0C,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAmBvD,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,WAAW;IAjBvB,MAAM,CAAC;QACJ,OAAO,EAAE;YACL,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC;YACxC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;YAChC,cAAc,CAAC,QAAQ,CAAC,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC;YACjD,iBAAiB;YACjB,oBAAoB;SACvB;QACD,SAAS,EAAE;YACP,cAAc;YACd,WAAW;YACX,wBAAwB;YACxB,qBAAqB;YACrB,cAAc;SACjB;QACD,OAAO,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;KACtD,CAAC;GACW,WAAW,CAAG;SAAd,WAAW"}
1
+ {"version":3,"file":"authz.module.js","sourceRoot":"","sources":["../../src/authorization/authz.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,wBAAwB,EAAC,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,eAAe,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,0CAA0C,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,8CAA8C,CAAC;AAkBjE,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,WAAW;IAhBvB,MAAM,CAAC;QACJ,OAAO,EAAE;YACL,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC;YACxC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5C,cAAc,CAAC,QAAQ,CAAC,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC;YACjD,iBAAiB;SACpB;QACD,SAAS,EAAE;YACP,cAAc;YACd,WAAW;YACX,wBAAwB;YACxB,qBAAqB;YACrB,cAAc;SACjB;QACD,OAAO,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;KACtD,CAAC;GACW,WAAW,CAAG;SAAd,WAAW"}
@@ -1,16 +1,20 @@
1
1
  import { Repository } from "typeorm";
2
2
  import { AuthZClientService } from "../../authzclient/authz.service.js";
3
3
  import { UserProfile } from "../../authzclient/UserProfile.dto.js";
4
+ import { Invitation } from "../../invitations/entities/invitation.entity.js";
4
5
  import { User } from "../../user-internal/entities/user.entity.js";
5
6
  import { AccessToken } from "../models/AccessToken.js";
6
7
  export declare class UserValidationService {
7
8
  private userRepository;
8
9
  private authzClient;
9
- constructor(userRepository: Repository<User>, authzClient: AuthZClientService);
10
- getAuth0User(rawAccessToken: string): Promise<UserProfile | undefined>;
10
+ private readonly invitationRepository;
11
+ private readonly logger;
12
+ constructor(userRepository: Repository<User>, authzClient: AuthZClientService, invitationRepository: Repository<Invitation>);
13
+ getAuth0User(rawAccessToken: string): Promise<UserProfile>;
11
14
  validateUserApiKey(apiKey: string): Promise<User | undefined>;
12
15
  validateUser(payload: AccessToken, rawAccessToken: string, invitationId?: string): Promise<User | undefined>;
13
- handleInvitation(rawAccessToken: string, invitationCode: string): Promise<User>;
16
+ private findUserForRequest;
17
+ handleInvitedUser(rawAccessToken: string, invitationCode: string): Promise<User>;
14
18
  handleNewIndependentUser(foundUser: User | null, rawAccessToken: string): Promise<User>;
15
19
  mapAuthZUserToEntity(user: User, auth0User: UserProfile): void;
16
20
  }
@@ -10,29 +10,37 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
+ var UserValidationService_1;
13
14
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
14
- import { Injectable,
15
- // NotFoundException
16
- } from "@nestjs/common";
15
+ import { BadRequestException, Injectable, Logger, NotFoundException, } from "@nestjs/common";
17
16
  import { InjectRepository } from "@nestjs/typeorm";
18
- import { Repository } from "typeorm";
17
+ import { IsNull, MoreThan, Repository } from "typeorm";
19
18
  import { AuthZClientService } from "../../authzclient/authz.service.js";
20
- //import {InvitationService} from "../../invitations.js";
19
+ import { Invitation } from "../../invitations/entities/invitation.entity.js";
21
20
  import { OrganisationMembership } from "../../organisation-memberships/entities/organisation-membership.entity.js";
22
21
  import { Roles } from "../../organisation/dto/RolesEnum.js";
23
22
  import { MembershipRole } from "../../organisation/entities/member-role.entity.js";
24
23
  import { Organisation } from "../../organisation/entities/organisation.entity.js";
25
24
  import { User } from "../../user-internal/entities/user.entity.js";
26
- let UserValidationService = class UserValidationService {
25
+ let UserValidationService = UserValidationService_1 = class UserValidationService {
27
26
  userRepository;
28
27
  authzClient;
29
- constructor(userRepository, authzClient // private invitationService: InvitationService
30
- ) {
28
+ invitationRepository;
29
+ logger = new Logger(UserValidationService_1.name);
30
+ constructor(userRepository, authzClient, invitationRepository) {
31
31
  this.userRepository = userRepository;
32
32
  this.authzClient = authzClient;
33
+ this.invitationRepository = invitationRepository;
33
34
  }
34
35
  async getAuth0User(rawAccessToken) {
35
- return await this.authzClient.getUser(rawAccessToken);
36
+ const result = await this.authzClient.getUser(rawAccessToken);
37
+ if (result === undefined) {
38
+ throw new Error("Error getting user profile from Auth0");
39
+ }
40
+ if (result.email_verified === false) {
41
+ throw new BadRequestException("Email not verified. You must verify your email address to continue.");
42
+ }
43
+ return result;
36
44
  }
37
45
  async validateUserApiKey(apiKey) {
38
46
  const result = await this.userRepository.findOne({
@@ -49,78 +57,93 @@ let UserValidationService = class UserValidationService {
49
57
  async validateUser(payload, rawAccessToken, invitationId) {
50
58
  if (invitationId) {
51
59
  // even though there is commonality here it's easier to treat the invitation path as completely separate
52
- return this.handleInvitation(rawAccessToken, invitationId);
60
+ return this.handleInvitedUser(rawAccessToken, invitationId);
53
61
  }
54
62
  // try to find the user and their memberships
55
- const foundUser = await this.userRepository.findOne({
56
- where: { auth0UserId: payload.sub },
57
- relations: {
58
- memberships: true,
59
- },
60
- });
63
+ const foundUser = await this.findUserForRequest(payload.sub);
61
64
  // if user is
62
65
  // - found
63
66
  // - already configured
64
- // - not trying to join an organisation
65
67
  // then just return the user
66
68
  if (foundUser !== undefined &&
67
69
  foundUser !== null &&
68
- foundUser.memberships.length > 0) {
70
+ foundUser?.memberships !== undefined &&
71
+ foundUser?.memberships !== null &&
72
+ foundUser?.memberships?.length > 0) {
69
73
  return foundUser;
70
74
  }
71
75
  // otherwise we need to add a membership to a user
72
76
  return this.handleNewIndependentUser(foundUser, rawAccessToken);
73
77
  }
78
+ async findUserForRequest(auth0UserId) {
79
+ return await this.userRepository.findOne({
80
+ where: { auth0UserId: auth0UserId },
81
+ relations: {
82
+ memberships: true,
83
+ },
84
+ });
85
+ }
74
86
  // eslint-disable-next-line @typescript-eslint/require-await
75
- async handleInvitation(
87
+ async handleInvitedUser(
76
88
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
77
89
  rawAccessToken,
78
90
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
79
91
  invitationCode) {
80
- return new User();
81
- // const invitation = await this.invitationService.getOneActiveInvitation(
82
- // invitationCode
83
- // );
84
- // if (!invitation) {
85
- // throw new NotFoundException("Valid invitation not found");
86
- // }
87
- // // get the user's profile details from auth0
88
- // const auth0User = await this.getAuth0User(rawAccessToken);
89
- // if (auth0User === undefined) {
90
- // throw new Error("Error getting user profile from Auth0");
91
- // }
92
- // if (auth0User.email_verified === false) {
93
- // throw new Error("Email not verified");
94
- // }
95
- // // the user's verified email address should match the invitation email address
96
- // if (
97
- // auth0User.email.toLowerCase() !==
98
- // invitation.emailAddress.toLowerCase()
99
- // ) {
100
- // throw new Error(
101
- // "Verified email address does not match invitation email address"
102
- // );
103
- // }
104
- // await this.invitationService.acceptInvitation(invitation.id);
105
- // this.mapAuthZUserToEntity(
106
- // invitation.organisationMembership.user,
107
- // auth0User
108
- // );
109
- // // eslint-disable-next-line sonarjs/prefer-immediate-return
110
- // const updatedUser = this.userRepository.save(
111
- // invitation.organisationMembership.user
112
- // );
113
- // return updatedUser;
114
- }
115
- async handleNewIndependentUser(foundUser, rawAccessToken) {
92
+ const now = new Date();
93
+ const invitation = await this.invitationRepository.findOne({
94
+ where: {
95
+ uuid: invitationCode,
96
+ acceptedOn: IsNull(),
97
+ expiresOn: MoreThan(now),
98
+ },
99
+ relations: {
100
+ organisationMembership: {
101
+ user: true,
102
+ organisation: true,
103
+ },
104
+ },
105
+ });
106
+ if (!invitation) {
107
+ this.logger.log({
108
+ invitationCode,
109
+ now,
110
+ }, "invitation not found");
111
+ throw new NotFoundException("Valid invitation not found with provided code");
112
+ }
116
113
  // get the user's profile details from auth0
117
114
  const auth0User = await this.getAuth0User(rawAccessToken);
118
- if (auth0User === undefined) {
119
- throw new Error("Error getting user profile from Auth0");
115
+ // set the invitation to accepted
116
+ invitation.acceptedOn = new Date();
117
+ // set the user's membership to member
118
+ const memberRole = invitation.organisationMembership.roles?.find((r) => r.name === Roles.invited);
119
+ if (!memberRole) {
120
+ throw new Error("Invited role not found for member");
121
+ }
122
+ memberRole.name = Roles.member;
123
+ this.mapAuthZUserToEntity(invitation.organisationMembership.user, auth0User);
124
+ try {
125
+ await this.invitationRepository.save(invitation);
126
+ }
127
+ catch (error) {
128
+ if (error.message?.includes("duplicate key")) {
129
+ throw new BadRequestException("User is already a member of this organisation");
130
+ }
131
+ throw error;
120
132
  }
121
- if (auth0User.email_verified === false) {
122
- throw new Error("Email not verified");
133
+ const userForRequest = await this.userRepository.findOne({
134
+ where: { id: invitation.organisationMembership.user.id },
135
+ relations: {
136
+ memberships: true,
137
+ },
138
+ });
139
+ if (!userForRequest) {
140
+ throw new Error("User not found");
123
141
  }
142
+ return userForRequest;
143
+ }
144
+ async handleNewIndependentUser(foundUser, rawAccessToken) {
145
+ // get the user's profile details from auth0
146
+ const auth0User = await this.getAuth0User(rawAccessToken);
124
147
  // create role
125
148
  const newRole = new MembershipRole();
126
149
  newRole.name = Roles.owner;
@@ -138,9 +161,17 @@ let UserValidationService = class UserValidationService {
138
161
  // assign the membership
139
162
  user.memberships = [membership];
140
163
  this.mapAuthZUserToEntity(user, auth0User);
141
- // eslint-disable-next-line sonarjs/prefer-immediate-return
142
- const updatedUser = this.userRepository.save(user);
143
- return updatedUser;
164
+ const savedUser = await this.userRepository.save(user);
165
+ const userForRequest = await this.userRepository.findOne({
166
+ where: { id: savedUser.id },
167
+ relations: {
168
+ memberships: true,
169
+ },
170
+ });
171
+ if (!userForRequest) {
172
+ throw new Error("User not found");
173
+ }
174
+ return userForRequest;
144
175
  }
145
176
  mapAuthZUserToEntity(user, auth0User) {
146
177
  user.auth0UserId = auth0User.sub;
@@ -154,12 +185,13 @@ let UserValidationService = class UserValidationService {
154
185
  user.username = auth0User.preferred_username;
155
186
  }
156
187
  };
157
- UserValidationService = __decorate([
188
+ UserValidationService = UserValidationService_1 = __decorate([
158
189
  Injectable(),
159
190
  __param(0, InjectRepository(User)),
191
+ __param(2, InjectRepository(Invitation)),
160
192
  __metadata("design:paramtypes", [Repository,
161
- AuthZClientService // private invitationService: InvitationService
162
- ])
193
+ AuthZClientService,
194
+ Repository])
163
195
  ], UserValidationService);
164
196
  export { UserValidationService };
165
197
  //# sourceMappingURL=UserValidation.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserValidation.service.js","sourceRoot":"","sources":["../../../src/authorization/services/UserValidation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserValidation.service.js","sourceRoot":"","sources":["../../../src/authorization/services/UserValidation.service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ import { SwaggerGen } from "./root-app/SwaggerGen.js";
14
14
  import { TwitterClientService } from "./twitter-client/services/twitter-client.service.js";
15
15
  import { CoreConfigModule } from "./core-config/CoreConfig.module.js";
16
16
  import { CliCommandService } from "./runningCommandLine/CliCommandService.js";
17
+ export { CoreConfigurationService, SmtpEmailClientModule, CoreModule, CoreConfigModule, SwaggerGen, PostgresDatabaseModule as DatabaseModule, PostgresTypeOrmConfigurationProvider as TypeOrmConfigurationProvider, SmtpEmailClient, ValidatedConfigurationService, SqliteDatabaseModule, SqliteDatabaseConfigurationService, TwitterClientService, TwitterAccountModule, EUploadMimeType, RunningCommandLineModule, CliCommandService, };
18
+ export { SuperPowersModule } from "./super-powers/super-powers.module.js";
17
19
  export { OrganisationModule } from "./organisation/organisation.module.js";
18
20
  export { OrganisationMembershipsService } from "./organisation-memberships/organisation-memberships.service.js";
19
21
  export { OrganisationMembershipsModule } from "./organisation-memberships/organisation-memberships.module.js";
@@ -47,4 +49,3 @@ export { UserApiKeyController } from "./user-api-key/user-apikey.controller.js";
47
49
  export { UserApiKeyModule } from "./user-api-key/user-apikey.module.js";
48
50
  export { User } from "./user-internal/entities/user.entity.js";
49
51
  export { UserService } from "./user-internal/user.service.js";
50
- export { CoreConfigurationService, SmtpEmailClientModule, CoreModule, CoreConfigModule, SwaggerGen, PostgresDatabaseModule as DatabaseModule, PostgresTypeOrmConfigurationProvider as TypeOrmConfigurationProvider, SmtpEmailClient, ValidatedConfigurationService, SqliteDatabaseModule, SqliteDatabaseConfigurationService, TwitterClientService, TwitterAccountModule, EUploadMimeType, RunningCommandLineModule, CliCommandService, };
package/dist/index.js CHANGED
@@ -16,6 +16,8 @@ import { SwaggerGen } from "./root-app/SwaggerGen.js";
16
16
  import { TwitterClientService } from "./twitter-client/services/twitter-client.service.js";
17
17
  import { CoreConfigModule } from "./core-config/CoreConfig.module.js";
18
18
  import { CliCommandService } from "./runningCommandLine/CliCommandService.js";
19
+ export { CoreConfigurationService, SmtpEmailClientModule, CoreModule, CoreConfigModule, SwaggerGen, PostgresDatabaseModule as DatabaseModule, PostgresTypeOrmConfigurationProvider as TypeOrmConfigurationProvider, SmtpEmailClient, ValidatedConfigurationService, SqliteDatabaseModule, SqliteDatabaseConfigurationService, TwitterClientService, TwitterAccountModule, EUploadMimeType, RunningCommandLineModule, CliCommandService, };
20
+ export { SuperPowersModule } from "./super-powers/super-powers.module.js";
19
21
  export { OrganisationModule } from "./organisation/organisation.module.js";
20
22
  // org subscriptions
21
23
  export { OrganisationMembershipsService } from "./organisation-memberships/organisation-memberships.service.js";
@@ -52,5 +54,4 @@ export { UserApiKeyController } from "./user-api-key/user-apikey.controller.js";
52
54
  export { UserApiKeyModule } from "./user-api-key/user-apikey.module.js";
53
55
  export { User } from "./user-internal/entities/user.entity.js";
54
56
  export { UserService } from "./user-internal/user.service.js";
55
- export { CoreConfigurationService, SmtpEmailClientModule, CoreModule, CoreConfigModule, SwaggerGen, PostgresDatabaseModule as DatabaseModule, PostgresTypeOrmConfigurationProvider as TypeOrmConfigurationProvider, SmtpEmailClient, ValidatedConfigurationService, SqliteDatabaseModule, SqliteDatabaseConfigurationService, TwitterClientService, TwitterAccountModule, EUploadMimeType, RunningCommandLineModule, CliCommandService, };
56
57
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { ApiProperty } from "@nestjs/swagger";
11
+ import { IsEmail, IsInt, IsString, MinLength } from "class-validator";
11
12
  export class CreateInvitationDto {
12
13
  givenName;
13
14
  emailAddress;
@@ -15,14 +16,18 @@ export class CreateInvitationDto {
15
16
  }
16
17
  __decorate([
17
18
  ApiProperty(),
19
+ IsString(),
20
+ MinLength(1),
18
21
  __metadata("design:type", String)
19
22
  ], CreateInvitationDto.prototype, "givenName", void 0);
20
23
  __decorate([
21
24
  ApiProperty(),
25
+ IsEmail(),
22
26
  __metadata("design:type", String)
23
27
  ], CreateInvitationDto.prototype, "emailAddress", void 0);
24
28
  __decorate([
25
29
  ApiProperty(),
30
+ IsInt(),
26
31
  __metadata("design:type", Number)
27
32
  ], CreateInvitationDto.prototype, "organisationId", void 0);
28
33
  //# sourceMappingURL=create-invitation.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-invitation.dto.js","sourceRoot":"","sources":["../../../src/invitations/dto/create-invitation.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE5C,MAAM,OAAO,mBAAmB;IAE5B,SAAS,CAAU;IAGnB,YAAY,CAAU;IAGtB,cAAc,CAAU;CAC3B;AARG;IAAC,WAAW,EAAE;;sDACK;AAEnB;IAAC,WAAW,EAAE;;yDACQ;AAEtB;IAAC,WAAW,EAAE;;2DACU"}
1
+ {"version":3,"file":"create-invitation.dto.js","sourceRoot":"","sources":["../../../src/invitations/dto/create-invitation.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAEpE,MAAM,OAAO,mBAAmB;IAI5B,SAAS,CAAU;IAInB,YAAY,CAAU;IAItB,cAAc,CAAU;CAC3B;AAZG;IAAC,WAAW,EAAE;IACb,QAAQ,EAAE;IACV,SAAS,CAAC,CAAC,CAAC;;sDACM;AAEnB;IAAC,WAAW,EAAE;IACb,OAAO,EAAE;;yDACY;AAEtB;IAAC,WAAW,EAAE;IACb,KAAK,EAAE;;2DACgB"}
@@ -5,7 +5,7 @@ export declare class Invitation {
5
5
  uuid: string;
6
6
  givenName: string;
7
7
  emailAddress: string;
8
- notificationSent: Date;
8
+ notificationSent?: Date;
9
9
  expiresOn: Date;
10
10
  acceptedOn?: Date;
11
11
  organisationMembership: Relation<OrganisationMembership>;
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { OrganisationMembership } from "../../organisation-memberships/entities/organisation-membership.entity.js";
11
11
  import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
12
12
  import { Type } from "class-transformer";
13
- import { Column, CreateDateColumn, DeleteDateColumn, Entity, Generated, OneToOne, PrimaryGeneratedColumn, UpdateDateColumn, } from "typeorm";
13
+ import { Column, CreateDateColumn, DeleteDateColumn, Entity, Generated, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn, } from "typeorm";
14
14
  let Invitation = class Invitation {
15
15
  id;
16
16
  uuid;
@@ -49,8 +49,8 @@ __decorate([
49
49
  __metadata("design:type", String)
50
50
  ], Invitation.prototype, "emailAddress", void 0);
51
51
  __decorate([
52
- Column(),
53
- ApiProperty(),
52
+ Column({ nullable: true }),
53
+ ApiPropertyOptional(),
54
54
  __metadata("design:type", Date)
55
55
  ], Invitation.prototype, "notificationSent", void 0);
56
56
  __decorate([
@@ -59,14 +59,16 @@ __decorate([
59
59
  __metadata("design:type", Date)
60
60
  ], Invitation.prototype, "expiresOn", void 0);
61
61
  __decorate([
62
- Column(),
62
+ Column({ nullable: true }),
63
63
  ApiPropertyOptional(),
64
64
  __metadata("design:type", Date)
65
65
  ], Invitation.prototype, "acceptedOn", void 0);
66
66
  __decorate([
67
- ApiProperty(),
67
+ ApiProperty({ type: () => OrganisationMembership }),
68
68
  Type(() => OrganisationMembership),
69
- OneToOne(() => OrganisationMembership),
69
+ ManyToOne(() => OrganisationMembership, (om) => om.invitations, {
70
+ cascade: ["insert", "update"],
71
+ }),
70
72
  __metadata("design:type", Object)
71
73
  ], Invitation.prototype, "organisationMembership", void 0);
72
74
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"invitation.entity.js","sourceRoot":"","sources":["../../../src/invitations/entities/invitation.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,2EAA2E,CAAC;AACjH,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EACH,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,sBAAsB,EAEtB,gBAAgB,GACnB,MAAM,SAAS,CAAC;AAGV,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGnB,EAAE,CAAU;IAQL,IAAI,CAAU;IAIrB,SAAS,CAAU;IAInB,YAAY,CAAU;IAItB,gBAAgB,CAAQ;IAIxB,SAAS,CAAQ;IAIjB,UAAU,CAAQ;IAKlB,sBAAsB,CAAoC;IAI1D,WAAW,CAAQ;IAInB,UAAU,CAAQ;IAIlB,WAAW,CAAQ;CACtB,CAAA;AAhDG;IAAC,sBAAsB,EAAE;IACxB,WAAW,EAAE;;sCACF;AAEZ;IAAC,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB;KACtC,CAAC;IACD,SAAS,CAAC,MAAM,CAAC;IACjB,WAAW,EAAE;;wCACO;AAErB;IAAC,MAAM,EAAE;IACR,WAAW,EAAE;;6CACK;AAEnB;IAAC,MAAM,EAAE;IACR,WAAW,EAAE;;gDACQ;AAEtB;IAAC,MAAM,EAAE;IACR,WAAW,EAAE;8BACK,IAAI;oDAAC;AAExB;IAAC,MAAM,EAAE;IACR,WAAW,EAAE;8BACF,IAAI;6CAAC;AAEjB;IAAC,MAAM,EAAE;IACR,mBAAmB,EAAE;8BACT,IAAI;8CAAC;AAElB;IAAC,WAAW,EAAE;IACb,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;;0DACmB;AAE1D;IAAC,gBAAgB,EAAE;IAClB,WAAW,EAAE;8BACA,IAAI;+CAAC;AAEnB;IAAC,gBAAgB,EAAE;IAClB,WAAW,EAAE;8BACD,IAAI;8CAAC;AAElB;IAAC,gBAAgB,EAAE;IAClB,mBAAmB,EAAE;8BACR,IAAI;+CAAC;AAhDV,UAAU;IADtB,MAAM,EAAE;GACI,UAAU,CAiDtB;SAjDY,UAAU"}
1
+ {"version":3,"file":"invitation.entity.js","sourceRoot":"","sources":["../../../src/invitations/entities/invitation.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,2EAA2E,CAAC;AACjH,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EACH,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,SAAS,EACT,sBAAsB,EAEtB,gBAAgB,GACnB,MAAM,SAAS,CAAC;AAGV,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGnB,EAAE,CAAU;IAQL,IAAI,CAAU;IAIrB,SAAS,CAAU;IAInB,YAAY,CAAU;IAItB,gBAAgB,CAAQ;IAIxB,SAAS,CAAQ;IAIjB,UAAU,CAAQ;IAOlB,sBAAsB,CAAoC;IAI1D,WAAW,CAAQ;IAInB,UAAU,CAAQ;IAIlB,WAAW,CAAQ;CACtB,CAAA;AAlDG;IAAC,sBAAsB,EAAE;IACxB,WAAW,EAAE;;sCACF;AAEZ;IAAC,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB;KACtC,CAAC;IACD,SAAS,CAAC,MAAM,CAAC;IACjB,WAAW,EAAE;;wCACO;AAErB;IAAC,MAAM,EAAE;IACR,WAAW,EAAE;;6CACK;AAEnB;IAAC,MAAM,EAAE;IACR,WAAW,EAAE;;gDACQ;AAEtB;IAAC,MAAM,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;IACxB,mBAAmB,EAAE;8BACH,IAAI;oDAAC;AAExB;IAAC,MAAM,EAAE;IACR,WAAW,EAAE;8BACF,IAAI;6CAAC;AAEjB;IAAC,MAAM,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;IACxB,mBAAmB,EAAE;8BACT,IAAI;8CAAC;AAElB;IAAC,WAAW,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,sBAAsB,EAAC,CAAC;IACjD,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE,CAAC,sBAAsB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE;QAC7D,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAChC,CAAC;;0DACwD;AAE1D;IAAC,gBAAgB,EAAE;IAClB,WAAW,EAAE;8BACA,IAAI;+CAAC;AAEnB;IAAC,gBAAgB,EAAE;IAClB,WAAW,EAAE;8BACD,IAAI;8CAAC;AAElB;IAAC,gBAAgB,EAAE;IAClB,mBAAmB,EAAE;8BACR,IAAI;+CAAC;AAlDV,UAAU;IADtB,MAAM,EAAE;GACI,UAAU,CAmDtB;SAnDY,UAAU"}
@@ -5,6 +5,8 @@ import { CreateInvitationDto } from "./dto/create-invitation.dto.js";
5
5
  export declare class InvitationController {
6
6
  private readonly invitationService;
7
7
  constructor(invitationService: InvitationService);
8
+ accept(invitationId: string, request: RequestWithUser): Promise<boolean>;
9
+ getAllForOrg(orgId: string, request: RequestWithUser): Promise<Invitation[]>;
8
10
  create(createDto: CreateInvitationDto, request: RequestWithUser): Promise<Invitation>;
9
11
  remove(uuid: string, request: RequestWithUser): Promise<boolean>;
10
12
  }
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { Controller, Request, Body, Param, Delete, UseGuards, Post, } from "@nestjs/common";
13
+ import { Controller, Request, Body, Param, Delete, UseGuards, Post, Query, Get, } from "@nestjs/common";
14
14
  import { ApiBearerAuth, ApiOkResponse, ApiTags } from "@nestjs/swagger";
15
15
  import { AuthGuard } from "@nestjs/passport";
16
16
  import { Invitation } from "./entities/invitation.entity.js";
@@ -21,14 +21,52 @@ let InvitationController = class InvitationController {
21
21
  constructor(invitationService) {
22
22
  this.invitationService = invitationService;
23
23
  }
24
+ // The following method exists to expose the query string param
25
+ // but invitation work is kicked off by the auth strategy as it
26
+ // tries to resolve the correct user there in the middleware
27
+ // before the request reaches the controller
28
+ // eslint-disable-next-line @typescript-eslint/require-await
29
+ async accept(
30
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
+ invitationId,
32
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
+ request) {
34
+ return true;
35
+ }
36
+ // this id here feels a bit backwards
37
+ async getAllForOrg(
38
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
39
+ orgId,
40
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
41
+ request) {
42
+ return this.invitationService.getAllForOrg(orgId, request.user);
43
+ }
24
44
  async create(createDto, request) {
25
45
  return this.invitationService.create(createDto, request.user);
26
46
  }
27
47
  async remove(uuid, request) {
28
- const deleteResult = await this.invitationService.remove(uuid, request.user.id);
48
+ const deleteResult = await this.invitationService.remove(uuid, request.user);
29
49
  return deleteResult.deletedDate !== undefined;
30
50
  }
31
51
  };
52
+ __decorate([
53
+ Post("accept"),
54
+ ApiOkResponse(),
55
+ __param(0, Query("invitationId")),
56
+ __param(1, Request()),
57
+ __metadata("design:type", Function),
58
+ __metadata("design:paramtypes", [String, Object]),
59
+ __metadata("design:returntype", Promise)
60
+ ], InvitationController.prototype, "accept", null);
61
+ __decorate([
62
+ Get(":orgId"),
63
+ ApiOkResponse({ type: [Invitation] }),
64
+ __param(0, Param("orgId")),
65
+ __param(1, Request()),
66
+ __metadata("design:type", Function),
67
+ __metadata("design:paramtypes", [String, Object]),
68
+ __metadata("design:returntype", Promise)
69
+ ], InvitationController.prototype, "getAllForOrg", null);
32
70
  __decorate([
33
71
  Post(),
34
72
  ApiOkResponse({ type: Invitation }),
@@ -50,8 +88,8 @@ __decorate([
50
88
  InvitationController = __decorate([
51
89
  UseGuards(AuthGuard("jwt")),
52
90
  ApiBearerAuth(),
53
- Controller("organisations/invitations"),
54
- ApiTags("Organisations"),
91
+ Controller("invitations"),
92
+ ApiTags("Invitations"),
55
93
  __metadata("design:paramtypes", [InvitationService])
56
94
  ], InvitationController);
57
95
  export { InvitationController };
@@ -1 +1 @@
1
- {"version":3,"file":"invitation.controller.js","sourceRoot":"","sources":["../../src/invitations/invitation.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACH,UAAU,EACV,OAAO,EACP,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,IAAI,GACP,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAM5D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACA;IAA7B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAI/D,AAAN,KAAK,CAAC,MAAM,CACA,SAA8B,EAC3B,OAAwB;QAEnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAIK,AAAN,KAAK,CAAC,MAAM,CACO,IAAY,EAChB,OAAwB;QAEnC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CACpD,IAAI,EACJ,OAAO,CAAC,IAAI,CAAC,EAAE,CAClB,CAAC;QAEF,OAAO,YAAY,CAAC,WAAW,KAAK,SAAS,CAAC;IAClD,CAAC;CACJ,CAAA;AApBS;IAFL,IAAI,EAAE;IACN,aAAa,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;IAE7B,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,OAAO,EAAE,CAAA;;qCADS,mBAAmB;;kDAIzC;AAIK;IAFL,MAAM,CAAC,OAAO,CAAC;IACf,aAAa,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;IAE1B,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IACb,WAAA,OAAO,EAAE,CAAA;;;;kDAQb;AAxBQ,oBAAoB;IAJhC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3B,aAAa,EAAE;IACf,UAAU,CAAC,2BAA2B,CAAC;IACvC,OAAO,CAAC,eAAe,CAAC;qCAE2B,iBAAiB;GADxD,oBAAoB,CAyBhC;SAzBY,oBAAoB"}
1
+ {"version":3,"file":"invitation.controller.js","sourceRoot":"","sources":["../../src/invitations/invitation.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACH,UAAU,EACV,OAAO,EACP,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,IAAI,EACJ,KAAK,EACL,GAAG,GACN,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAM5D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACA;IAA7B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAErE,+DAA+D;IAC/D,+DAA+D;IAC/D,4DAA4D;IAC5D,4CAA4C;IAC5C,4DAA4D;IAGtD,AAAN,KAAK,CAAC,MAAM;IACR,6DAA6D;IACtC,YAAoB;IAC3C,6DAA6D;IAClD,OAAwB;QAEnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qCAAqC;IAG/B,AAAN,KAAK,CAAC,YAAY;IACd,6DAA6D;IAC7C,KAAa;IAC7B,6DAA6D;IAClD,OAAwB;QAEnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAIK,AAAN,KAAK,CAAC,MAAM,CACA,SAA8B,EAC3B,OAAwB;QAEnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAIK,AAAN,KAAK,CAAC,MAAM,CACO,IAAY,EAChB,OAAwB;QAEnC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CACpD,IAAI,EACJ,OAAO,CAAC,IAAI,CACf,CAAC;QAEF,OAAO,YAAY,CAAC,WAAW,KAAK,SAAS,CAAC;IAClD,CAAC;CACJ,CAAA;AA3CS;IAFL,IAAI,CAAC,QAAQ,CAAC;IACd,aAAa,EAAE;IAGX,WAAA,KAAK,CAAC,cAAc,CAAC,CAAA;IAErB,WAAA,OAAO,EAAE,CAAA;;;;kDAGb;AAKK;IAFL,GAAG,CAAC,QAAQ,CAAC;IACb,aAAa,CAAC,EAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAC,CAAC;IAG/B,WAAA,KAAK,CAAC,OAAO,CAAC,CAAA;IAEd,WAAA,OAAO,EAAE,CAAA;;;;wDAGb;AAIK;IAFL,IAAI,EAAE;IACN,aAAa,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;IAE7B,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,OAAO,EAAE,CAAA;;qCADS,mBAAmB;;kDAIzC;AAIK;IAFL,MAAM,CAAC,OAAO,CAAC;IACf,aAAa,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;IAE1B,WAAA,KAAK,CAAC,MAAM,CAAC,CAAA;IACb,WAAA,OAAO,EAAE,CAAA;;;;kDAQb;AApDQ,oBAAoB;IAJhC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3B,aAAa,EAAE;IACf,UAAU,CAAC,aAAa,CAAC;IACzB,OAAO,CAAC,aAAa,CAAC;qCAE6B,iBAAiB;GADxD,oBAAoB,CAqDhC;SArDY,oBAAoB"}
@@ -15,8 +15,8 @@ export declare class InvitationService {
15
15
  private readonly logger;
16
16
  constructor(invitationRepository: Repository<Invitation>, orgMembershipRepository: Repository<OrganisationMembership>, userRepository: Repository<User>, emailClient: SmtpEmailClient, configService: InvitationsConfigurationService);
17
17
  getOneActiveInvitation(invitationCode: string): Promise<Invitation | null>;
18
- acceptInvitation(invitationId: number): Promise<void>;
18
+ getAllForOrg(orgId: string, requestUser: RequestUser): Promise<Invitation[]>;
19
19
  create(createDto: CreateInvitationDto, createdBy: RequestUser): Promise<Invitation>;
20
20
  private canManageInvitationsForThisOrg;
21
- remove(uuid: string, currentUserId: number): Promise<Invitation>;
21
+ remove(uuid: string, currentUser: RequestUser): Promise<Invitation>;
22
22
  }