@grantjs/schema 1.4.1 → 1.5.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 (49) hide show
  1. package/package.json +9 -9
  2. package/src/events/event-catalog.ts +214 -0
  3. package/src/events/event-envelope.ts +73 -0
  4. package/src/events/index.ts +2 -0
  5. package/src/generated/graphql.ts +1318 -111
  6. package/src/generated/resolvers.ts +628 -0
  7. package/src/generated/schema-types.ts +312 -0
  8. package/src/index.ts +3 -0
  9. package/src/notifications/notification.types.ts +21 -0
  10. package/src/operations/api-keys/rotate-api-key.graphql +11 -0
  11. package/src/operations/groups/getGroups.graphql +1 -8
  12. package/src/operations/groups/getGroupsList.graphql +6 -0
  13. package/src/operations/me/mark-all-my-notifications-read.graphql +5 -0
  14. package/src/operations/me/mark-my-notification-read.graphql +3 -0
  15. package/src/operations/me/my-notification-preferences.graphql +11 -0
  16. package/src/operations/me/my-notifications.graphql +26 -0
  17. package/src/operations/me/my-project-membership.graphql +14 -0
  18. package/src/operations/me/my-project-memberships.graphql +14 -0
  19. package/src/operations/me/my-unread-notification-count.graphql +5 -0
  20. package/src/operations/me/set-my-notification-preference.graphql +11 -0
  21. package/src/operations/me/update-my-project-membership.graphql +14 -0
  22. package/src/operations/me/upload-my-project-membership-picture.graphql +6 -0
  23. package/src/operations/roles/getRoles.graphql +1 -14
  24. package/src/operations/webhooks/create-webhook-subscription.graphql +13 -0
  25. package/src/operations/webhooks/delete-webhook-subscription.graphql +3 -0
  26. package/src/operations/webhooks/replay-webhook-delivery.graphql +11 -0
  27. package/src/operations/webhooks/rotate-webhook-subscription-secret.graphql +7 -0
  28. package/src/operations/webhooks/update-webhook-subscription.graphql +10 -0
  29. package/src/operations/webhooks/webhook-deliveries.graphql +31 -0
  30. package/src/operations/webhooks/webhook-subscription.graphql +13 -0
  31. package/src/operations/webhooks/webhook-subscriptions.graphql +13 -0
  32. package/src/schema/api-keys/inputs/rotate-api-key.graphql +4 -0
  33. package/src/schema/api-keys/mutations/rotate-api-key.graphql +7 -0
  34. package/src/schema/me/input/notification.graphql +16 -0
  35. package/src/schema/me/input/update-my-project-membership.graphql +5 -0
  36. package/src/schema/me/input/upload-my-project-membership-picture.graphql +6 -0
  37. package/src/schema/me/mutations/my-notifications.graphql +5 -0
  38. package/src/schema/me/mutations/update-my-project-membership.graphql +6 -0
  39. package/src/schema/me/mutations/upload-my-project-membership-picture.graphql +5 -0
  40. package/src/schema/me/queries/my-notifications.graphql +5 -0
  41. package/src/schema/me/queries/my-project-membership.graphql +6 -0
  42. package/src/schema/me/queries/my-project-memberships.graphql +6 -0
  43. package/src/schema/me/types/my-project-membership.graphql +12 -0
  44. package/src/schema/me/types/notification.graphql +63 -0
  45. package/src/schema/webhooks/inputs/webhook-subscription.graphql +33 -0
  46. package/src/schema/webhooks/mutations/webhook-subscriptions.graphql +33 -0
  47. package/src/schema/webhooks/queries/webhook-subscriptions.graphql +22 -0
  48. package/src/schema/webhooks/types/webhook-subscription.graphql +58 -0
  49. package/src/webhooks/webhook.types.ts +25 -0
@@ -688,6 +688,15 @@ export type CreateUserSessionInput = {
688
688
  userId: Scalars['ID']['input'];
689
689
  };
690
690
 
691
+ export type CreateWebhookSubscriptionMutationInput = {
692
+ active?: InputMaybe<Scalars['Boolean']['input']>;
693
+ description?: InputMaybe<Scalars['String']['input']>;
694
+ /** Domain event type filters (must be known catalog types). */
695
+ eventTypes: Array<Scalars['String']['input']>;
696
+ scope: Scope;
697
+ url: Scalars['String']['input'];
698
+ };
699
+
691
700
  export type DeleteApiKeyInput = {
692
701
  hardDelete?: InputMaybe<Scalars['Boolean']['input']>;
693
702
  id: Scalars['ID']['input'];
@@ -706,6 +715,11 @@ export type DeleteUserSessionInput = {
706
715
  id: Scalars['ID']['input'];
707
716
  };
708
717
 
718
+ export type DeleteWebhookSubscriptionInput = {
719
+ id: Scalars['ID']['input'];
720
+ scope: Scope;
721
+ };
722
+
709
723
  export type EmailVerificationProofInput = {
710
724
  emailProofToken: Scalars['String']['input'];
711
725
  token: Scalars['String']['input'];
@@ -897,6 +911,11 @@ export type LogoutMyUserResponse = {
897
911
  message: Scalars['String']['output'];
898
912
  };
899
913
 
914
+ export type MarkAllNotificationsReadResult = {
915
+ __typename?: 'MarkAllNotificationsReadResult';
916
+ updated: Scalars['Int']['output'];
917
+ };
918
+
900
919
  export type MeResponse = {
901
920
  __typename?: 'MeResponse';
902
921
  accounts: Array<Account>;
@@ -981,6 +1000,8 @@ export type Mutation = {
981
1000
  createRole: Role;
982
1001
  createTag: Tag;
983
1002
  createUser: User;
1003
+ /** Create a project webhook subscription. The signing secret is returned once. */
1004
+ createWebhookSubscription: WebhookSubscriptionWithSecret;
984
1005
  deleteApiKey: ApiKey;
985
1006
  deleteGroup: Group;
986
1007
  deleteMyAccounts: User;
@@ -993,16 +1014,22 @@ export type Mutation = {
993
1014
  deleteRole: Role;
994
1015
  deleteTag: Tag;
995
1016
  deleteUser: User;
1017
+ /** Soft-delete a webhook subscription. */
1018
+ deleteWebhookSubscription: Scalars['Boolean']['output'];
996
1019
  exchangeApiKey: ExchangeApiKeyResult;
997
1020
  generateMyMfaRecoveryCodes: Array<Scalars['String']['output']>;
998
1021
  inviteMember: OrganizationInvitation;
999
1022
  login: LoginResponse;
1000
1023
  logoutMyUser: LogoutMyUserResponse;
1024
+ markAllMyNotificationsRead: MarkAllNotificationsReadResult;
1025
+ markMyNotificationRead: Scalars['Boolean']['output'];
1001
1026
  refreshSession: RefreshSessionResponse;
1002
1027
  register: CreateAccountResult;
1003
1028
  removeMyMfaDevice: MfaVerifyResult;
1004
1029
  removeOrganizationMember: OrganizationMember;
1005
1030
  renewInvitation: OrganizationInvitation;
1031
+ /** Re-queue a delivery attempt for another POST. */
1032
+ replayWebhookDelivery: WebhookDeliveryAttempt;
1006
1033
  requestPasswordReset: RequestPasswordResetResponse;
1007
1034
  resendInvitationEmail: OrganizationInvitation;
1008
1035
  resendVerification: ResendVerificationResponse;
@@ -1012,12 +1039,20 @@ export type Mutation = {
1012
1039
  revokeMyUserSession: RevokeMyUserSessionResult;
1013
1040
  revokeRolePermission: RolePermission;
1014
1041
  revokeUserPermission: UserPermission;
1042
+ /**
1043
+ * Rotate an API key secret in place. Returns the new plaintext secret once.
1044
+ * Keeps the same key id and clientId; rejects revoked keys.
1045
+ */
1046
+ rotateApiKey: CreateApiKeyResult;
1015
1047
  /**
1016
1048
  * Rotate the signing key for the given scope: create a new active key and mark the previous one as rotated.
1017
1049
  * Allowed scopes: accountProject, organizationProject only.
1018
1050
  * Returns the new signing key (public info).
1019
1051
  */
1020
1052
  rotateSigningKey: SigningKey;
1053
+ /** Rotate the signing secret. The new secret is returned once. */
1054
+ rotateWebhookSubscriptionSecret: WebhookSubscriptionWithSecret;
1055
+ setMyNotificationPreference: NotificationPreference;
1021
1056
  setMyPrimaryAuthenticationMethod: UserAuthenticationMethod;
1022
1057
  setMyPrimaryMfaDevice: MfaDevice;
1023
1058
  setupMfa: MfaSetupResponse;
@@ -1045,6 +1080,8 @@ export type Mutation = {
1045
1080
  */
1046
1081
  startProjectSync: ProjectSyncJob;
1047
1082
  updateGroup: Group;
1083
+ /** Update the authenticated user's project membership profile (display name / picture). */
1084
+ updateMyProjectMembership: MyProjectMembership;
1048
1085
  updateMyUser: User;
1049
1086
  updateOrganization: Organization;
1050
1087
  updateOrganizationMember: OrganizationMember;
@@ -1056,6 +1093,9 @@ export type Mutation = {
1056
1093
  updateRole: Role;
1057
1094
  updateTag: Tag;
1058
1095
  updateUser: User;
1096
+ /** Update a webhook subscription URL, event filters, description, or active flag. */
1097
+ updateWebhookSubscription: WebhookSubscription;
1098
+ uploadMyProjectMembershipPicture: UploadUserPictureResult;
1059
1099
  uploadMyUserPicture: UploadUserPictureResult;
1060
1100
  uploadUserPicture: UploadUserPictureResult;
1061
1101
  verifyEmail: VerifyEmailResponse;
@@ -1130,6 +1170,10 @@ export type MutationCreateUserArgs = {
1130
1170
  input: CreateUserInput;
1131
1171
  };
1132
1172
 
1173
+ export type MutationCreateWebhookSubscriptionArgs = {
1174
+ input: CreateWebhookSubscriptionMutationInput;
1175
+ };
1176
+
1133
1177
  export type MutationDeleteApiKeyArgs = {
1134
1178
  input: DeleteApiKeyInput;
1135
1179
  };
@@ -1187,6 +1231,10 @@ export type MutationDeleteUserArgs = {
1187
1231
  scope: Scope;
1188
1232
  };
1189
1233
 
1234
+ export type MutationDeleteWebhookSubscriptionArgs = {
1235
+ input: DeleteWebhookSubscriptionInput;
1236
+ };
1237
+
1190
1238
  export type MutationExchangeApiKeyArgs = {
1191
1239
  input: ExchangeApiKeyInput;
1192
1240
  };
@@ -1203,6 +1251,10 @@ export type MutationLoginArgs = {
1203
1251
  input: LoginInput;
1204
1252
  };
1205
1253
 
1254
+ export type MutationMarkMyNotificationReadArgs = {
1255
+ id: Scalars['ID']['input'];
1256
+ };
1257
+
1206
1258
  export type MutationRegisterArgs = {
1207
1259
  input: RegisterInput;
1208
1260
  };
@@ -1221,6 +1273,10 @@ export type MutationRenewInvitationArgs = {
1221
1273
  scope: Scope;
1222
1274
  };
1223
1275
 
1276
+ export type MutationReplayWebhookDeliveryArgs = {
1277
+ input: ReplayWebhookDeliveryInput;
1278
+ };
1279
+
1224
1280
  export type MutationRequestPasswordResetArgs = {
1225
1281
  input: RequestPasswordResetInput;
1226
1282
  };
@@ -1259,10 +1315,22 @@ export type MutationRevokeUserPermissionArgs = {
1259
1315
  input: RevokeUserPermissionInput;
1260
1316
  };
1261
1317
 
1318
+ export type MutationRotateApiKeyArgs = {
1319
+ input: RotateApiKeyInput;
1320
+ };
1321
+
1262
1322
  export type MutationRotateSigningKeyArgs = {
1263
1323
  scope: Scope;
1264
1324
  };
1265
1325
 
1326
+ export type MutationRotateWebhookSubscriptionSecretArgs = {
1327
+ input: RotateWebhookSubscriptionSecretInput;
1328
+ };
1329
+
1330
+ export type MutationSetMyNotificationPreferenceArgs = {
1331
+ input: SetMyNotificationPreferenceInput;
1332
+ };
1333
+
1266
1334
  export type MutationSetMyPrimaryAuthenticationMethodArgs = {
1267
1335
  id: Scalars['ID']['input'];
1268
1336
  };
@@ -1288,6 +1356,10 @@ export type MutationUpdateGroupArgs = {
1288
1356
  input: UpdateGroupInput;
1289
1357
  };
1290
1358
 
1359
+ export type MutationUpdateMyProjectMembershipArgs = {
1360
+ input: UpdateMyProjectMembershipInput;
1361
+ };
1362
+
1291
1363
  export type MutationUpdateMyUserArgs = {
1292
1364
  input: UpdateMyUserInput;
1293
1365
  };
@@ -1337,6 +1409,15 @@ export type MutationUpdateUserArgs = {
1337
1409
  input: UpdateUserInput;
1338
1410
  };
1339
1411
 
1412
+ export type MutationUpdateWebhookSubscriptionArgs = {
1413
+ id: Scalars['ID']['input'];
1414
+ input: UpdateWebhookSubscriptionMutationInput;
1415
+ };
1416
+
1417
+ export type MutationUploadMyProjectMembershipPictureArgs = {
1418
+ input: UploadMyProjectMembershipPictureInput;
1419
+ };
1420
+
1340
1421
  export type MutationUploadMyUserPictureArgs = {
1341
1422
  input: UploadMyUserPictureInput;
1342
1423
  };
@@ -1361,6 +1442,26 @@ export type MutationVerifyMyMfaEnrollmentArgs = {
1361
1442
  input: VerifyMyMfaEnrollmentInput;
1362
1443
  };
1363
1444
 
1445
+ export type MyNotificationsInput = {
1446
+ limit?: InputMaybe<Scalars['Int']['input']>;
1447
+ page?: InputMaybe<Scalars['Int']['input']>;
1448
+ unreadOnly?: InputMaybe<Scalars['Boolean']['input']>;
1449
+ };
1450
+
1451
+ export type MyProjectMembership = {
1452
+ __typename?: 'MyProjectMembership';
1453
+ accountId?: Maybe<Scalars['ID']['output']>;
1454
+ displayName?: Maybe<Scalars['String']['output']>;
1455
+ joinedAt: Scalars['Date']['output'];
1456
+ metadata: Scalars['JSON']['output'];
1457
+ organizationId?: Maybe<Scalars['ID']['output']>;
1458
+ organizationName?: Maybe<Scalars['String']['output']>;
1459
+ pictureUrl?: Maybe<Scalars['String']['output']>;
1460
+ projectId: Scalars['ID']['output'];
1461
+ projectName: Scalars['String']['output'];
1462
+ role?: Maybe<Scalars['String']['output']>;
1463
+ };
1464
+
1364
1465
  export type MyUserSessionsInput = {
1365
1466
  audience?: InputMaybe<Scalars['String']['input']>;
1366
1467
  limit?: InputMaybe<Scalars['Int']['input']>;
@@ -1368,6 +1469,66 @@ export type MyUserSessionsInput = {
1368
1469
  search?: InputMaybe<Scalars['String']['input']>;
1369
1470
  };
1370
1471
 
1472
+ export type Notification = {
1473
+ __typename?: 'Notification';
1474
+ body?: Maybe<Scalars['String']['output']>;
1475
+ category: Scalars['String']['output'];
1476
+ channel: NotificationChannel;
1477
+ createdAt: Scalars['Date']['output'];
1478
+ eventId: Scalars['ID']['output'];
1479
+ id: Scalars['ID']['output'];
1480
+ readAt?: Maybe<Scalars['Date']['output']>;
1481
+ refEntity?: Maybe<Scalars['String']['output']>;
1482
+ refId?: Maybe<Scalars['ID']['output']>;
1483
+ scope?: Maybe<NotificationEventScope>;
1484
+ seenAt?: Maybe<Scalars['Date']['output']>;
1485
+ status: NotificationStatus;
1486
+ title: Scalars['String']['output'];
1487
+ type: Scalars['String']['output'];
1488
+ };
1489
+
1490
+ export enum NotificationChannel {
1491
+ Email = 'email',
1492
+ InApp = 'in_app',
1493
+ }
1494
+
1495
+ export type NotificationEventScope = {
1496
+ __typename?: 'NotificationEventScope';
1497
+ id: Scalars['ID']['output'];
1498
+ tenant: Scalars['String']['output'];
1499
+ };
1500
+
1501
+ export type NotificationPage = {
1502
+ __typename?: 'NotificationPage';
1503
+ hasNextPage: Scalars['Boolean']['output'];
1504
+ notifications: Array<Notification>;
1505
+ totalCount: Scalars['Int']['output'];
1506
+ unreadCount: Scalars['Int']['output'];
1507
+ };
1508
+
1509
+ export type NotificationPreference = {
1510
+ __typename?: 'NotificationPreference';
1511
+ category: Scalars['String']['output'];
1512
+ channel: NotificationChannel;
1513
+ enabled: Scalars['Boolean']['output'];
1514
+ id: Scalars['ID']['output'];
1515
+ scopeId: Scalars['String']['output'];
1516
+ scopeTenant: Scalars['String']['output'];
1517
+ source: NotificationPreferenceSource;
1518
+ };
1519
+
1520
+ export enum NotificationPreferenceSource {
1521
+ OrgEnforced = 'org_enforced',
1522
+ User = 'user',
1523
+ }
1524
+
1525
+ export enum NotificationStatus {
1526
+ Dead = 'dead',
1527
+ Delivered = 'delivered',
1528
+ Failed = 'failed',
1529
+ Pending = 'pending',
1530
+ }
1531
+
1371
1532
  export type Organization = Auditable & {
1372
1533
  __typename?: 'Organization';
1373
1534
  createdAt: Scalars['Date']['output'];
@@ -2011,6 +2172,13 @@ export type Query = {
2011
2172
  me: MeResponse;
2012
2173
  myMfaDevices: Array<MfaDevice>;
2013
2174
  myMfaRecoveryCodeStatus: MfaRecoveryCodeStatus;
2175
+ myNotificationPreferences: Array<NotificationPreference>;
2176
+ myNotifications: NotificationPage;
2177
+ /** A single project membership for the authenticated user. */
2178
+ myProjectMembership?: Maybe<MyProjectMembership>;
2179
+ /** Project memberships for the authenticated user (project_users pivots). */
2180
+ myProjectMemberships: Array<MyProjectMembership>;
2181
+ myUnreadNotificationCount: UnreadNotificationCount;
2014
2182
  myUserAuthenticationMethods: Array<UserAuthenticationMethod>;
2015
2183
  myUserDataExport: UserDataExport;
2016
2184
  myUserSessions: UserSessionPage;
@@ -2042,6 +2210,12 @@ export type Query = {
2042
2210
  signingKeys: Array<SigningKey>;
2043
2211
  tags: TagPage;
2044
2212
  users: UserPage;
2213
+ /** List delivery attempts for a project (optionally filtered by subscription or status). */
2214
+ webhookDeliveries: WebhookDeliveryPage;
2215
+ /** Get a single webhook subscription by id. */
2216
+ webhookSubscription: WebhookSubscription;
2217
+ /** List webhook subscriptions for a project scope. */
2218
+ webhookSubscriptions: Array<WebhookSubscription>;
2045
2219
  };
2046
2220
 
2047
2221
  export type QueryApiKeysArgs = {
@@ -2071,6 +2245,18 @@ export type QueryIsAuthorizedArgs = {
2071
2245
  input: IsAuthorizedInput;
2072
2246
  };
2073
2247
 
2248
+ export type QueryMyNotificationPreferencesArgs = {
2249
+ scopeTenant: Scalars['String']['input'];
2250
+ };
2251
+
2252
+ export type QueryMyNotificationsArgs = {
2253
+ input?: InputMaybe<MyNotificationsInput>;
2254
+ };
2255
+
2256
+ export type QueryMyProjectMembershipArgs = {
2257
+ projectId: Scalars['ID']['input'];
2258
+ };
2259
+
2074
2260
  export type QueryMyUserSessionsArgs = {
2075
2261
  input: MyUserSessionsInput;
2076
2262
  };
@@ -2193,6 +2379,23 @@ export type QueryUsersArgs = {
2193
2379
  tagIds?: InputMaybe<Array<Scalars['ID']['input']>>;
2194
2380
  };
2195
2381
 
2382
+ export type QueryWebhookDeliveriesArgs = {
2383
+ limit?: InputMaybe<Scalars['Int']['input']>;
2384
+ page?: InputMaybe<Scalars['Int']['input']>;
2385
+ scope: Scope;
2386
+ status?: InputMaybe<WebhookDeliveryStatus>;
2387
+ subscriptionId?: InputMaybe<Scalars['ID']['input']>;
2388
+ };
2389
+
2390
+ export type QueryWebhookSubscriptionArgs = {
2391
+ id: Scalars['ID']['input'];
2392
+ scope: Scope;
2393
+ };
2394
+
2395
+ export type QueryWebhookSubscriptionsArgs = {
2396
+ scope: Scope;
2397
+ };
2398
+
2196
2399
  export type QueryAccountProjectApiKeysInput = {
2197
2400
  accountId?: InputMaybe<Scalars['ID']['input']>;
2198
2401
  apiKeyId?: InputMaybe<Scalars['ID']['input']>;
@@ -2574,6 +2777,11 @@ export type RemoveUserTagInput = {
2574
2777
  userId: Scalars['ID']['input'];
2575
2778
  };
2576
2779
 
2780
+ export type ReplayWebhookDeliveryInput = {
2781
+ deliveryId: Scalars['ID']['input'];
2782
+ scope: Scope;
2783
+ };
2784
+
2577
2785
  export type RequestPasswordResetInput = {
2578
2786
  email: Scalars['String']['input'];
2579
2787
  };
@@ -2828,6 +3036,16 @@ export type RoleTagTagArgs = {
2828
3036
  scope: Scope;
2829
3037
  };
2830
3038
 
3039
+ export type RotateApiKeyInput = {
3040
+ id: Scalars['ID']['input'];
3041
+ scope: Scope;
3042
+ };
3043
+
3044
+ export type RotateWebhookSubscriptionSecretInput = {
3045
+ id: Scalars['ID']['input'];
3046
+ scope: Scope;
3047
+ };
3048
+
2831
3049
  export type Scope = {
2832
3050
  id: Scalars['ID']['input'];
2833
3051
  tenant: Tenant;
@@ -2849,6 +3067,15 @@ export type SessionExportData = {
2849
3067
  userAgent?: Maybe<Scalars['String']['output']>;
2850
3068
  };
2851
3069
 
3070
+ export type SetMyNotificationPreferenceInput = {
3071
+ /** Notification preference category (security, iam, membership, integrations). */
3072
+ category: Scalars['String']['input'];
3073
+ channel: NotificationChannel;
3074
+ enabled: Scalars['Boolean']['input'];
3075
+ scopeId?: InputMaybe<Scalars['String']['input']>;
3076
+ scopeTenant: Scalars['String']['input'];
3077
+ };
3078
+
2852
3079
  export type SetMyPrimaryMfaDeviceInput = {
2853
3080
  factorId: Scalars['ID']['input'];
2854
3081
  };
@@ -3009,6 +3236,11 @@ export enum TokenType {
3009
3236
  System = 'system',
3010
3237
  }
3011
3238
 
3239
+ export type UnreadNotificationCount = {
3240
+ __typename?: 'UnreadNotificationCount';
3241
+ unreadCount: Scalars['Int']['output'];
3242
+ };
3243
+
3012
3244
  export type UpdateAccountProjectTagInput = {
3013
3245
  accountId: Scalars['ID']['input'];
3014
3246
  isPrimary: Scalars['Boolean']['input'];
@@ -3038,6 +3270,12 @@ export type UpdateGroupTagInput = {
3038
3270
  tagId: Scalars['ID']['input'];
3039
3271
  };
3040
3272
 
3273
+ export type UpdateMyProjectMembershipInput = {
3274
+ displayName?: InputMaybe<Scalars['String']['input']>;
3275
+ pictureUrl?: InputMaybe<Scalars['String']['input']>;
3276
+ projectId: Scalars['ID']['input'];
3277
+ };
3278
+
3041
3279
  export type UpdateMyUserAuthenticationMethodInput = {
3042
3280
  isPrimary?: InputMaybe<Scalars['Boolean']['input']>;
3043
3281
  isVerified?: InputMaybe<Scalars['Boolean']['input']>;
@@ -3213,6 +3451,21 @@ export type UpdateUserTagInput = {
3213
3451
  userId: Scalars['ID']['input'];
3214
3452
  };
3215
3453
 
3454
+ export type UpdateWebhookSubscriptionMutationInput = {
3455
+ active?: InputMaybe<Scalars['Boolean']['input']>;
3456
+ description?: InputMaybe<Scalars['String']['input']>;
3457
+ eventTypes?: InputMaybe<Array<Scalars['String']['input']>>;
3458
+ scope: Scope;
3459
+ url?: InputMaybe<Scalars['String']['input']>;
3460
+ };
3461
+
3462
+ export type UploadMyProjectMembershipPictureInput = {
3463
+ contentType: Scalars['String']['input'];
3464
+ file: Scalars['String']['input'];
3465
+ filename: Scalars['String']['input'];
3466
+ projectId: Scalars['ID']['input'];
3467
+ };
3468
+
3216
3469
  export type UploadMyUserPictureInput = {
3217
3470
  contentType: Scalars['String']['input'];
3218
3471
  file: Scalars['String']['input'];
@@ -3501,6 +3754,65 @@ export type VerifyMyMfaEnrollmentInput = {
3501
3754
  code: Scalars['String']['input'];
3502
3755
  };
3503
3756
 
3757
+ export type WebhookDeliveryAttempt = {
3758
+ __typename?: 'WebhookDeliveryAttempt';
3759
+ attemptCount: Scalars['Int']['output'];
3760
+ createdAt: Scalars['Date']['output'];
3761
+ deliveredAt?: Maybe<Scalars['Date']['output']>;
3762
+ errorDetails?: Maybe<Scalars['JSON']['output']>;
3763
+ eventId: Scalars['ID']['output'];
3764
+ id: Scalars['ID']['output'];
3765
+ lastResponseStatus?: Maybe<Scalars['Int']['output']>;
3766
+ nextRetryAt?: Maybe<Scalars['Date']['output']>;
3767
+ status: WebhookDeliveryStatus;
3768
+ subscriptionId: Scalars['ID']['output'];
3769
+ updatedAt: Scalars['Date']['output'];
3770
+ };
3771
+
3772
+ export type WebhookDeliveryPage = {
3773
+ __typename?: 'WebhookDeliveryPage';
3774
+ hasNextPage: Scalars['Boolean']['output'];
3775
+ items: Array<WebhookDeliveryAttempt>;
3776
+ totalCount: Scalars['Int']['output'];
3777
+ };
3778
+
3779
+ export enum WebhookDeliveryStatus {
3780
+ Dead = 'dead',
3781
+ Delivered = 'delivered',
3782
+ Failed = 'failed',
3783
+ Pending = 'pending',
3784
+ Running = 'running',
3785
+ }
3786
+
3787
+ export type WebhookSubscription = {
3788
+ __typename?: 'WebhookSubscription';
3789
+ active: Scalars['Boolean']['output'];
3790
+ createdAt: Scalars['Date']['output'];
3791
+ createdById?: Maybe<Scalars['ID']['output']>;
3792
+ description?: Maybe<Scalars['String']['output']>;
3793
+ eventTypes: Array<Scalars['String']['output']>;
3794
+ id: Scalars['ID']['output'];
3795
+ projectId: Scalars['ID']['output'];
3796
+ updatedAt: Scalars['Date']['output'];
3797
+ url: Scalars['String']['output'];
3798
+ };
3799
+
3800
+ /** Returned only at creation or secret rotation. Store the secret immediately. */
3801
+ export type WebhookSubscriptionWithSecret = {
3802
+ __typename?: 'WebhookSubscriptionWithSecret';
3803
+ active: Scalars['Boolean']['output'];
3804
+ createdAt: Scalars['Date']['output'];
3805
+ createdById?: Maybe<Scalars['ID']['output']>;
3806
+ description?: Maybe<Scalars['String']['output']>;
3807
+ eventTypes: Array<Scalars['String']['output']>;
3808
+ id: Scalars['ID']['output'];
3809
+ projectId: Scalars['ID']['output'];
3810
+ /** Plaintext signing secret. Shown once; never returned by list/get/update. */
3811
+ secret: Scalars['String']['output'];
3812
+ updatedAt: Scalars['Date']['output'];
3813
+ url: Scalars['String']['output'];
3814
+ };
3815
+
3504
3816
  export type WithIndex<TObject> = TObject & Record<string, any>;
3505
3817
  export type ResolversObject<TObject> = WithIndex<TObject>;
3506
3818
 
@@ -3759,11 +4071,13 @@ export type ResolversTypes = ResolversObject<{
3759
4071
  CreateUserAuthenticationMethodInput: CreateUserAuthenticationMethodInput;
3760
4072
  CreateUserInput: CreateUserInput;
3761
4073
  CreateUserSessionInput: CreateUserSessionInput;
4074
+ CreateWebhookSubscriptionMutationInput: CreateWebhookSubscriptionMutationInput;
3762
4075
  Date: ResolverTypeWrapper<Scalars['Date']['output']>;
3763
4076
  DeleteApiKeyInput: DeleteApiKeyInput;
3764
4077
  DeleteMyAccountsInput: DeleteMyAccountsInput;
3765
4078
  DeleteUserAuthenticationMethodInput: DeleteUserAuthenticationMethodInput;
3766
4079
  DeleteUserSessionInput: DeleteUserSessionInput;
4080
+ DeleteWebhookSubscriptionInput: DeleteWebhookSubscriptionInput;
3767
4081
  EmailVerificationProofInput: EmailVerificationProofInput;
3768
4082
  EmailVerificationProofType: EmailVerificationProofType;
3769
4083
  ExchangeApiKeyInput: ExchangeApiKeyInput;
@@ -3789,6 +4103,7 @@ export type ResolversTypes = ResolversObject<{
3789
4103
  LoginInput: LoginInput;
3790
4104
  LoginResponse: ResolverTypeWrapper<LoginResponse>;
3791
4105
  LogoutMyUserResponse: ResolverTypeWrapper<LogoutMyUserResponse>;
4106
+ MarkAllNotificationsReadResult: ResolverTypeWrapper<MarkAllNotificationsReadResult>;
3792
4107
  MeResponse: ResolverTypeWrapper<MeResponse>;
3793
4108
  MemberType: MemberType;
3794
4109
  MfaDevice: ResolverTypeWrapper<MfaDevice>;
@@ -3798,7 +4113,16 @@ export type ResolversTypes = ResolversObject<{
3798
4113
  MfaVerifyResponse: ResolverTypeWrapper<MfaVerifyResponse>;
3799
4114
  MfaVerifyResult: ResolverTypeWrapper<MfaVerifyResult>;
3800
4115
  Mutation: ResolverTypeWrapper<Record<PropertyKey, never>>;
4116
+ MyNotificationsInput: MyNotificationsInput;
4117
+ MyProjectMembership: ResolverTypeWrapper<MyProjectMembership>;
3801
4118
  MyUserSessionsInput: MyUserSessionsInput;
4119
+ Notification: ResolverTypeWrapper<Notification>;
4120
+ NotificationChannel: NotificationChannel;
4121
+ NotificationEventScope: ResolverTypeWrapper<NotificationEventScope>;
4122
+ NotificationPage: ResolverTypeWrapper<NotificationPage>;
4123
+ NotificationPreference: ResolverTypeWrapper<NotificationPreference>;
4124
+ NotificationPreferenceSource: NotificationPreferenceSource;
4125
+ NotificationStatus: NotificationStatus;
3802
4126
  Organization: ResolverTypeWrapper<Organization>;
3803
4127
  OrganizationGroup: ResolverTypeWrapper<OrganizationGroup>;
3804
4128
  OrganizationInvitation: ResolverTypeWrapper<OrganizationInvitation>;
@@ -3937,6 +4261,7 @@ export type ResolversTypes = ResolversObject<{
3937
4261
  RemoveUserGroupInput: RemoveUserGroupInput;
3938
4262
  RemoveUserRoleInput: RemoveUserRoleInput;
3939
4263
  RemoveUserTagInput: RemoveUserTagInput;
4264
+ ReplayWebhookDeliveryInput: ReplayWebhookDeliveryInput;
3940
4265
  RequestPasswordResetInput: RequestPasswordResetInput;
3941
4266
  RequestPasswordResetResponse: ResolverTypeWrapper<RequestPasswordResetResponse>;
3942
4267
  ResendVerificationInput: ResendVerificationInput;
@@ -3963,9 +4288,12 @@ export type ResolversTypes = ResolversObject<{
3963
4288
  RoleSortInput: RoleSortInput;
3964
4289
  RoleSortableField: RoleSortableField;
3965
4290
  RoleTag: ResolverTypeWrapper<RoleTag>;
4291
+ RotateApiKeyInput: RotateApiKeyInput;
4292
+ RotateWebhookSubscriptionSecretInput: RotateWebhookSubscriptionSecretInput;
3966
4293
  Scope: Scope;
3967
4294
  Searchable: ResolverTypeWrapper<ResolversInterfaceTypes<ResolversTypes>['Searchable']>;
3968
4295
  SessionExportData: ResolverTypeWrapper<SessionExportData>;
4296
+ SetMyNotificationPreferenceInput: SetMyNotificationPreferenceInput;
3969
4297
  SetMyPrimaryMfaDeviceInput: SetMyPrimaryMfaDeviceInput;
3970
4298
  SigningKey: ResolverTypeWrapper<SigningKey>;
3971
4299
  SortOrder: SortOrder;
@@ -3981,10 +4309,12 @@ export type ResolversTypes = ResolversObject<{
3981
4309
  TagSortInput: TagSortInput;
3982
4310
  Tenant: Tenant;
3983
4311
  TokenType: TokenType;
4312
+ UnreadNotificationCount: ResolverTypeWrapper<UnreadNotificationCount>;
3984
4313
  UpdateAccountProjectTagInput: UpdateAccountProjectTagInput;
3985
4314
  UpdateAccountTagInput: UpdateAccountTagInput;
3986
4315
  UpdateGroupInput: UpdateGroupInput;
3987
4316
  UpdateGroupTagInput: UpdateGroupTagInput;
4317
+ UpdateMyProjectMembershipInput: UpdateMyProjectMembershipInput;
3988
4318
  UpdateMyUserAuthenticationMethodInput: UpdateMyUserAuthenticationMethodInput;
3989
4319
  UpdateMyUserInput: UpdateMyUserInput;
3990
4320
  UpdateOrganizationInput: UpdateOrganizationInput;
@@ -4007,6 +4337,8 @@ export type ResolversTypes = ResolversObject<{
4007
4337
  UpdateUserInput: UpdateUserInput;
4008
4338
  UpdateUserSessionInput: UpdateUserSessionInput;
4009
4339
  UpdateUserTagInput: UpdateUserTagInput;
4340
+ UpdateWebhookSubscriptionMutationInput: UpdateWebhookSubscriptionMutationInput;
4341
+ UploadMyProjectMembershipPictureInput: UploadMyProjectMembershipPictureInput;
4010
4342
  UploadMyUserPictureInput: UploadMyUserPictureInput;
4011
4343
  UploadUserPictureInput: UploadUserPictureInput;
4012
4344
  UploadUserPictureResult: ResolverTypeWrapper<UploadUserPictureResult>;
@@ -4037,6 +4369,11 @@ export type ResolversTypes = ResolversObject<{
4037
4369
  VerifyMfaInput: VerifyMfaInput;
4038
4370
  VerifyMfaRecoveryCodeInput: VerifyMfaRecoveryCodeInput;
4039
4371
  VerifyMyMfaEnrollmentInput: VerifyMyMfaEnrollmentInput;
4372
+ WebhookDeliveryAttempt: ResolverTypeWrapper<WebhookDeliveryAttempt>;
4373
+ WebhookDeliveryPage: ResolverTypeWrapper<WebhookDeliveryPage>;
4374
+ WebhookDeliveryStatus: WebhookDeliveryStatus;
4375
+ WebhookSubscription: ResolverTypeWrapper<WebhookSubscription>;
4376
+ WebhookSubscriptionWithSecret: ResolverTypeWrapper<WebhookSubscriptionWithSecret>;
4040
4377
  }>;
4041
4378
 
4042
4379
  /** Mapping between all available schema types and the resolvers parents */
@@ -4118,11 +4455,13 @@ export type ResolversParentTypes = ResolversObject<{
4118
4455
  CreateUserAuthenticationMethodInput: CreateUserAuthenticationMethodInput;
4119
4456
  CreateUserInput: CreateUserInput;
4120
4457
  CreateUserSessionInput: CreateUserSessionInput;
4458
+ CreateWebhookSubscriptionMutationInput: CreateWebhookSubscriptionMutationInput;
4121
4459
  Date: Scalars['Date']['output'];
4122
4460
  DeleteApiKeyInput: DeleteApiKeyInput;
4123
4461
  DeleteMyAccountsInput: DeleteMyAccountsInput;
4124
4462
  DeleteUserAuthenticationMethodInput: DeleteUserAuthenticationMethodInput;
4125
4463
  DeleteUserSessionInput: DeleteUserSessionInput;
4464
+ DeleteWebhookSubscriptionInput: DeleteWebhookSubscriptionInput;
4126
4465
  EmailVerificationProofInput: EmailVerificationProofInput;
4127
4466
  ExchangeApiKeyInput: ExchangeApiKeyInput;
4128
4467
  ExchangeApiKeyResult: ExchangeApiKeyResult;
@@ -4145,6 +4484,7 @@ export type ResolversParentTypes = ResolversObject<{
4145
4484
  LoginInput: LoginInput;
4146
4485
  LoginResponse: LoginResponse;
4147
4486
  LogoutMyUserResponse: LogoutMyUserResponse;
4487
+ MarkAllNotificationsReadResult: MarkAllNotificationsReadResult;
4148
4488
  MeResponse: MeResponse;
4149
4489
  MfaDevice: MfaDevice;
4150
4490
  MfaEnrollment: MfaEnrollment;
@@ -4153,7 +4493,13 @@ export type ResolversParentTypes = ResolversObject<{
4153
4493
  MfaVerifyResponse: MfaVerifyResponse;
4154
4494
  MfaVerifyResult: MfaVerifyResult;
4155
4495
  Mutation: Record<PropertyKey, never>;
4496
+ MyNotificationsInput: MyNotificationsInput;
4497
+ MyProjectMembership: MyProjectMembership;
4156
4498
  MyUserSessionsInput: MyUserSessionsInput;
4499
+ Notification: Notification;
4500
+ NotificationEventScope: NotificationEventScope;
4501
+ NotificationPage: NotificationPage;
4502
+ NotificationPreference: NotificationPreference;
4157
4503
  Organization: Organization;
4158
4504
  OrganizationGroup: OrganizationGroup;
4159
4505
  OrganizationInvitation: OrganizationInvitation;
@@ -4274,6 +4620,7 @@ export type ResolversParentTypes = ResolversObject<{
4274
4620
  RemoveUserGroupInput: RemoveUserGroupInput;
4275
4621
  RemoveUserRoleInput: RemoveUserRoleInput;
4276
4622
  RemoveUserTagInput: RemoveUserTagInput;
4623
+ ReplayWebhookDeliveryInput: ReplayWebhookDeliveryInput;
4277
4624
  RequestPasswordResetInput: RequestPasswordResetInput;
4278
4625
  RequestPasswordResetResponse: RequestPasswordResetResponse;
4279
4626
  ResendVerificationInput: ResendVerificationInput;
@@ -4296,9 +4643,12 @@ export type ResolversParentTypes = ResolversObject<{
4296
4643
  RolePermission: RolePermission;
4297
4644
  RoleSortInput: RoleSortInput;
4298
4645
  RoleTag: RoleTag;
4646
+ RotateApiKeyInput: RotateApiKeyInput;
4647
+ RotateWebhookSubscriptionSecretInput: RotateWebhookSubscriptionSecretInput;
4299
4648
  Scope: Scope;
4300
4649
  Searchable: ResolversInterfaceTypes<ResolversParentTypes>['Searchable'];
4301
4650
  SessionExportData: SessionExportData;
4651
+ SetMyNotificationPreferenceInput: SetMyNotificationPreferenceInput;
4302
4652
  SetMyPrimaryMfaDeviceInput: SetMyPrimaryMfaDeviceInput;
4303
4653
  SigningKey: SigningKey;
4304
4654
  StartProjectExportInput: StartProjectExportInput;
@@ -4309,10 +4659,12 @@ export type ResolversParentTypes = ResolversObject<{
4309
4659
  TagCdmInput: TagCdmInput;
4310
4660
  TagPage: TagPage;
4311
4661
  TagSortInput: TagSortInput;
4662
+ UnreadNotificationCount: UnreadNotificationCount;
4312
4663
  UpdateAccountProjectTagInput: UpdateAccountProjectTagInput;
4313
4664
  UpdateAccountTagInput: UpdateAccountTagInput;
4314
4665
  UpdateGroupInput: UpdateGroupInput;
4315
4666
  UpdateGroupTagInput: UpdateGroupTagInput;
4667
+ UpdateMyProjectMembershipInput: UpdateMyProjectMembershipInput;
4316
4668
  UpdateMyUserAuthenticationMethodInput: UpdateMyUserAuthenticationMethodInput;
4317
4669
  UpdateMyUserInput: UpdateMyUserInput;
4318
4670
  UpdateOrganizationInput: UpdateOrganizationInput;
@@ -4335,6 +4687,8 @@ export type ResolversParentTypes = ResolversObject<{
4335
4687
  UpdateUserInput: UpdateUserInput;
4336
4688
  UpdateUserSessionInput: UpdateUserSessionInput;
4337
4689
  UpdateUserTagInput: UpdateUserTagInput;
4690
+ UpdateWebhookSubscriptionMutationInput: UpdateWebhookSubscriptionMutationInput;
4691
+ UploadMyProjectMembershipPictureInput: UploadMyProjectMembershipPictureInput;
4338
4692
  UploadMyUserPictureInput: UploadMyUserPictureInput;
4339
4693
  UploadUserPictureInput: UploadUserPictureInput;
4340
4694
  UploadUserPictureResult: UploadUserPictureResult;
@@ -4359,6 +4713,10 @@ export type ResolversParentTypes = ResolversObject<{
4359
4713
  VerifyMfaInput: VerifyMfaInput;
4360
4714
  VerifyMfaRecoveryCodeInput: VerifyMfaRecoveryCodeInput;
4361
4715
  VerifyMyMfaEnrollmentInput: VerifyMyMfaEnrollmentInput;
4716
+ WebhookDeliveryAttempt: WebhookDeliveryAttempt;
4717
+ WebhookDeliveryPage: WebhookDeliveryPage;
4718
+ WebhookSubscription: WebhookSubscription;
4719
+ WebhookSubscriptionWithSecret: WebhookSubscriptionWithSecret;
4362
4720
  }>;
4363
4721
 
4364
4722
  export type AcceptInvitationResultResolvers<
@@ -4802,6 +5160,14 @@ export type LogoutMyUserResponseResolvers<
4802
5160
  message?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
4803
5161
  }>;
4804
5162
 
5163
+ export type MarkAllNotificationsReadResultResolvers<
5164
+ ContextType = any,
5165
+ ParentType extends ResolversParentTypes['MarkAllNotificationsReadResult'] =
5166
+ ResolversParentTypes['MarkAllNotificationsReadResult'],
5167
+ > = ResolversObject<{
5168
+ updated?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
5169
+ }>;
5170
+
4805
5171
  export type MeResponseResolvers<
4806
5172
  ContextType = any,
4807
5173
  ParentType extends ResolversParentTypes['MeResponse'] = ResolversParentTypes['MeResponse'],
@@ -4978,6 +5344,12 @@ export type MutationResolvers<
4978
5344
  ContextType,
4979
5345
  RequireFields<MutationCreateUserArgs, 'input'>
4980
5346
  >;
5347
+ createWebhookSubscription?: Resolver<
5348
+ ResolversTypes['WebhookSubscriptionWithSecret'],
5349
+ ParentType,
5350
+ ContextType,
5351
+ RequireFields<MutationCreateWebhookSubscriptionArgs, 'input'>
5352
+ >;
4981
5353
  deleteApiKey?: Resolver<
4982
5354
  ResolversTypes['ApiKey'],
4983
5355
  ParentType,
@@ -5050,6 +5422,12 @@ export type MutationResolvers<
5050
5422
  ContextType,
5051
5423
  RequireFields<MutationDeleteUserArgs, 'id' | 'scope'>
5052
5424
  >;
5425
+ deleteWebhookSubscription?: Resolver<
5426
+ ResolversTypes['Boolean'],
5427
+ ParentType,
5428
+ ContextType,
5429
+ RequireFields<MutationDeleteWebhookSubscriptionArgs, 'input'>
5430
+ >;
5053
5431
  exchangeApiKey?: Resolver<
5054
5432
  ResolversTypes['ExchangeApiKeyResult'],
5055
5433
  ParentType,
@@ -5075,6 +5453,17 @@ export type MutationResolvers<
5075
5453
  RequireFields<MutationLoginArgs, 'input'>
5076
5454
  >;
5077
5455
  logoutMyUser?: Resolver<ResolversTypes['LogoutMyUserResponse'], ParentType, ContextType>;
5456
+ markAllMyNotificationsRead?: Resolver<
5457
+ ResolversTypes['MarkAllNotificationsReadResult'],
5458
+ ParentType,
5459
+ ContextType
5460
+ >;
5461
+ markMyNotificationRead?: Resolver<
5462
+ ResolversTypes['Boolean'],
5463
+ ParentType,
5464
+ ContextType,
5465
+ RequireFields<MutationMarkMyNotificationReadArgs, 'id'>
5466
+ >;
5078
5467
  refreshSession?: Resolver<ResolversTypes['RefreshSessionResponse'], ParentType, ContextType>;
5079
5468
  register?: Resolver<
5080
5469
  ResolversTypes['CreateAccountResult'],
@@ -5100,6 +5489,12 @@ export type MutationResolvers<
5100
5489
  ContextType,
5101
5490
  RequireFields<MutationRenewInvitationArgs, 'id' | 'scope'>
5102
5491
  >;
5492
+ replayWebhookDelivery?: Resolver<
5493
+ ResolversTypes['WebhookDeliveryAttempt'],
5494
+ ParentType,
5495
+ ContextType,
5496
+ RequireFields<MutationReplayWebhookDeliveryArgs, 'input'>
5497
+ >;
5103
5498
  requestPasswordReset?: Resolver<
5104
5499
  ResolversTypes['RequestPasswordResetResponse'],
5105
5500
  ParentType,
@@ -5154,12 +5549,30 @@ export type MutationResolvers<
5154
5549
  ContextType,
5155
5550
  RequireFields<MutationRevokeUserPermissionArgs, 'input'>
5156
5551
  >;
5552
+ rotateApiKey?: Resolver<
5553
+ ResolversTypes['CreateApiKeyResult'],
5554
+ ParentType,
5555
+ ContextType,
5556
+ RequireFields<MutationRotateApiKeyArgs, 'input'>
5557
+ >;
5157
5558
  rotateSigningKey?: Resolver<
5158
5559
  ResolversTypes['SigningKey'],
5159
5560
  ParentType,
5160
5561
  ContextType,
5161
5562
  RequireFields<MutationRotateSigningKeyArgs, 'scope'>
5162
5563
  >;
5564
+ rotateWebhookSubscriptionSecret?: Resolver<
5565
+ ResolversTypes['WebhookSubscriptionWithSecret'],
5566
+ ParentType,
5567
+ ContextType,
5568
+ RequireFields<MutationRotateWebhookSubscriptionSecretArgs, 'input'>
5569
+ >;
5570
+ setMyNotificationPreference?: Resolver<
5571
+ ResolversTypes['NotificationPreference'],
5572
+ ParentType,
5573
+ ContextType,
5574
+ RequireFields<MutationSetMyNotificationPreferenceArgs, 'input'>
5575
+ >;
5163
5576
  setMyPrimaryAuthenticationMethod?: Resolver<
5164
5577
  ResolversTypes['UserAuthenticationMethod'],
5165
5578
  ParentType,
@@ -5191,6 +5604,12 @@ export type MutationResolvers<
5191
5604
  ContextType,
5192
5605
  RequireFields<MutationUpdateGroupArgs, 'id' | 'input'>
5193
5606
  >;
5607
+ updateMyProjectMembership?: Resolver<
5608
+ ResolversTypes['MyProjectMembership'],
5609
+ ParentType,
5610
+ ContextType,
5611
+ RequireFields<MutationUpdateMyProjectMembershipArgs, 'input'>
5612
+ >;
5194
5613
  updateMyUser?: Resolver<
5195
5614
  ResolversTypes['User'],
5196
5615
  ParentType,
@@ -5251,6 +5670,18 @@ export type MutationResolvers<
5251
5670
  ContextType,
5252
5671
  RequireFields<MutationUpdateUserArgs, 'id' | 'input'>
5253
5672
  >;
5673
+ updateWebhookSubscription?: Resolver<
5674
+ ResolversTypes['WebhookSubscription'],
5675
+ ParentType,
5676
+ ContextType,
5677
+ RequireFields<MutationUpdateWebhookSubscriptionArgs, 'id' | 'input'>
5678
+ >;
5679
+ uploadMyProjectMembershipPicture?: Resolver<
5680
+ ResolversTypes['UploadUserPictureResult'],
5681
+ ParentType,
5682
+ ContextType,
5683
+ RequireFields<MutationUploadMyProjectMembershipPictureArgs, 'input'>
5684
+ >;
5254
5685
  uploadMyUserPicture?: Resolver<
5255
5686
  ResolversTypes['UploadUserPictureResult'],
5256
5687
  ParentType,
@@ -5289,6 +5720,77 @@ export type MutationResolvers<
5289
5720
  >;
5290
5721
  }>;
5291
5722
 
5723
+ export type MyProjectMembershipResolvers<
5724
+ ContextType = any,
5725
+ ParentType extends ResolversParentTypes['MyProjectMembership'] =
5726
+ ResolversParentTypes['MyProjectMembership'],
5727
+ > = ResolversObject<{
5728
+ accountId?: Resolver<Maybe<ResolversTypes['ID']>, ParentType, ContextType>;
5729
+ displayName?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
5730
+ joinedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
5731
+ metadata?: Resolver<ResolversTypes['JSON'], ParentType, ContextType>;
5732
+ organizationId?: Resolver<Maybe<ResolversTypes['ID']>, ParentType, ContextType>;
5733
+ organizationName?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
5734
+ pictureUrl?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
5735
+ projectId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
5736
+ projectName?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
5737
+ role?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
5738
+ }>;
5739
+
5740
+ export type NotificationResolvers<
5741
+ ContextType = any,
5742
+ ParentType extends ResolversParentTypes['Notification'] = ResolversParentTypes['Notification'],
5743
+ > = ResolversObject<{
5744
+ body?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
5745
+ category?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
5746
+ channel?: Resolver<ResolversTypes['NotificationChannel'], ParentType, ContextType>;
5747
+ createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
5748
+ eventId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
5749
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
5750
+ readAt?: Resolver<Maybe<ResolversTypes['Date']>, ParentType, ContextType>;
5751
+ refEntity?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
5752
+ refId?: Resolver<Maybe<ResolversTypes['ID']>, ParentType, ContextType>;
5753
+ scope?: Resolver<Maybe<ResolversTypes['NotificationEventScope']>, ParentType, ContextType>;
5754
+ seenAt?: Resolver<Maybe<ResolversTypes['Date']>, ParentType, ContextType>;
5755
+ status?: Resolver<ResolversTypes['NotificationStatus'], ParentType, ContextType>;
5756
+ title?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
5757
+ type?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
5758
+ }>;
5759
+
5760
+ export type NotificationEventScopeResolvers<
5761
+ ContextType = any,
5762
+ ParentType extends ResolversParentTypes['NotificationEventScope'] =
5763
+ ResolversParentTypes['NotificationEventScope'],
5764
+ > = ResolversObject<{
5765
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
5766
+ tenant?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
5767
+ }>;
5768
+
5769
+ export type NotificationPageResolvers<
5770
+ ContextType = any,
5771
+ ParentType extends ResolversParentTypes['NotificationPage'] =
5772
+ ResolversParentTypes['NotificationPage'],
5773
+ > = ResolversObject<{
5774
+ hasNextPage?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
5775
+ notifications?: Resolver<Array<ResolversTypes['Notification']>, ParentType, ContextType>;
5776
+ totalCount?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
5777
+ unreadCount?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
5778
+ }>;
5779
+
5780
+ export type NotificationPreferenceResolvers<
5781
+ ContextType = any,
5782
+ ParentType extends ResolversParentTypes['NotificationPreference'] =
5783
+ ResolversParentTypes['NotificationPreference'],
5784
+ > = ResolversObject<{
5785
+ category?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
5786
+ channel?: Resolver<ResolversTypes['NotificationChannel'], ParentType, ContextType>;
5787
+ enabled?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
5788
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
5789
+ scopeId?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
5790
+ scopeTenant?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
5791
+ source?: Resolver<ResolversTypes['NotificationPreferenceSource'], ParentType, ContextType>;
5792
+ }>;
5793
+
5292
5794
  export type OrganizationResolvers<
5293
5795
  ContextType = any,
5294
5796
  ParentType extends ResolversParentTypes['Organization'] = ResolversParentTypes['Organization'],
@@ -5955,6 +6457,34 @@ export type QueryResolvers<
5955
6457
  ParentType,
5956
6458
  ContextType
5957
6459
  >;
6460
+ myNotificationPreferences?: Resolver<
6461
+ Array<ResolversTypes['NotificationPreference']>,
6462
+ ParentType,
6463
+ ContextType,
6464
+ RequireFields<QueryMyNotificationPreferencesArgs, 'scopeTenant'>
6465
+ >;
6466
+ myNotifications?: Resolver<
6467
+ ResolversTypes['NotificationPage'],
6468
+ ParentType,
6469
+ ContextType,
6470
+ Partial<QueryMyNotificationsArgs>
6471
+ >;
6472
+ myProjectMembership?: Resolver<
6473
+ Maybe<ResolversTypes['MyProjectMembership']>,
6474
+ ParentType,
6475
+ ContextType,
6476
+ RequireFields<QueryMyProjectMembershipArgs, 'projectId'>
6477
+ >;
6478
+ myProjectMemberships?: Resolver<
6479
+ Array<ResolversTypes['MyProjectMembership']>,
6480
+ ParentType,
6481
+ ContextType
6482
+ >;
6483
+ myUnreadNotificationCount?: Resolver<
6484
+ ResolversTypes['UnreadNotificationCount'],
6485
+ ParentType,
6486
+ ContextType
6487
+ >;
5958
6488
  myUserAuthenticationMethods?: Resolver<
5959
6489
  Array<ResolversTypes['UserAuthenticationMethod']>,
5960
6490
  ParentType,
@@ -6045,6 +6575,24 @@ export type QueryResolvers<
6045
6575
  ContextType,
6046
6576
  RequireFields<QueryUsersArgs, 'scope'>
6047
6577
  >;
6578
+ webhookDeliveries?: Resolver<
6579
+ ResolversTypes['WebhookDeliveryPage'],
6580
+ ParentType,
6581
+ ContextType,
6582
+ RequireFields<QueryWebhookDeliveriesArgs, 'scope'>
6583
+ >;
6584
+ webhookSubscription?: Resolver<
6585
+ ResolversTypes['WebhookSubscription'],
6586
+ ParentType,
6587
+ ContextType,
6588
+ RequireFields<QueryWebhookSubscriptionArgs, 'id' | 'scope'>
6589
+ >;
6590
+ webhookSubscriptions?: Resolver<
6591
+ Array<ResolversTypes['WebhookSubscription']>,
6592
+ ParentType,
6593
+ ContextType,
6594
+ RequireFields<QueryWebhookSubscriptionsArgs, 'scope'>
6595
+ >;
6048
6596
  }>;
6049
6597
 
6050
6598
  export type RefreshSessionResponseResolvers<
@@ -6350,6 +6898,14 @@ export type TagPageResolvers<
6350
6898
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
6351
6899
  }>;
6352
6900
 
6901
+ export type UnreadNotificationCountResolvers<
6902
+ ContextType = any,
6903
+ ParentType extends ResolversParentTypes['UnreadNotificationCount'] =
6904
+ ResolversParentTypes['UnreadNotificationCount'],
6905
+ > = ResolversObject<{
6906
+ unreadCount?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
6907
+ }>;
6908
+
6353
6909
  export type UploadUserPictureResultResolvers<
6354
6910
  ContextType = any,
6355
6911
  ParentType extends ResolversParentTypes['UploadUserPictureResult'] =
@@ -6608,6 +7164,67 @@ export type VerifyEmailResponseResolvers<
6608
7164
  success?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
6609
7165
  }>;
6610
7166
 
7167
+ export type WebhookDeliveryAttemptResolvers<
7168
+ ContextType = any,
7169
+ ParentType extends ResolversParentTypes['WebhookDeliveryAttempt'] =
7170
+ ResolversParentTypes['WebhookDeliveryAttempt'],
7171
+ > = ResolversObject<{
7172
+ attemptCount?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
7173
+ createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
7174
+ deliveredAt?: Resolver<Maybe<ResolversTypes['Date']>, ParentType, ContextType>;
7175
+ errorDetails?: Resolver<Maybe<ResolversTypes['JSON']>, ParentType, ContextType>;
7176
+ eventId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
7177
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
7178
+ lastResponseStatus?: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>;
7179
+ nextRetryAt?: Resolver<Maybe<ResolversTypes['Date']>, ParentType, ContextType>;
7180
+ status?: Resolver<ResolversTypes['WebhookDeliveryStatus'], ParentType, ContextType>;
7181
+ subscriptionId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
7182
+ updatedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
7183
+ }>;
7184
+
7185
+ export type WebhookDeliveryPageResolvers<
7186
+ ContextType = any,
7187
+ ParentType extends ResolversParentTypes['WebhookDeliveryPage'] =
7188
+ ResolversParentTypes['WebhookDeliveryPage'],
7189
+ > = ResolversObject<{
7190
+ hasNextPage?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
7191
+ items?: Resolver<Array<ResolversTypes['WebhookDeliveryAttempt']>, ParentType, ContextType>;
7192
+ totalCount?: Resolver<ResolversTypes['Int'], ParentType, ContextType>;
7193
+ }>;
7194
+
7195
+ export type WebhookSubscriptionResolvers<
7196
+ ContextType = any,
7197
+ ParentType extends ResolversParentTypes['WebhookSubscription'] =
7198
+ ResolversParentTypes['WebhookSubscription'],
7199
+ > = ResolversObject<{
7200
+ active?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
7201
+ createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
7202
+ createdById?: Resolver<Maybe<ResolversTypes['ID']>, ParentType, ContextType>;
7203
+ description?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
7204
+ eventTypes?: Resolver<Array<ResolversTypes['String']>, ParentType, ContextType>;
7205
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
7206
+ projectId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
7207
+ updatedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
7208
+ url?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
7209
+ }>;
7210
+
7211
+ export type WebhookSubscriptionWithSecretResolvers<
7212
+ ContextType = any,
7213
+ ParentType extends ResolversParentTypes['WebhookSubscriptionWithSecret'] =
7214
+ ResolversParentTypes['WebhookSubscriptionWithSecret'],
7215
+ > = ResolversObject<{
7216
+ active?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
7217
+ createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
7218
+ createdById?: Resolver<Maybe<ResolversTypes['ID']>, ParentType, ContextType>;
7219
+ description?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
7220
+ eventTypes?: Resolver<Array<ResolversTypes['String']>, ParentType, ContextType>;
7221
+ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
7222
+ projectId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
7223
+ secret?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
7224
+ updatedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
7225
+ url?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
7226
+ }>;
7227
+
6611
7228
  export type Resolvers<ContextType = any> = ResolversObject<{
6612
7229
  AcceptInvitationResult?: AcceptInvitationResultResolvers<ContextType>;
6613
7230
  Account?: AccountResolvers<ContextType>;
@@ -6638,6 +7255,7 @@ export type Resolvers<ContextType = any> = ResolversObject<{
6638
7255
  JSON?: GraphQLScalarType;
6639
7256
  LoginResponse?: LoginResponseResolvers<ContextType>;
6640
7257
  LogoutMyUserResponse?: LogoutMyUserResponseResolvers<ContextType>;
7258
+ MarkAllNotificationsReadResult?: MarkAllNotificationsReadResultResolvers<ContextType>;
6641
7259
  MeResponse?: MeResponseResolvers<ContextType>;
6642
7260
  MfaDevice?: MfaDeviceResolvers<ContextType>;
6643
7261
  MfaEnrollment?: MfaEnrollmentResolvers<ContextType>;
@@ -6646,6 +7264,11 @@ export type Resolvers<ContextType = any> = ResolversObject<{
6646
7264
  MfaVerifyResponse?: MfaVerifyResponseResolvers<ContextType>;
6647
7265
  MfaVerifyResult?: MfaVerifyResultResolvers<ContextType>;
6648
7266
  Mutation?: MutationResolvers<ContextType>;
7267
+ MyProjectMembership?: MyProjectMembershipResolvers<ContextType>;
7268
+ Notification?: NotificationResolvers<ContextType>;
7269
+ NotificationEventScope?: NotificationEventScopeResolvers<ContextType>;
7270
+ NotificationPage?: NotificationPageResolvers<ContextType>;
7271
+ NotificationPreference?: NotificationPreferenceResolvers<ContextType>;
6649
7272
  Organization?: OrganizationResolvers<ContextType>;
6650
7273
  OrganizationGroup?: OrganizationGroupResolvers<ContextType>;
6651
7274
  OrganizationInvitation?: OrganizationInvitationResolvers<ContextType>;
@@ -6703,6 +7326,7 @@ export type Resolvers<ContextType = any> = ResolversObject<{
6703
7326
  SyncProjectResult?: SyncProjectResultResolvers<ContextType>;
6704
7327
  Tag?: TagResolvers<ContextType>;
6705
7328
  TagPage?: TagPageResolvers<ContextType>;
7329
+ UnreadNotificationCount?: UnreadNotificationCountResolvers<ContextType>;
6706
7330
  UploadUserPictureResult?: UploadUserPictureResultResolvers<ContextType>;
6707
7331
  User?: UserResolvers<ContextType>;
6708
7332
  UserAuthenticationMethod?: UserAuthenticationMethodResolvers<ContextType>;
@@ -6716,4 +7340,8 @@ export type Resolvers<ContextType = any> = ResolversObject<{
6716
7340
  UserSessionPage?: UserSessionPageResolvers<ContextType>;
6717
7341
  UserTag?: UserTagResolvers<ContextType>;
6718
7342
  VerifyEmailResponse?: VerifyEmailResponseResolvers<ContextType>;
7343
+ WebhookDeliveryAttempt?: WebhookDeliveryAttemptResolvers<ContextType>;
7344
+ WebhookDeliveryPage?: WebhookDeliveryPageResolvers<ContextType>;
7345
+ WebhookSubscription?: WebhookSubscriptionResolvers<ContextType>;
7346
+ WebhookSubscriptionWithSecret?: WebhookSubscriptionWithSecretResolvers<ContextType>;
6719
7347
  }>;