@zimbra/api-client 97.0.0 → 99.0.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.
- package/dist/schema.graphql +32 -3
- package/dist/src/batch-client/index.d.ts +2 -2
- package/dist/src/batch-client/types.d.ts +1 -0
- package/dist/src/schema/generated-schema-types.d.ts +29 -1
- package/dist/zm-api-js-client.esm.js +1262 -798
- package/dist/zm-api-js-client.esm.js.map +1 -1
- package/dist/zm-api-js-client.js +8 -8
- package/dist/zm-api-js-client.js.map +1 -1
- package/dist/zm-api-js-client.umd.js +7 -7
- package/dist/zm-api-js-client.umd.js.map +1 -1
- package/package-lock.json +1801 -1925
- package/package.json +9 -9
- package/src/apollo/zimbra-in-memory-cache.ts +35 -5
- package/src/batch-client/index.ts +17 -6
- package/src/batch-client/types.ts +1 -0
- package/src/normalize/entities.ts +4 -2
- package/src/schema/generated-schema-types.ts +30 -1
- package/src/schema/schema.graphql +32 -3
- package/src/schema/schema.ts +2 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zimbra/api-client",
|
|
3
3
|
"amdName": "zmApiJsClient",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "99.0.0",
|
|
5
5
|
"description": "Zimbra JS API Client and GraphQL client for making requests against the Zimbra SOAP API.",
|
|
6
6
|
"main": "dist/zm-api-js-client.js",
|
|
7
7
|
"source": "index.ts",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@apollo/client": "3.4.16",
|
|
51
|
-
"@graphql-tools/schema": "^10.0.
|
|
51
|
+
"@graphql-tools/schema": "^10.0.25",
|
|
52
52
|
"dataloader": "^2.2.2",
|
|
53
53
|
"graphql": "^16.9.0",
|
|
54
54
|
"lodash": "^4.17.21",
|
|
@@ -56,15 +56,15 @@
|
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@babel/cli": "^7.17.10",
|
|
59
|
-
"@babel/core": "^7.
|
|
59
|
+
"@babel/core": "^7.28.0",
|
|
60
60
|
"@babel/plugin-proposal-class-properties": "^7.17.12",
|
|
61
61
|
"@babel/preset-env": "^7.18.2",
|
|
62
|
-
"@babel/preset-typescript": "^7.
|
|
62
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
63
63
|
"@babel/register": "^7.17.7",
|
|
64
|
-
"@graphql-codegen/cli": "^
|
|
65
|
-
"@graphql-codegen/typescript": "^4.
|
|
64
|
+
"@graphql-codegen/cli": "^5.0.7",
|
|
65
|
+
"@graphql-codegen/typescript": "^4.1.6",
|
|
66
66
|
"@rollup/plugin-babel": "^6.0.4",
|
|
67
|
-
"@rollup/plugin-commonjs": "^
|
|
67
|
+
"@rollup/plugin-commonjs": "^28.0.5",
|
|
68
68
|
"@rollup/plugin-graphql": "^1.1.0",
|
|
69
69
|
"@rollup/plugin-node-resolve": "^13.3.0",
|
|
70
70
|
"@rollup/plugin-typescript": "^11.1.5",
|
|
@@ -73,12 +73,12 @@
|
|
|
73
73
|
"@types/node": "^20.10.4",
|
|
74
74
|
"@types/whatwg-fetch": "^0.0.33",
|
|
75
75
|
"babel-plugin-lodash": "^3.3.4",
|
|
76
|
-
"chai": "^4.
|
|
76
|
+
"chai": "^4.5.0",
|
|
77
77
|
"copyfiles": "^2.4.1",
|
|
78
78
|
"cross-var": "^1.1.0",
|
|
79
79
|
"husky": "^9.1.7",
|
|
80
80
|
"lint-staged": "15.2.8",
|
|
81
|
-
"mocha": "^10.2
|
|
81
|
+
"mocha": "^10.8.2",
|
|
82
82
|
"npm-run-all": "^4.1.5",
|
|
83
83
|
"prettier": "^2.6.2",
|
|
84
84
|
"rimraf": "^5.0.1",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FieldFunctionOptions } from '@apollo/client';
|
|
1
2
|
import { defaultDataIdFromObject, InMemoryCache, InMemoryCacheConfig } from '@apollo/client/core';
|
|
2
3
|
import get from 'lodash/get';
|
|
3
4
|
import uniqWith from 'lodash/uniqWith';
|
|
@@ -58,6 +59,29 @@ function createPossibleTypes(possibleTypesFactory = Object) {
|
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
61
|
|
|
62
|
+
function isReference(obj: any): obj is { __ref: string } {
|
|
63
|
+
return obj && typeof obj === 'object' && '__ref' in obj;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function resolvedRefrenceAddress(
|
|
67
|
+
address: EmailAddress[],
|
|
68
|
+
readField: FieldFunctionOptions['readField']
|
|
69
|
+
) {
|
|
70
|
+
return (address || []).map(item => {
|
|
71
|
+
if (isReference(item)) {
|
|
72
|
+
return {
|
|
73
|
+
__typename: readField('__typename', item),
|
|
74
|
+
address: readField('address', item),
|
|
75
|
+
type: readField('type', item),
|
|
76
|
+
isGroup: readField('isGroup', item),
|
|
77
|
+
name: readField('name', item),
|
|
78
|
+
displayName: readField('displayName', item)
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return item;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
61
85
|
const typePolicies = {
|
|
62
86
|
Query: {
|
|
63
87
|
fields: {
|
|
@@ -95,11 +119,17 @@ const typePolicies = {
|
|
|
95
119
|
MessageInfo: {
|
|
96
120
|
fields: {
|
|
97
121
|
emailAddresses: {
|
|
98
|
-
merge(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
122
|
+
merge(
|
|
123
|
+
existing: EmailAddress[] = [],
|
|
124
|
+
incoming: EmailAddress[] = [],
|
|
125
|
+
{ readField }: FieldFunctionOptions
|
|
126
|
+
) {
|
|
127
|
+
const resolvedExisting = resolvedRefrenceAddress(existing, readField);
|
|
128
|
+
const resolvedIncoming = resolvedRefrenceAddress(incoming, readField);
|
|
129
|
+
const combined = [...(resolvedIncoming || []), ...(resolvedExisting || [])];
|
|
130
|
+
// Prefer entries where isGroup is not null
|
|
131
|
+
combined.sort((a, b) => Number(b.isGroup != null) - Number(a.isGroup != null));
|
|
132
|
+
return uniqWith(combined, (a, b) => a.address === b.address && a.type === b.type);
|
|
103
133
|
}
|
|
104
134
|
}
|
|
105
135
|
}
|
|
@@ -59,6 +59,7 @@ import {
|
|
|
59
59
|
} from '../request';
|
|
60
60
|
import { JsonRequestOptions, Namespace, RequestBody, RequestOptions } from '../request/types';
|
|
61
61
|
import {
|
|
62
|
+
ActionOpResponse,
|
|
62
63
|
AddMsgInput,
|
|
63
64
|
CalendarItemInput,
|
|
64
65
|
CounterAppointmentInput,
|
|
@@ -384,7 +385,7 @@ export class ZimbraBatchClient {
|
|
|
384
385
|
});
|
|
385
386
|
|
|
386
387
|
public action = (type: ActionType, options: ActionOptions) => {
|
|
387
|
-
const { ids, id, ...rest } = options;
|
|
388
|
+
const { ids, id, isBatchOperation, ...rest } = options;
|
|
388
389
|
|
|
389
390
|
return this.jsonRequest({
|
|
390
391
|
name: type,
|
|
@@ -394,7 +395,7 @@ export class ZimbraBatchClient {
|
|
|
394
395
|
...denormalize(ActionOptionsEntity)(rest)
|
|
395
396
|
}
|
|
396
397
|
},
|
|
397
|
-
singleRequest:
|
|
398
|
+
singleRequest: !isBatchOperation
|
|
398
399
|
}).then(Boolean);
|
|
399
400
|
};
|
|
400
401
|
|
|
@@ -569,11 +570,21 @@ export class ZimbraBatchClient {
|
|
|
569
570
|
}
|
|
570
571
|
};
|
|
571
572
|
|
|
572
|
-
public checkCalendar = ({
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
573
|
+
public checkCalendar = ({
|
|
574
|
+
id,
|
|
575
|
+
value
|
|
576
|
+
}: FolderActionCheckCalendarInput): Promise<ActionOpResponse> => {
|
|
577
|
+
return this.jsonRequest({
|
|
578
|
+
name: ActionType.folder,
|
|
579
|
+
body: {
|
|
580
|
+
action: {
|
|
581
|
+
id,
|
|
582
|
+
op: value ? 'check' : '!check'
|
|
583
|
+
}
|
|
584
|
+
},
|
|
585
|
+
singleRequest: true
|
|
576
586
|
});
|
|
587
|
+
};
|
|
577
588
|
|
|
578
589
|
public clientInfo = ({ by, domain }: any) =>
|
|
579
590
|
this.jsonRequest({
|
|
@@ -87,12 +87,14 @@ const CalendarItemAttendees = new Entity({
|
|
|
87
87
|
ptst: 'participationStatus',
|
|
88
88
|
a: 'address',
|
|
89
89
|
d: 'name',
|
|
90
|
-
cutype: 'calendarUserType'
|
|
90
|
+
cutype: 'calendarUserType',
|
|
91
|
+
isGroup: 'isGroup'
|
|
91
92
|
});
|
|
92
93
|
|
|
93
94
|
const CalendarItemReply = new Entity({
|
|
94
95
|
ptst: 'participationStatus',
|
|
95
|
-
at: 'address'
|
|
96
|
+
at: 'address',
|
|
97
|
+
isGroup: 'isGroup'
|
|
96
98
|
});
|
|
97
99
|
|
|
98
100
|
const CalendarItemOrganizer = new Entity({
|
|
@@ -82,6 +82,8 @@ export type AccountInfo = {
|
|
|
82
82
|
export type AccountInfoAttrs = {
|
|
83
83
|
__typename?: 'AccountInfoAttrs';
|
|
84
84
|
displayName?: Maybe<Scalars['String']['output']>;
|
|
85
|
+
zimbraAttachmentsBlocked?: Maybe<Scalars['Boolean']['output']>;
|
|
86
|
+
zimbraAttachmentsViewInHtmlOnly?: Maybe<Scalars['Boolean']['output']>;
|
|
85
87
|
zimbraBlockEmailSendFromImapPop?: Maybe<Scalars['Boolean']['output']>;
|
|
86
88
|
zimbraBrandingFolderName?: Maybe<Scalars['String']['output']>;
|
|
87
89
|
zimbraDataSourceMaxNumEntries?: Maybe<Scalars['Int']['output']>;
|
|
@@ -123,6 +125,7 @@ export type AccountInfoAttrs = {
|
|
|
123
125
|
zimbraFeatureMailSendLaterEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
124
126
|
zimbraFeatureManageZimlets?: Maybe<Scalars['Boolean']['output']>;
|
|
125
127
|
zimbraFeatureMobileSyncEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
128
|
+
zimbraFeatureOptionsEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
126
129
|
zimbraFeatureOutOfOfficeReplyEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
127
130
|
zimbraFeaturePop3DataSourceEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
128
131
|
zimbraFeaturePowerPasteEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
@@ -169,6 +172,7 @@ export type AccountInfoAttrs = {
|
|
|
169
172
|
zimbraPasswordMinNumericChars?: Maybe<Scalars['Int']['output']>;
|
|
170
173
|
zimbraPasswordMinPunctuationChars?: Maybe<Scalars['Int']['output']>;
|
|
171
174
|
zimbraPasswordMinUpperCaseChars?: Maybe<Scalars['Int']['output']>;
|
|
175
|
+
zimbraPop3Enabled?: Maybe<Scalars['Boolean']['output']>;
|
|
172
176
|
zimbraPublicSharingEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
173
177
|
zimbraSignupAffiliate?: Maybe<Scalars['String']['output']>;
|
|
174
178
|
zimbraSignupRecoveryEmail?: Maybe<Scalars['String']['output']>;
|
|
@@ -612,6 +616,7 @@ export type CalendarItemAttendee = {
|
|
|
612
616
|
__typename?: 'CalendarItemAttendee';
|
|
613
617
|
address?: Maybe<Scalars['String']['output']>;
|
|
614
618
|
calendarUserType?: Maybe<Scalars['String']['output']>;
|
|
619
|
+
isGroup?: Maybe<Scalars['Boolean']['output']>;
|
|
615
620
|
name?: Maybe<Scalars['String']['output']>;
|
|
616
621
|
participationStatus?: Maybe<ParticipationStatus>;
|
|
617
622
|
role?: Maybe<ParticipationRole>;
|
|
@@ -708,6 +713,7 @@ export type CalendarItemInviteComponentCounterInput = {
|
|
|
708
713
|
percentComplete?: InputMaybe<Scalars['String']['input']>;
|
|
709
714
|
priority?: InputMaybe<Scalars['String']['input']>;
|
|
710
715
|
recurrence?: InputMaybe<CalendarItemRecurrenceInput>;
|
|
716
|
+
seq?: InputMaybe<Scalars['Int']['input']>;
|
|
711
717
|
start: CalendarItemDateTimeInput;
|
|
712
718
|
status?: InputMaybe<InviteCompletionStatus>;
|
|
713
719
|
uid?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -829,6 +835,7 @@ export type CalendarItemRecurrenceRuleInput = {
|
|
|
829
835
|
export type CalendarItemReply = {
|
|
830
836
|
__typename?: 'CalendarItemReply';
|
|
831
837
|
address?: Maybe<Scalars['String']['output']>;
|
|
838
|
+
isGroup?: Maybe<Scalars['Boolean']['output']>;
|
|
832
839
|
participationStatus?: Maybe<ParticipationStatus>;
|
|
833
840
|
};
|
|
834
841
|
|
|
@@ -2194,6 +2201,7 @@ export type Instance = {
|
|
|
2194
2201
|
|
|
2195
2202
|
export type InstanceDate = {
|
|
2196
2203
|
date?: InputMaybe<Scalars['String']['input']>;
|
|
2204
|
+
timezone?: InputMaybe<Scalars['String']['input']>;
|
|
2197
2205
|
};
|
|
2198
2206
|
|
|
2199
2207
|
export type IntervalRule = {
|
|
@@ -2656,7 +2664,7 @@ export type Mutation = {
|
|
|
2656
2664
|
cancelTask?: Maybe<Scalars['Boolean']['output']>;
|
|
2657
2665
|
changeFolderColor?: Maybe<Scalars['Boolean']['output']>;
|
|
2658
2666
|
changePassword?: Maybe<AuthResponse>;
|
|
2659
|
-
checkCalendar?: Maybe<
|
|
2667
|
+
checkCalendar?: Maybe<ActionOpResponse>;
|
|
2660
2668
|
contactAction?: Maybe<ActionOpResponse>;
|
|
2661
2669
|
conversationAction?: Maybe<Scalars['Boolean']['output']>;
|
|
2662
2670
|
counterAppointment?: Maybe<Scalars['Boolean']['output']>;
|
|
@@ -2756,6 +2764,7 @@ export type MutationActionArgs = {
|
|
|
2756
2764
|
folderId?: InputMaybe<Scalars['ID']['input']>;
|
|
2757
2765
|
id?: InputMaybe<Scalars['ID']['input']>;
|
|
2758
2766
|
ids?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
2767
|
+
isBatchOperation?: InputMaybe<Scalars['Boolean']['input']>;
|
|
2759
2768
|
isLocal?: InputMaybe<Scalars['Boolean']['input']>;
|
|
2760
2769
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
2761
2770
|
op: Scalars['String']['input'];
|
|
@@ -2833,6 +2842,7 @@ export type MutationContactActionArgs = {
|
|
|
2833
2842
|
folderId?: InputMaybe<Scalars['ID']['input']>;
|
|
2834
2843
|
id?: InputMaybe<Scalars['ID']['input']>;
|
|
2835
2844
|
ids?: InputMaybe<Array<Scalars['ID']['input']>>;
|
|
2845
|
+
isBatchOperation?: InputMaybe<Scalars['Boolean']['input']>;
|
|
2836
2846
|
op: Scalars['String']['input'];
|
|
2837
2847
|
tagNames?: InputMaybe<Scalars['String']['input']>;
|
|
2838
2848
|
};
|
|
@@ -3021,6 +3031,7 @@ export type MutationItemActionArgs = {
|
|
|
3021
3031
|
folderId?: InputMaybe<Scalars['ID']['input']>;
|
|
3022
3032
|
id?: InputMaybe<Scalars['ID']['input']>;
|
|
3023
3033
|
ids?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;
|
|
3034
|
+
isBatchOperation?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3024
3035
|
name?: InputMaybe<Scalars['String']['input']>;
|
|
3025
3036
|
op: Scalars['String']['input'];
|
|
3026
3037
|
tagNames?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -3411,6 +3422,13 @@ export type PolicyInput = {
|
|
|
3411
3422
|
policy?: InputMaybe<Array<InputMaybe<PolicyAttrsInput>>>;
|
|
3412
3423
|
};
|
|
3413
3424
|
|
|
3425
|
+
export enum Pop3DeleteOption {
|
|
3426
|
+
Delete = 'delete',
|
|
3427
|
+
Keep = 'keep',
|
|
3428
|
+
Read = 'read',
|
|
3429
|
+
Trash = 'trash'
|
|
3430
|
+
}
|
|
3431
|
+
|
|
3414
3432
|
export enum PrefCalendarInitialView {
|
|
3415
3433
|
Day = 'day',
|
|
3416
3434
|
List = 'list',
|
|
@@ -3475,6 +3493,7 @@ export type Preferences = {
|
|
|
3475
3493
|
zimbraPrefHtmlEditorDefaultFontColor?: Maybe<Scalars['String']['output']>;
|
|
3476
3494
|
zimbraPrefHtmlEditorDefaultFontFamily?: Maybe<Scalars['String']['output']>;
|
|
3477
3495
|
zimbraPrefHtmlEditorDefaultFontSize?: Maybe<Scalars['String']['output']>;
|
|
3496
|
+
zimbraPrefImapEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
3478
3497
|
zimbraPrefLocale?: Maybe<Scalars['String']['output']>;
|
|
3479
3498
|
zimbraPrefMailDeliveryStatusNotification?: Maybe<Scalars['Boolean']['output']>;
|
|
3480
3499
|
zimbraPrefMailForwardingAddress?: Maybe<Scalars['String']['output']>;
|
|
@@ -3497,6 +3516,10 @@ export type Preferences = {
|
|
|
3497
3516
|
zimbraPrefOutOfOfficeUntilDate?: Maybe<Scalars['String']['output']>;
|
|
3498
3517
|
zimbraPrefPasswordRecoveryAddress?: Maybe<Scalars['String']['output']>;
|
|
3499
3518
|
zimbraPrefPasswordRecoveryAddressStatus?: Maybe<PasswordRecoveryAddressStatus>;
|
|
3519
|
+
zimbraPrefPop3DeleteOption?: Maybe<Pop3DeleteOption>;
|
|
3520
|
+
zimbraPrefPop3DownloadSince?: Maybe<Scalars['String']['output']>;
|
|
3521
|
+
zimbraPrefPop3Enabled?: Maybe<Scalars['Boolean']['output']>;
|
|
3522
|
+
zimbraPrefPop3IncludeSpam?: Maybe<Scalars['Boolean']['output']>;
|
|
3500
3523
|
zimbraPrefPowerPasteEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
3501
3524
|
zimbraPrefPrimaryTwoFactorAuthMethod?: Maybe<Scalars['String']['output']>;
|
|
3502
3525
|
zimbraPrefReadingPaneEnabled?: Maybe<Scalars['Boolean']['output']>;
|
|
@@ -3541,6 +3564,7 @@ export type PreferencesInput = {
|
|
|
3541
3564
|
zimbraPrefHtmlEditorDefaultFontColor?: InputMaybe<Scalars['String']['input']>;
|
|
3542
3565
|
zimbraPrefHtmlEditorDefaultFontFamily?: InputMaybe<Scalars['String']['input']>;
|
|
3543
3566
|
zimbraPrefHtmlEditorDefaultFontSize?: InputMaybe<Scalars['String']['input']>;
|
|
3567
|
+
zimbraPrefImapEnabled?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3544
3568
|
zimbraPrefLocale?: InputMaybe<Scalars['String']['input']>;
|
|
3545
3569
|
zimbraPrefMailDeliveryStatusNotification?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3546
3570
|
zimbraPrefMailForwardingAddress?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -3561,6 +3585,10 @@ export type PreferencesInput = {
|
|
|
3561
3585
|
zimbraPrefOutOfOfficeStatusAlertOnLogin?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3562
3586
|
zimbraPrefOutOfOfficeSuppressExternalReply?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3563
3587
|
zimbraPrefOutOfOfficeUntilDate?: InputMaybe<Scalars['String']['input']>;
|
|
3588
|
+
zimbraPrefPop3DeleteOption?: InputMaybe<Pop3DeleteOption>;
|
|
3589
|
+
zimbraPrefPop3DownloadSince?: InputMaybe<Scalars['String']['input']>;
|
|
3590
|
+
zimbraPrefPop3Enabled?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3591
|
+
zimbraPrefPop3IncludeSpam?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3564
3592
|
zimbraPrefPowerPasteEnabled?: InputMaybe<Scalars['Boolean']['input']>;
|
|
3565
3593
|
zimbraPrefPrimaryTwoFactorAuthMethod?: InputMaybe<Scalars['String']['input']>;
|
|
3566
3594
|
zimbraPrefReadingPaneEnabled?: InputMaybe<Scalars['Boolean']['input']>;
|
|
@@ -4233,6 +4261,7 @@ export type SearchResponse = {
|
|
|
4233
4261
|
|
|
4234
4262
|
export enum SearchType {
|
|
4235
4263
|
Appointment = 'appointment',
|
|
4264
|
+
Briefcase = 'briefcase',
|
|
4236
4265
|
Contact = 'contact',
|
|
4237
4266
|
Conversation = 'conversation',
|
|
4238
4267
|
Document = 'document',
|
|
@@ -203,6 +203,7 @@ enum SearchType {
|
|
|
203
203
|
wiki
|
|
204
204
|
document
|
|
205
205
|
unknown
|
|
206
|
+
briefcase
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
enum ContactType {
|
|
@@ -322,6 +323,13 @@ enum PrefClientType {
|
|
|
322
323
|
standard
|
|
323
324
|
}
|
|
324
325
|
|
|
326
|
+
enum Pop3DeleteOption {
|
|
327
|
+
keep
|
|
328
|
+
read
|
|
329
|
+
trash
|
|
330
|
+
delete
|
|
331
|
+
}
|
|
332
|
+
|
|
325
333
|
enum Mode {
|
|
326
334
|
text
|
|
327
335
|
html
|
|
@@ -1454,6 +1462,8 @@ type AccountZimletConfigInfo {
|
|
|
1454
1462
|
|
|
1455
1463
|
type AccountInfoAttrs {
|
|
1456
1464
|
displayName: String
|
|
1465
|
+
zimbraAttachmentsBlocked: Boolean
|
|
1466
|
+
zimbraAttachmentsViewInHtmlOnly: Boolean
|
|
1457
1467
|
zimbraBrandingFolderName: String
|
|
1458
1468
|
zimbraDataSourceMaxNumEntries: Int
|
|
1459
1469
|
zimbraDomainTrialConvertAtExpiration: Boolean
|
|
@@ -1549,6 +1559,8 @@ type AccountInfoAttrs {
|
|
|
1549
1559
|
zimbraFeatureAdvancedChatEnabled: Boolean
|
|
1550
1560
|
zimbraMailIdleSessionTimeout: String
|
|
1551
1561
|
zimbraFeatureDeliveryStatusNotificationEnabled: Boolean
|
|
1562
|
+
zimbraPop3Enabled: Boolean
|
|
1563
|
+
zimbraFeatureOptionsEnabled: Boolean
|
|
1552
1564
|
}
|
|
1553
1565
|
|
|
1554
1566
|
type AccountCos {
|
|
@@ -1700,6 +1712,11 @@ type Preferences {
|
|
|
1700
1712
|
zimbraPrefDisplayTimeInMailList: Boolean
|
|
1701
1713
|
zimbraPrefPrimaryTwoFactorAuthMethod: String
|
|
1702
1714
|
zimbraPrefMailDeliveryStatusNotification: Boolean
|
|
1715
|
+
zimbraPrefImapEnabled: Boolean
|
|
1716
|
+
zimbraPrefPop3Enabled: Boolean
|
|
1717
|
+
zimbraPrefPop3DownloadSince: String
|
|
1718
|
+
zimbraPrefPop3IncludeSpam: Boolean
|
|
1719
|
+
zimbraPrefPop3DeleteOption: Pop3DeleteOption
|
|
1703
1720
|
}
|
|
1704
1721
|
|
|
1705
1722
|
type GetAppointmentResponse {
|
|
@@ -2427,7 +2444,8 @@ input CalendarItemInviteComponentCounterInput {
|
|
|
2427
2444
|
status: InviteCompletionStatus
|
|
2428
2445
|
noBlob: Boolean
|
|
2429
2446
|
description: [CalendarItemInviteComponentDescriptionInput]
|
|
2430
|
-
draft: Boolean
|
|
2447
|
+
draft: Boolean,
|
|
2448
|
+
seq: Int
|
|
2431
2449
|
}
|
|
2432
2450
|
|
|
2433
2451
|
type CalendarItemAttendee {
|
|
@@ -2437,11 +2455,13 @@ type CalendarItemAttendee {
|
|
|
2437
2455
|
address: String
|
|
2438
2456
|
name: String
|
|
2439
2457
|
calendarUserType: String
|
|
2458
|
+
isGroup: Boolean
|
|
2440
2459
|
}
|
|
2441
2460
|
|
|
2442
2461
|
type CalendarItemReply {
|
|
2443
2462
|
participationStatus: ParticipationStatus
|
|
2444
2463
|
address: String
|
|
2464
|
+
isGroup: Boolean
|
|
2445
2465
|
}
|
|
2446
2466
|
|
|
2447
2467
|
input CalendarItemAttendeesInput {
|
|
@@ -2777,6 +2797,11 @@ input PreferencesInput {
|
|
|
2777
2797
|
zimbraPrefPrimaryTwoFactorAuthMethod: String
|
|
2778
2798
|
zimbraPrefDeleteInviteOnReply: Boolean
|
|
2779
2799
|
zimbraPrefMailDeliveryStatusNotification: Boolean
|
|
2800
|
+
zimbraPrefImapEnabled: Boolean
|
|
2801
|
+
zimbraPrefPop3Enabled: Boolean
|
|
2802
|
+
zimbraPrefPop3DownloadSince: String
|
|
2803
|
+
zimbraPrefPop3IncludeSpam: Boolean
|
|
2804
|
+
zimbraPrefPop3DeleteOption: Pop3DeleteOption
|
|
2780
2805
|
}
|
|
2781
2806
|
|
|
2782
2807
|
input ModifyIdentityInput {
|
|
@@ -3150,7 +3175,8 @@ input NameIdInput {
|
|
|
3150
3175
|
name: String
|
|
3151
3176
|
}
|
|
3152
3177
|
input InstanceDate {
|
|
3153
|
-
date: String
|
|
3178
|
+
date: String,
|
|
3179
|
+
timezone: String
|
|
3154
3180
|
}
|
|
3155
3181
|
input DeleteAppointmentInput {
|
|
3156
3182
|
instanceDate: InstanceDate
|
|
@@ -3691,6 +3717,7 @@ type Mutation {
|
|
|
3691
3717
|
tagNames: String
|
|
3692
3718
|
name: String
|
|
3693
3719
|
isLocal: Boolean
|
|
3720
|
+
isBatchOperation: Boolean
|
|
3694
3721
|
recursive: Boolean
|
|
3695
3722
|
destFolderLocal: Boolean
|
|
3696
3723
|
): Boolean
|
|
@@ -3715,13 +3742,14 @@ type Mutation {
|
|
|
3715
3742
|
content: String
|
|
3716
3743
|
contentType: String
|
|
3717
3744
|
): ProfileImageChangeResponse
|
|
3718
|
-
checkCalendar(id: ID!, value: Boolean!):
|
|
3745
|
+
checkCalendar(id: ID!, value: Boolean!): ActionOpResponse
|
|
3719
3746
|
contactAction(
|
|
3720
3747
|
id: ID
|
|
3721
3748
|
ids: [ID!]
|
|
3722
3749
|
folderId: ID
|
|
3723
3750
|
op: String!
|
|
3724
3751
|
tagNames: String
|
|
3752
|
+
isBatchOperation: Boolean
|
|
3725
3753
|
): ActionOpResponse
|
|
3726
3754
|
conversationAction(ids: [ID!]!, op: String!): Boolean
|
|
3727
3755
|
counterAppointment(
|
|
@@ -3784,6 +3812,7 @@ type Mutation {
|
|
|
3784
3812
|
op: String!
|
|
3785
3813
|
tagNames: String
|
|
3786
3814
|
name: String
|
|
3815
|
+
isBatchOperation: Boolean
|
|
3787
3816
|
): Boolean
|
|
3788
3817
|
importExternalAccount(externalAccount: ExternalAccountImportInput!): Boolean
|
|
3789
3818
|
logout: Boolean
|
package/src/schema/schema.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { makeExecutableSchema } from '@graphql-tools/schema';
|
|
|
2
2
|
import mapValues from 'lodash/mapValues';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
|
+
ActionOpResponse,
|
|
5
6
|
AddMsgInput,
|
|
6
7
|
CalendarItemInput,
|
|
7
8
|
CounterAppointmentInput,
|
|
@@ -281,7 +282,7 @@ export function createZimbraSchema(options: ZimbraSchemaOptions): {
|
|
|
281
282
|
client.createMountpoint(variables as CreateMountpointInput),
|
|
282
283
|
deleteAppointment: (_, { appointment }) =>
|
|
283
284
|
client.deleteAppointment(appointment as DeleteAppointmentInput),
|
|
284
|
-
checkCalendar: (_, variables) =>
|
|
285
|
+
checkCalendar: (_, variables): Promise<ActionOpResponse> =>
|
|
285
286
|
client.checkCalendar(variables as FolderActionCheckCalendarInput),
|
|
286
287
|
counterAppointment: (_, { counterAppointmentInvite }) =>
|
|
287
288
|
client.counterAppointment(counterAppointmentInvite as CounterAppointmentInput),
|