@stamhoofd/backend 2.74.0 → 2.75.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/index.ts +7 -2
  2. package/package.json +13 -13
  3. package/src/crons/update-cached-balances.ts +1 -2
  4. package/src/endpoints/admin/organizations/GetOrganizationsEndpoint.ts +2 -2
  5. package/src/endpoints/auth/CreateAdminEndpoint.ts +4 -15
  6. package/src/endpoints/auth/OpenIDConnectStartEndpoint.ts +0 -5
  7. package/src/endpoints/global/audit-logs/GetAuditLogsEndpoint.ts +2 -2
  8. package/src/endpoints/global/events/GetEventNotificationsCountEndpoint.ts +43 -0
  9. package/src/endpoints/global/events/GetEventNotificationsEndpoint.ts +181 -0
  10. package/src/endpoints/global/events/GetEventsEndpoint.ts +2 -2
  11. package/src/endpoints/global/events/PatchEventNotificationsEndpoint.ts +288 -0
  12. package/src/endpoints/global/events/PatchEventsEndpoint.ts +2 -2
  13. package/src/endpoints/global/files/UploadFile.ts +56 -4
  14. package/src/endpoints/global/files/UploadImage.ts +9 -3
  15. package/src/endpoints/global/members/GetMembersEndpoint.ts +2 -2
  16. package/src/endpoints/global/members/PatchOrganizationMembersEndpoint.ts +10 -1
  17. package/src/endpoints/global/platform/GetPlatformAdminsEndpoint.ts +1 -5
  18. package/src/endpoints/global/platform/PatchPlatformEnpoint.ts +7 -0
  19. package/src/endpoints/global/registration/GetUserDocumentsEndpoint.ts +1 -1
  20. package/src/endpoints/global/registration/RegisterMembersEndpoint.test.ts +2084 -164
  21. package/src/endpoints/global/registration/RegisterMembersEndpoint.ts +2 -2
  22. package/src/endpoints/global/registration-periods/PatchRegistrationPeriodsEndpoint.ts +48 -2
  23. package/src/endpoints/organization/dashboard/documents/GetDocumentsEndpoint.ts +2 -2
  24. package/src/endpoints/organization/dashboard/organization/PatchOrganizationEndpoint.ts +1 -1
  25. package/src/endpoints/organization/dashboard/payments/GetPaymentsEndpoint.ts +2 -2
  26. package/src/endpoints/organization/dashboard/receivable-balances/GetReceivableBalancesEndpoint.ts +2 -2
  27. package/src/endpoints/organization/dashboard/registration-periods/PatchOrganizationRegistrationPeriodsEndpoint.ts +8 -0
  28. package/src/endpoints/organization/dashboard/users/GetOrganizationAdminsEndpoint.ts +3 -3
  29. package/src/endpoints/organization/dashboard/webshops/GetWebshopOrdersEndpoint.ts +2 -2
  30. package/src/endpoints/organization/dashboard/webshops/GetWebshopTicketsEndpoint.ts +2 -2
  31. package/src/endpoints/organization/webshops/PlaceOrderEndpoint.ts +1 -2
  32. package/src/helpers/AdminPermissionChecker.ts +80 -2
  33. package/src/helpers/AuthenticatedStructures.ts +88 -2
  34. package/src/helpers/FlagMomentCleanup.ts +1 -8
  35. package/src/helpers/GlobalHelper.ts +15 -0
  36. package/src/helpers/MembershipCharger.ts +2 -1
  37. package/src/services/EventNotificationService.ts +201 -0
  38. package/src/services/FileSignService.ts +217 -0
  39. package/src/services/SSOService.ts +7 -2
  40. package/src/sql-filters/event-notifications.ts +39 -0
  41. package/src/sql-filters/organizations.ts +1 -1
  42. package/src/sql-sorters/event-notifications.ts +96 -0
  43. package/src/sql-sorters/events.ts +2 -2
  44. package/src/sql-sorters/organizations.ts +2 -2
  45. package/tests/e2e/private-files.test.ts +497 -0
  46. package/tests/e2e/register.test.ts +1197 -0
  47. package/tests/helpers/TestServer.ts +3 -0
  48. package/tests/jest.setup.ts +15 -2
  49. package/tsconfig.json +1 -0
@@ -3,11 +3,14 @@ import { VersionMiddleware } from '@stamhoofd/backend-middleware';
3
3
  import { Version } from '@stamhoofd/structures';
4
4
 
5
5
  import { ContextMiddleware } from '../../src/middleware/ContextMiddleware';
6
+ import { FileSignService } from '../../src/services/FileSignService';
6
7
 
7
8
  export const testServer = new TestServer();
8
9
 
9
10
  // Contexts
10
11
  testServer.addRequestMiddleware(ContextMiddleware);
12
+ testServer.addResponseMiddleware(FileSignService);
13
+ testServer.addRequestMiddleware(FileSignService);
11
14
 
12
15
  // Add version headers and minimum version
13
16
  const versionMiddleware = new VersionMiddleware({
@@ -3,11 +3,12 @@ backendEnv.load({ path: __dirname + '/../../.env.test.json' });
3
3
 
4
4
  import { Column, Database } from '@simonbackx/simple-database';
5
5
  import { Request } from '@simonbackx/simple-endpoints';
6
- import { I18n } from '@stamhoofd/backend-i18n';
7
6
  import { Email } from '@stamhoofd/email';
8
7
  import { Version } from '@stamhoofd/structures';
9
8
  import { sleep } from '@stamhoofd/utility';
10
9
  import nock from 'nock';
10
+ import { GlobalHelper } from '../src/helpers/GlobalHelper';
11
+ import * as jose from 'jose';
11
12
 
12
13
  // Set version of saved structures
13
14
  Column.setJSONVersion(Version);
@@ -47,7 +48,19 @@ beforeAll(async () => {
47
48
  await Database.delete('DELETE FROM `payments`');
48
49
  await Database.delete('OPTIMIZE TABLE organizations;'); // fix breaking of indexes due to deletes (mysql bug?)
49
50
 
50
- await I18n.load();
51
+ // Use random file keys in tests
52
+ const alg = 'ES256';
53
+ (STAMHOOFD as any).FILE_SIGNING_ALG = alg;
54
+
55
+ const { publicKey, privateKey } = await jose.generateKeyPair(alg);
56
+
57
+ const exportedPublicKey = await jose.exportJWK(publicKey);
58
+ const exportedPrivateKey = await jose.exportJWK(privateKey);
59
+
60
+ (STAMHOOFD as any).FILE_SIGNING_PUBLIC_KEY = exportedPublicKey;
61
+ (STAMHOOFD as any).FILE_SIGNING_PRIVATE_KEY = exportedPrivateKey;
62
+
63
+ await GlobalHelper.load();
51
64
  });
52
65
 
53
66
  afterAll(async () => {
package/tsconfig.json CHANGED
@@ -24,6 +24,7 @@
24
24
  ]
25
25
  },
26
26
  "include": [
27
+ "*.d.ts",
27
28
  "src/**/*.ts",
28
29
  "tests/**/*.ts",
29
30
  "index.ts",