@fivenet-app/gen 0.9.5-0 → 2025.4.8

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fivenet-app/gen",
3
3
  "private": false,
4
- "version": "0.9.5-0",
4
+ "version": "2025.4.8",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "repository": {
package/perms.ts CHANGED
@@ -102,10 +102,7 @@ export type Perms =
102
102
  | 'SuperUser'
103
103
  | 'TODOService.TODOMethod'
104
104
  | 'AuthService.ChooseCharacter'
105
- | 'CalendarService.CreateOrUpdateCalendar'
106
- | 'CalendarService.CreateOrUpdateCalendarEntry'
107
- | 'CalendarService.DeleteCalendar'
108
- | 'CalendarService.DeleteCalendarEntry'
105
+ | 'CalendarService.CreateCalendar'
109
106
  | 'CentrumService.CreateDispatch'
110
107
  | 'CentrumService.CreateOrUpdateUnit'
111
108
  | 'CentrumService.DeleteDispatch'
@@ -142,7 +139,6 @@ export type Perms =
142
139
  | 'DocStoreService.ListDocuments'
143
140
  | 'DocStoreService.ListTemplates'
144
141
  | 'DocStoreService.ListUserDocuments'
145
- | 'DocStoreService.PostComment'
146
142
  | 'DocStoreService.SetDocumentReminder'
147
143
  | 'DocStoreService.ToggleDocument'
148
144
  | 'DocStoreService.ToggleDocumentPin'
@@ -165,11 +161,8 @@ export type Perms =
165
161
  | 'MailerService.CreateOrUpdateEmail'
166
162
  | 'MailerService.DeleteEmail'
167
163
  | 'MailerService.ListEmails'
168
- | 'QualificationsService.CreateOrUpdateQualificationResult'
169
164
  | 'QualificationsService.CreateQualification'
170
165
  | 'QualificationsService.DeleteQualification'
171
- | 'QualificationsService.DeleteQualificationReq'
172
- | 'QualificationsService.DeleteQualificationResult'
173
166
  | 'QualificationsService.ListQualifications'
174
167
  | 'QualificationsService.UpdateQualification'
175
168
  | 'RectorService.CreateRole'
@@ -182,5 +175,4 @@ export type Perms =
182
175
  | 'WikiService.CreatePage'
183
176
  | 'WikiService.DeletePage'
184
177
  | 'WikiService.ListPageActivity'
185
- | 'WikiService.ListPages'
186
- | 'WikiService.UpdatePage';
178
+ | 'WikiService.ListPages';
@@ -39,6 +39,10 @@ export interface Permission {
39
39
  * @generated from protobuf field: bool val = 6;
40
40
  */
41
41
  val: boolean;
42
+ /**
43
+ * @generated from protobuf field: optional int32 order = 7;
44
+ */
45
+ order?: number;
42
46
  }
43
47
  /**
44
48
  * @generated from protobuf message resources.permissions.Role
@@ -198,6 +202,12 @@ export interface AttributeValues {
198
202
  * @generated from protobuf field: resources.permissions.JobGradeList job_grade_list = 3;
199
203
  */
200
204
  jobGradeList: JobGradeList;
205
+ } | {
206
+ oneofKind: "jobGradeMap";
207
+ /**
208
+ * @generated from protobuf field: resources.permissions.JobGradeMap job_grade_map = 4;
209
+ */
210
+ jobGradeMap: JobGradeMap;
201
211
  } | {
202
212
  oneofKind: undefined;
203
213
  };
@@ -224,6 +234,26 @@ export interface JobGradeList {
224
234
  [key: string]: number;
225
235
  };
226
236
  }
237
+ /**
238
+ * @generated from protobuf message resources.permissions.JobGradeMap
239
+ */
240
+ export interface JobGradeMap {
241
+ /**
242
+ * @generated from protobuf field: map<string, resources.permissions.JobGrades> jobs = 1;
243
+ */
244
+ jobs: {
245
+ [key: string]: JobGrades;
246
+ };
247
+ }
248
+ /**
249
+ * @generated from protobuf message resources.permissions.JobGrades
250
+ */
251
+ export interface JobGrades {
252
+ /**
253
+ * @generated from protobuf field: repeated int32 grades = 1;
254
+ */
255
+ grades: number[];
256
+ }
227
257
  // @generated message type with reflection information, may provide speed optimized methods
228
258
  class Permission$Type extends MessageType<Permission> {
229
259
  constructor() {
@@ -233,7 +263,8 @@ class Permission$Type extends MessageType<Permission> {
233
263
  { no: 3, name: "category", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "128" } } } },
234
264
  { no: 4, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
235
265
  { no: 5, name: "guard_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
236
- { no: 6, name: "val", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
266
+ { no: 6, name: "val", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
267
+ { no: 7, name: "order", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
237
268
  ]);
238
269
  }
239
270
  create(value?: PartialMessage<Permission>): Permission {
@@ -270,6 +301,9 @@ class Permission$Type extends MessageType<Permission> {
270
301
  case /* bool val */ 6:
271
302
  message.val = reader.bool();
272
303
  break;
304
+ case /* optional int32 order */ 7:
305
+ message.order = reader.int32();
306
+ break;
273
307
  default:
274
308
  let u = options.readUnknownField;
275
309
  if (u === "throw")
@@ -300,6 +334,9 @@ class Permission$Type extends MessageType<Permission> {
300
334
  /* bool val = 6; */
301
335
  if (message.val !== false)
302
336
  writer.tag(6, WireType.Varint).bool(message.val);
337
+ /* optional int32 order = 7; */
338
+ if (message.order !== undefined)
339
+ writer.tag(7, WireType.Varint).int32(message.order);
303
340
  let u = options.writeUnknownFields;
304
341
  if (u !== false)
305
342
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -655,7 +692,8 @@ class AttributeValues$Type extends MessageType<AttributeValues> {
655
692
  super("resources.permissions.AttributeValues", [
656
693
  { no: 1, name: "string_list", kind: "message", oneof: "validValues", T: () => StringList },
657
694
  { no: 2, name: "job_list", kind: "message", oneof: "validValues", T: () => StringList },
658
- { no: 3, name: "job_grade_list", kind: "message", oneof: "validValues", T: () => JobGradeList }
695
+ { no: 3, name: "job_grade_list", kind: "message", oneof: "validValues", T: () => JobGradeList },
696
+ { no: 4, name: "job_grade_map", kind: "message", oneof: "validValues", T: () => JobGradeMap }
659
697
  ]);
660
698
  }
661
699
  create(value?: PartialMessage<AttributeValues>): AttributeValues {
@@ -688,6 +726,12 @@ class AttributeValues$Type extends MessageType<AttributeValues> {
688
726
  jobGradeList: JobGradeList.internalBinaryRead(reader, reader.uint32(), options, (message.validValues as any).jobGradeList)
689
727
  };
690
728
  break;
729
+ case /* resources.permissions.JobGradeMap job_grade_map */ 4:
730
+ message.validValues = {
731
+ oneofKind: "jobGradeMap",
732
+ jobGradeMap: JobGradeMap.internalBinaryRead(reader, reader.uint32(), options, (message.validValues as any).jobGradeMap)
733
+ };
734
+ break;
691
735
  default:
692
736
  let u = options.readUnknownField;
693
737
  if (u === "throw")
@@ -709,6 +753,9 @@ class AttributeValues$Type extends MessageType<AttributeValues> {
709
753
  /* resources.permissions.JobGradeList job_grade_list = 3; */
710
754
  if (message.validValues.oneofKind === "jobGradeList")
711
755
  JobGradeList.internalBinaryWrite(message.validValues.jobGradeList, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
756
+ /* resources.permissions.JobGradeMap job_grade_map = 4; */
757
+ if (message.validValues.oneofKind === "jobGradeMap")
758
+ JobGradeMap.internalBinaryWrite(message.validValues.jobGradeMap, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
712
759
  let u = options.writeUnknownFields;
713
760
  if (u !== false)
714
761
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -829,3 +876,125 @@ class JobGradeList$Type extends MessageType<JobGradeList> {
829
876
  * @generated MessageType for protobuf message resources.permissions.JobGradeList
830
877
  */
831
878
  export const JobGradeList = new JobGradeList$Type();
879
+ // @generated message type with reflection information, may provide speed optimized methods
880
+ class JobGradeMap$Type extends MessageType<JobGradeMap> {
881
+ constructor() {
882
+ super("resources.permissions.JobGradeMap", [
883
+ { no: 1, name: "jobs", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "message", T: () => JobGrades } }
884
+ ]);
885
+ }
886
+ create(value?: PartialMessage<JobGradeMap>): JobGradeMap {
887
+ const message = globalThis.Object.create((this.messagePrototype!));
888
+ message.jobs = {};
889
+ if (value !== undefined)
890
+ reflectionMergePartial<JobGradeMap>(this, message, value);
891
+ return message;
892
+ }
893
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobGradeMap): JobGradeMap {
894
+ let message = target ?? this.create(), end = reader.pos + length;
895
+ while (reader.pos < end) {
896
+ let [fieldNo, wireType] = reader.tag();
897
+ switch (fieldNo) {
898
+ case /* map<string, resources.permissions.JobGrades> jobs */ 1:
899
+ this.binaryReadMap1(message.jobs, reader, options);
900
+ break;
901
+ default:
902
+ let u = options.readUnknownField;
903
+ if (u === "throw")
904
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
905
+ let d = reader.skip(wireType);
906
+ if (u !== false)
907
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
908
+ }
909
+ }
910
+ return message;
911
+ }
912
+ private binaryReadMap1(map: JobGradeMap["jobs"], reader: IBinaryReader, options: BinaryReadOptions): void {
913
+ let len = reader.uint32(), end = reader.pos + len, key: keyof JobGradeMap["jobs"] | undefined, val: JobGradeMap["jobs"][any] | undefined;
914
+ while (reader.pos < end) {
915
+ let [fieldNo, wireType] = reader.tag();
916
+ switch (fieldNo) {
917
+ case 1:
918
+ key = reader.string();
919
+ break;
920
+ case 2:
921
+ val = JobGrades.internalBinaryRead(reader, reader.uint32(), options);
922
+ break;
923
+ default: throw new globalThis.Error("unknown map entry field for field resources.permissions.JobGradeMap.jobs");
924
+ }
925
+ }
926
+ map[key ?? ""] = val ?? JobGrades.create();
927
+ }
928
+ internalBinaryWrite(message: JobGradeMap, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
929
+ /* map<string, resources.permissions.JobGrades> jobs = 1; */
930
+ for (let k of globalThis.Object.keys(message.jobs)) {
931
+ writer.tag(1, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);
932
+ writer.tag(2, WireType.LengthDelimited).fork();
933
+ JobGrades.internalBinaryWrite(message.jobs[k], writer, options);
934
+ writer.join().join();
935
+ }
936
+ let u = options.writeUnknownFields;
937
+ if (u !== false)
938
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
939
+ return writer;
940
+ }
941
+ }
942
+ /**
943
+ * @generated MessageType for protobuf message resources.permissions.JobGradeMap
944
+ */
945
+ export const JobGradeMap = new JobGradeMap$Type();
946
+ // @generated message type with reflection information, may provide speed optimized methods
947
+ class JobGrades$Type extends MessageType<JobGrades> {
948
+ constructor() {
949
+ super("resources.permissions.JobGrades", [
950
+ { no: 1, name: "grades", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ }
951
+ ]);
952
+ }
953
+ create(value?: PartialMessage<JobGrades>): JobGrades {
954
+ const message = globalThis.Object.create((this.messagePrototype!));
955
+ message.grades = [];
956
+ if (value !== undefined)
957
+ reflectionMergePartial<JobGrades>(this, message, value);
958
+ return message;
959
+ }
960
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobGrades): JobGrades {
961
+ let message = target ?? this.create(), end = reader.pos + length;
962
+ while (reader.pos < end) {
963
+ let [fieldNo, wireType] = reader.tag();
964
+ switch (fieldNo) {
965
+ case /* repeated int32 grades */ 1:
966
+ if (wireType === WireType.LengthDelimited)
967
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
968
+ message.grades.push(reader.int32());
969
+ else
970
+ message.grades.push(reader.int32());
971
+ break;
972
+ default:
973
+ let u = options.readUnknownField;
974
+ if (u === "throw")
975
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
976
+ let d = reader.skip(wireType);
977
+ if (u !== false)
978
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
979
+ }
980
+ }
981
+ return message;
982
+ }
983
+ internalBinaryWrite(message: JobGrades, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
984
+ /* repeated int32 grades = 1; */
985
+ if (message.grades.length) {
986
+ writer.tag(1, WireType.LengthDelimited).fork();
987
+ for (let i = 0; i < message.grades.length; i++)
988
+ writer.int32(message.grades[i]);
989
+ writer.join();
990
+ }
991
+ let u = options.writeUnknownFields;
992
+ if (u !== false)
993
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
994
+ return writer;
995
+ }
996
+ }
997
+ /**
998
+ * @generated MessageType for protobuf message resources.permissions.JobGrades
999
+ */
1000
+ export const JobGrades = new JobGrades$Type();
@@ -26,8 +26,10 @@ import type { ListCalendarEntriesResponse } from "./calendar";
26
26
  import type { ListCalendarEntriesRequest } from "./calendar";
27
27
  import type { DeleteCalendarResponse } from "./calendar";
28
28
  import type { DeleteCalendarRequest } from "./calendar";
29
- import type { CreateOrUpdateCalendarResponse } from "./calendar";
30
- import type { CreateOrUpdateCalendarRequest } from "./calendar";
29
+ import type { UpdateCalendarResponse } from "./calendar";
30
+ import type { UpdateCalendarRequest } from "./calendar";
31
+ import type { CreateCalendarResponse } from "./calendar";
32
+ import type { CreateCalendarRequest } from "./calendar";
31
33
  import type { GetCalendarResponse } from "./calendar";
32
34
  import type { GetCalendarRequest } from "./calendar";
33
35
  import { stackIntercept } from "@protobuf-ts/runtime-rpc";
@@ -54,11 +56,17 @@ export interface ICalendarServiceClient {
54
56
  /**
55
57
  * @perm: Attrs=Fields/StringList:[]string{"Job", "Public"}
56
58
  *
57
- * @generated from protobuf rpc: CreateOrUpdateCalendar(services.calendar.CreateOrUpdateCalendarRequest) returns (services.calendar.CreateOrUpdateCalendarResponse);
59
+ * @generated from protobuf rpc: CreateCalendar(services.calendar.CreateCalendarRequest) returns (services.calendar.CreateCalendarResponse);
58
60
  */
59
- createOrUpdateCalendar(input: CreateOrUpdateCalendarRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateCalendarRequest, CreateOrUpdateCalendarResponse>;
61
+ createCalendar(input: CreateCalendarRequest, options?: RpcOptions): UnaryCall<CreateCalendarRequest, CreateCalendarResponse>;
60
62
  /**
61
- * @perm
63
+ * @perm: Name=Any
64
+ *
65
+ * @generated from protobuf rpc: UpdateCalendar(services.calendar.UpdateCalendarRequest) returns (services.calendar.UpdateCalendarResponse);
66
+ */
67
+ updateCalendar(input: UpdateCalendarRequest, options?: RpcOptions): UnaryCall<UpdateCalendarRequest, UpdateCalendarResponse>;
68
+ /**
69
+ * @perm: Name=Any
62
70
  *
63
71
  * @generated from protobuf rpc: DeleteCalendar(services.calendar.DeleteCalendarRequest) returns (services.calendar.DeleteCalendarResponse);
64
72
  */
@@ -82,19 +90,19 @@ export interface ICalendarServiceClient {
82
90
  */
83
91
  getCalendarEntry(input: GetCalendarEntryRequest, options?: RpcOptions): UnaryCall<GetCalendarEntryRequest, GetCalendarEntryResponse>;
84
92
  /**
85
- * @perm
93
+ * @perm: Name=Any
86
94
  *
87
95
  * @generated from protobuf rpc: CreateOrUpdateCalendarEntry(services.calendar.CreateOrUpdateCalendarEntryRequest) returns (services.calendar.CreateOrUpdateCalendarEntryResponse);
88
96
  */
89
97
  createOrUpdateCalendarEntry(input: CreateOrUpdateCalendarEntryRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateCalendarEntryRequest, CreateOrUpdateCalendarEntryResponse>;
90
98
  /**
91
- * @perm
99
+ * @perm: Name=Any
92
100
  *
93
101
  * @generated from protobuf rpc: DeleteCalendarEntry(services.calendar.DeleteCalendarEntryRequest) returns (services.calendar.DeleteCalendarEntryResponse);
94
102
  */
95
103
  deleteCalendarEntry(input: DeleteCalendarEntryRequest, options?: RpcOptions): UnaryCall<DeleteCalendarEntryRequest, DeleteCalendarEntryResponse>;
96
104
  /**
97
- * @perm: Name=CreateOrUpdateCalendarEntry
105
+ * @perm: Name=Any
98
106
  *
99
107
  * @generated from protobuf rpc: ShareCalendarEntry(services.calendar.ShareCalendarEntryRequest) returns (services.calendar.ShareCalendarEntryResponse);
100
108
  */
@@ -154,19 +162,28 @@ export class CalendarServiceClient implements ICalendarServiceClient, ServiceInf
154
162
  /**
155
163
  * @perm: Attrs=Fields/StringList:[]string{"Job", "Public"}
156
164
  *
157
- * @generated from protobuf rpc: CreateOrUpdateCalendar(services.calendar.CreateOrUpdateCalendarRequest) returns (services.calendar.CreateOrUpdateCalendarResponse);
165
+ * @generated from protobuf rpc: CreateCalendar(services.calendar.CreateCalendarRequest) returns (services.calendar.CreateCalendarResponse);
158
166
  */
159
- createOrUpdateCalendar(input: CreateOrUpdateCalendarRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateCalendarRequest, CreateOrUpdateCalendarResponse> {
167
+ createCalendar(input: CreateCalendarRequest, options?: RpcOptions): UnaryCall<CreateCalendarRequest, CreateCalendarResponse> {
160
168
  const method = this.methods[2], opt = this._transport.mergeOptions(options);
161
- return stackIntercept<CreateOrUpdateCalendarRequest, CreateOrUpdateCalendarResponse>("unary", this._transport, method, opt, input);
169
+ return stackIntercept<CreateCalendarRequest, CreateCalendarResponse>("unary", this._transport, method, opt, input);
170
+ }
171
+ /**
172
+ * @perm: Name=Any
173
+ *
174
+ * @generated from protobuf rpc: UpdateCalendar(services.calendar.UpdateCalendarRequest) returns (services.calendar.UpdateCalendarResponse);
175
+ */
176
+ updateCalendar(input: UpdateCalendarRequest, options?: RpcOptions): UnaryCall<UpdateCalendarRequest, UpdateCalendarResponse> {
177
+ const method = this.methods[3], opt = this._transport.mergeOptions(options);
178
+ return stackIntercept<UpdateCalendarRequest, UpdateCalendarResponse>("unary", this._transport, method, opt, input);
162
179
  }
163
180
  /**
164
- * @perm
181
+ * @perm: Name=Any
165
182
  *
166
183
  * @generated from protobuf rpc: DeleteCalendar(services.calendar.DeleteCalendarRequest) returns (services.calendar.DeleteCalendarResponse);
167
184
  */
168
185
  deleteCalendar(input: DeleteCalendarRequest, options?: RpcOptions): UnaryCall<DeleteCalendarRequest, DeleteCalendarResponse> {
169
- const method = this.methods[3], opt = this._transport.mergeOptions(options);
186
+ const method = this.methods[4], opt = this._transport.mergeOptions(options);
170
187
  return stackIntercept<DeleteCalendarRequest, DeleteCalendarResponse>("unary", this._transport, method, opt, input);
171
188
  }
172
189
  /**
@@ -175,7 +192,7 @@ export class CalendarServiceClient implements ICalendarServiceClient, ServiceInf
175
192
  * @generated from protobuf rpc: ListCalendarEntries(services.calendar.ListCalendarEntriesRequest) returns (services.calendar.ListCalendarEntriesResponse);
176
193
  */
177
194
  listCalendarEntries(input: ListCalendarEntriesRequest, options?: RpcOptions): UnaryCall<ListCalendarEntriesRequest, ListCalendarEntriesResponse> {
178
- const method = this.methods[4], opt = this._transport.mergeOptions(options);
195
+ const method = this.methods[5], opt = this._transport.mergeOptions(options);
179
196
  return stackIntercept<ListCalendarEntriesRequest, ListCalendarEntriesResponse>("unary", this._transport, method, opt, input);
180
197
  }
181
198
  /**
@@ -184,7 +201,7 @@ export class CalendarServiceClient implements ICalendarServiceClient, ServiceInf
184
201
  * @generated from protobuf rpc: GetUpcomingEntries(services.calendar.GetUpcomingEntriesRequest) returns (services.calendar.GetUpcomingEntriesResponse);
185
202
  */
186
203
  getUpcomingEntries(input: GetUpcomingEntriesRequest, options?: RpcOptions): UnaryCall<GetUpcomingEntriesRequest, GetUpcomingEntriesResponse> {
187
- const method = this.methods[5], opt = this._transport.mergeOptions(options);
204
+ const method = this.methods[6], opt = this._transport.mergeOptions(options);
188
205
  return stackIntercept<GetUpcomingEntriesRequest, GetUpcomingEntriesResponse>("unary", this._transport, method, opt, input);
189
206
  }
190
207
  /**
@@ -193,34 +210,34 @@ export class CalendarServiceClient implements ICalendarServiceClient, ServiceInf
193
210
  * @generated from protobuf rpc: GetCalendarEntry(services.calendar.GetCalendarEntryRequest) returns (services.calendar.GetCalendarEntryResponse);
194
211
  */
195
212
  getCalendarEntry(input: GetCalendarEntryRequest, options?: RpcOptions): UnaryCall<GetCalendarEntryRequest, GetCalendarEntryResponse> {
196
- const method = this.methods[6], opt = this._transport.mergeOptions(options);
213
+ const method = this.methods[7], opt = this._transport.mergeOptions(options);
197
214
  return stackIntercept<GetCalendarEntryRequest, GetCalendarEntryResponse>("unary", this._transport, method, opt, input);
198
215
  }
199
216
  /**
200
- * @perm
217
+ * @perm: Name=Any
201
218
  *
202
219
  * @generated from protobuf rpc: CreateOrUpdateCalendarEntry(services.calendar.CreateOrUpdateCalendarEntryRequest) returns (services.calendar.CreateOrUpdateCalendarEntryResponse);
203
220
  */
204
221
  createOrUpdateCalendarEntry(input: CreateOrUpdateCalendarEntryRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateCalendarEntryRequest, CreateOrUpdateCalendarEntryResponse> {
205
- const method = this.methods[7], opt = this._transport.mergeOptions(options);
222
+ const method = this.methods[8], opt = this._transport.mergeOptions(options);
206
223
  return stackIntercept<CreateOrUpdateCalendarEntryRequest, CreateOrUpdateCalendarEntryResponse>("unary", this._transport, method, opt, input);
207
224
  }
208
225
  /**
209
- * @perm
226
+ * @perm: Name=Any
210
227
  *
211
228
  * @generated from protobuf rpc: DeleteCalendarEntry(services.calendar.DeleteCalendarEntryRequest) returns (services.calendar.DeleteCalendarEntryResponse);
212
229
  */
213
230
  deleteCalendarEntry(input: DeleteCalendarEntryRequest, options?: RpcOptions): UnaryCall<DeleteCalendarEntryRequest, DeleteCalendarEntryResponse> {
214
- const method = this.methods[8], opt = this._transport.mergeOptions(options);
231
+ const method = this.methods[9], opt = this._transport.mergeOptions(options);
215
232
  return stackIntercept<DeleteCalendarEntryRequest, DeleteCalendarEntryResponse>("unary", this._transport, method, opt, input);
216
233
  }
217
234
  /**
218
- * @perm: Name=CreateOrUpdateCalendarEntry
235
+ * @perm: Name=Any
219
236
  *
220
237
  * @generated from protobuf rpc: ShareCalendarEntry(services.calendar.ShareCalendarEntryRequest) returns (services.calendar.ShareCalendarEntryResponse);
221
238
  */
222
239
  shareCalendarEntry(input: ShareCalendarEntryRequest, options?: RpcOptions): UnaryCall<ShareCalendarEntryRequest, ShareCalendarEntryResponse> {
223
- const method = this.methods[9], opt = this._transport.mergeOptions(options);
240
+ const method = this.methods[10], opt = this._transport.mergeOptions(options);
224
241
  return stackIntercept<ShareCalendarEntryRequest, ShareCalendarEntryResponse>("unary", this._transport, method, opt, input);
225
242
  }
226
243
  /**
@@ -229,7 +246,7 @@ export class CalendarServiceClient implements ICalendarServiceClient, ServiceInf
229
246
  * @generated from protobuf rpc: ListCalendarEntryRSVP(services.calendar.ListCalendarEntryRSVPRequest) returns (services.calendar.ListCalendarEntryRSVPResponse);
230
247
  */
231
248
  listCalendarEntryRSVP(input: ListCalendarEntryRSVPRequest, options?: RpcOptions): UnaryCall<ListCalendarEntryRSVPRequest, ListCalendarEntryRSVPResponse> {
232
- const method = this.methods[10], opt = this._transport.mergeOptions(options);
249
+ const method = this.methods[11], opt = this._transport.mergeOptions(options);
233
250
  return stackIntercept<ListCalendarEntryRSVPRequest, ListCalendarEntryRSVPResponse>("unary", this._transport, method, opt, input);
234
251
  }
235
252
  /**
@@ -238,7 +255,7 @@ export class CalendarServiceClient implements ICalendarServiceClient, ServiceInf
238
255
  * @generated from protobuf rpc: RSVPCalendarEntry(services.calendar.RSVPCalendarEntryRequest) returns (services.calendar.RSVPCalendarEntryResponse);
239
256
  */
240
257
  rSVPCalendarEntry(input: RSVPCalendarEntryRequest, options?: RpcOptions): UnaryCall<RSVPCalendarEntryRequest, RSVPCalendarEntryResponse> {
241
- const method = this.methods[11], opt = this._transport.mergeOptions(options);
258
+ const method = this.methods[12], opt = this._transport.mergeOptions(options);
242
259
  return stackIntercept<RSVPCalendarEntryRequest, RSVPCalendarEntryResponse>("unary", this._transport, method, opt, input);
243
260
  }
244
261
  /**
@@ -247,7 +264,7 @@ export class CalendarServiceClient implements ICalendarServiceClient, ServiceInf
247
264
  * @generated from protobuf rpc: ListSubscriptions(services.calendar.ListSubscriptionsRequest) returns (services.calendar.ListSubscriptionsResponse);
248
265
  */
249
266
  listSubscriptions(input: ListSubscriptionsRequest, options?: RpcOptions): UnaryCall<ListSubscriptionsRequest, ListSubscriptionsResponse> {
250
- const method = this.methods[12], opt = this._transport.mergeOptions(options);
267
+ const method = this.methods[13], opt = this._transport.mergeOptions(options);
251
268
  return stackIntercept<ListSubscriptionsRequest, ListSubscriptionsResponse>("unary", this._transport, method, opt, input);
252
269
  }
253
270
  /**
@@ -256,7 +273,7 @@ export class CalendarServiceClient implements ICalendarServiceClient, ServiceInf
256
273
  * @generated from protobuf rpc: SubscribeToCalendar(services.calendar.SubscribeToCalendarRequest) returns (services.calendar.SubscribeToCalendarResponse);
257
274
  */
258
275
  subscribeToCalendar(input: SubscribeToCalendarRequest, options?: RpcOptions): UnaryCall<SubscribeToCalendarRequest, SubscribeToCalendarResponse> {
259
- const method = this.methods[13], opt = this._transport.mergeOptions(options);
276
+ const method = this.methods[14], opt = this._transport.mergeOptions(options);
260
277
  return stackIntercept<SubscribeToCalendarRequest, SubscribeToCalendarResponse>("unary", this._transport, method, opt, input);
261
278
  }
262
279
  }
@@ -74,18 +74,36 @@ export interface GetCalendarResponse {
74
74
  calendar?: Calendar;
75
75
  }
76
76
  /**
77
- * @generated from protobuf message services.calendar.CreateOrUpdateCalendarRequest
77
+ * @generated from protobuf message services.calendar.CreateCalendarRequest
78
78
  */
79
- export interface CreateOrUpdateCalendarRequest {
79
+ export interface CreateCalendarRequest {
80
80
  /**
81
81
  * @generated from protobuf field: resources.calendar.Calendar calendar = 1;
82
82
  */
83
83
  calendar?: Calendar;
84
84
  }
85
85
  /**
86
- * @generated from protobuf message services.calendar.CreateOrUpdateCalendarResponse
86
+ * @generated from protobuf message services.calendar.CreateCalendarResponse
87
87
  */
88
- export interface CreateOrUpdateCalendarResponse {
88
+ export interface CreateCalendarResponse {
89
+ /**
90
+ * @generated from protobuf field: resources.calendar.Calendar calendar = 1;
91
+ */
92
+ calendar?: Calendar;
93
+ }
94
+ /**
95
+ * @generated from protobuf message services.calendar.UpdateCalendarRequest
96
+ */
97
+ export interface UpdateCalendarRequest {
98
+ /**
99
+ * @generated from protobuf field: resources.calendar.Calendar calendar = 1;
100
+ */
101
+ calendar?: Calendar;
102
+ }
103
+ /**
104
+ * @generated from protobuf message services.calendar.UpdateCalendarResponse
105
+ */
106
+ export interface UpdateCalendarResponse {
89
107
  /**
90
108
  * @generated from protobuf field: resources.calendar.Calendar calendar = 1;
91
109
  */
@@ -547,19 +565,111 @@ class GetCalendarResponse$Type extends MessageType<GetCalendarResponse> {
547
565
  */
548
566
  export const GetCalendarResponse = new GetCalendarResponse$Type();
549
567
  // @generated message type with reflection information, may provide speed optimized methods
550
- class CreateOrUpdateCalendarRequest$Type extends MessageType<CreateOrUpdateCalendarRequest> {
568
+ class CreateCalendarRequest$Type extends MessageType<CreateCalendarRequest> {
569
+ constructor() {
570
+ super("services.calendar.CreateCalendarRequest", [
571
+ { no: 1, name: "calendar", kind: "message", T: () => Calendar, options: { "validate.rules": { message: { required: true } } } }
572
+ ]);
573
+ }
574
+ create(value?: PartialMessage<CreateCalendarRequest>): CreateCalendarRequest {
575
+ const message = globalThis.Object.create((this.messagePrototype!));
576
+ if (value !== undefined)
577
+ reflectionMergePartial<CreateCalendarRequest>(this, message, value);
578
+ return message;
579
+ }
580
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateCalendarRequest): CreateCalendarRequest {
581
+ let message = target ?? this.create(), end = reader.pos + length;
582
+ while (reader.pos < end) {
583
+ let [fieldNo, wireType] = reader.tag();
584
+ switch (fieldNo) {
585
+ case /* resources.calendar.Calendar calendar */ 1:
586
+ message.calendar = Calendar.internalBinaryRead(reader, reader.uint32(), options, message.calendar);
587
+ break;
588
+ default:
589
+ let u = options.readUnknownField;
590
+ if (u === "throw")
591
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
592
+ let d = reader.skip(wireType);
593
+ if (u !== false)
594
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
595
+ }
596
+ }
597
+ return message;
598
+ }
599
+ internalBinaryWrite(message: CreateCalendarRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
600
+ /* resources.calendar.Calendar calendar = 1; */
601
+ if (message.calendar)
602
+ Calendar.internalBinaryWrite(message.calendar, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
603
+ let u = options.writeUnknownFields;
604
+ if (u !== false)
605
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
606
+ return writer;
607
+ }
608
+ }
609
+ /**
610
+ * @generated MessageType for protobuf message services.calendar.CreateCalendarRequest
611
+ */
612
+ export const CreateCalendarRequest = new CreateCalendarRequest$Type();
613
+ // @generated message type with reflection information, may provide speed optimized methods
614
+ class CreateCalendarResponse$Type extends MessageType<CreateCalendarResponse> {
615
+ constructor() {
616
+ super("services.calendar.CreateCalendarResponse", [
617
+ { no: 1, name: "calendar", kind: "message", T: () => Calendar }
618
+ ]);
619
+ }
620
+ create(value?: PartialMessage<CreateCalendarResponse>): CreateCalendarResponse {
621
+ const message = globalThis.Object.create((this.messagePrototype!));
622
+ if (value !== undefined)
623
+ reflectionMergePartial<CreateCalendarResponse>(this, message, value);
624
+ return message;
625
+ }
626
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateCalendarResponse): CreateCalendarResponse {
627
+ let message = target ?? this.create(), end = reader.pos + length;
628
+ while (reader.pos < end) {
629
+ let [fieldNo, wireType] = reader.tag();
630
+ switch (fieldNo) {
631
+ case /* resources.calendar.Calendar calendar */ 1:
632
+ message.calendar = Calendar.internalBinaryRead(reader, reader.uint32(), options, message.calendar);
633
+ break;
634
+ default:
635
+ let u = options.readUnknownField;
636
+ if (u === "throw")
637
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
638
+ let d = reader.skip(wireType);
639
+ if (u !== false)
640
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
641
+ }
642
+ }
643
+ return message;
644
+ }
645
+ internalBinaryWrite(message: CreateCalendarResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
646
+ /* resources.calendar.Calendar calendar = 1; */
647
+ if (message.calendar)
648
+ Calendar.internalBinaryWrite(message.calendar, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
649
+ let u = options.writeUnknownFields;
650
+ if (u !== false)
651
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
652
+ return writer;
653
+ }
654
+ }
655
+ /**
656
+ * @generated MessageType for protobuf message services.calendar.CreateCalendarResponse
657
+ */
658
+ export const CreateCalendarResponse = new CreateCalendarResponse$Type();
659
+ // @generated message type with reflection information, may provide speed optimized methods
660
+ class UpdateCalendarRequest$Type extends MessageType<UpdateCalendarRequest> {
551
661
  constructor() {
552
- super("services.calendar.CreateOrUpdateCalendarRequest", [
662
+ super("services.calendar.UpdateCalendarRequest", [
553
663
  { no: 1, name: "calendar", kind: "message", T: () => Calendar, options: { "validate.rules": { message: { required: true } } } }
554
664
  ]);
555
665
  }
556
- create(value?: PartialMessage<CreateOrUpdateCalendarRequest>): CreateOrUpdateCalendarRequest {
666
+ create(value?: PartialMessage<UpdateCalendarRequest>): UpdateCalendarRequest {
557
667
  const message = globalThis.Object.create((this.messagePrototype!));
558
668
  if (value !== undefined)
559
- reflectionMergePartial<CreateOrUpdateCalendarRequest>(this, message, value);
669
+ reflectionMergePartial<UpdateCalendarRequest>(this, message, value);
560
670
  return message;
561
671
  }
562
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOrUpdateCalendarRequest): CreateOrUpdateCalendarRequest {
672
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateCalendarRequest): UpdateCalendarRequest {
563
673
  let message = target ?? this.create(), end = reader.pos + length;
564
674
  while (reader.pos < end) {
565
675
  let [fieldNo, wireType] = reader.tag();
@@ -578,7 +688,7 @@ class CreateOrUpdateCalendarRequest$Type extends MessageType<CreateOrUpdateCalen
578
688
  }
579
689
  return message;
580
690
  }
581
- internalBinaryWrite(message: CreateOrUpdateCalendarRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
691
+ internalBinaryWrite(message: UpdateCalendarRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
582
692
  /* resources.calendar.Calendar calendar = 1; */
583
693
  if (message.calendar)
584
694
  Calendar.internalBinaryWrite(message.calendar, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
@@ -589,23 +699,23 @@ class CreateOrUpdateCalendarRequest$Type extends MessageType<CreateOrUpdateCalen
589
699
  }
590
700
  }
591
701
  /**
592
- * @generated MessageType for protobuf message services.calendar.CreateOrUpdateCalendarRequest
702
+ * @generated MessageType for protobuf message services.calendar.UpdateCalendarRequest
593
703
  */
594
- export const CreateOrUpdateCalendarRequest = new CreateOrUpdateCalendarRequest$Type();
704
+ export const UpdateCalendarRequest = new UpdateCalendarRequest$Type();
595
705
  // @generated message type with reflection information, may provide speed optimized methods
596
- class CreateOrUpdateCalendarResponse$Type extends MessageType<CreateOrUpdateCalendarResponse> {
706
+ class UpdateCalendarResponse$Type extends MessageType<UpdateCalendarResponse> {
597
707
  constructor() {
598
- super("services.calendar.CreateOrUpdateCalendarResponse", [
708
+ super("services.calendar.UpdateCalendarResponse", [
599
709
  { no: 1, name: "calendar", kind: "message", T: () => Calendar }
600
710
  ]);
601
711
  }
602
- create(value?: PartialMessage<CreateOrUpdateCalendarResponse>): CreateOrUpdateCalendarResponse {
712
+ create(value?: PartialMessage<UpdateCalendarResponse>): UpdateCalendarResponse {
603
713
  const message = globalThis.Object.create((this.messagePrototype!));
604
714
  if (value !== undefined)
605
- reflectionMergePartial<CreateOrUpdateCalendarResponse>(this, message, value);
715
+ reflectionMergePartial<UpdateCalendarResponse>(this, message, value);
606
716
  return message;
607
717
  }
608
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOrUpdateCalendarResponse): CreateOrUpdateCalendarResponse {
718
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateCalendarResponse): UpdateCalendarResponse {
609
719
  let message = target ?? this.create(), end = reader.pos + length;
610
720
  while (reader.pos < end) {
611
721
  let [fieldNo, wireType] = reader.tag();
@@ -624,7 +734,7 @@ class CreateOrUpdateCalendarResponse$Type extends MessageType<CreateOrUpdateCale
624
734
  }
625
735
  return message;
626
736
  }
627
- internalBinaryWrite(message: CreateOrUpdateCalendarResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
737
+ internalBinaryWrite(message: UpdateCalendarResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
628
738
  /* resources.calendar.Calendar calendar = 1; */
629
739
  if (message.calendar)
630
740
  Calendar.internalBinaryWrite(message.calendar, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
@@ -635,9 +745,9 @@ class CreateOrUpdateCalendarResponse$Type extends MessageType<CreateOrUpdateCale
635
745
  }
636
746
  }
637
747
  /**
638
- * @generated MessageType for protobuf message services.calendar.CreateOrUpdateCalendarResponse
748
+ * @generated MessageType for protobuf message services.calendar.UpdateCalendarResponse
639
749
  */
640
- export const CreateOrUpdateCalendarResponse = new CreateOrUpdateCalendarResponse$Type();
750
+ export const UpdateCalendarResponse = new UpdateCalendarResponse$Type();
641
751
  // @generated message type with reflection information, may provide speed optimized methods
642
752
  class DeleteCalendarRequest$Type extends MessageType<DeleteCalendarRequest> {
643
753
  constructor() {
@@ -1757,7 +1867,8 @@ export const SubscribeToCalendarResponse = new SubscribeToCalendarResponse$Type(
1757
1867
  export const CalendarService = new ServiceType("services.calendar.CalendarService", [
1758
1868
  { name: "ListCalendars", options: {}, I: ListCalendarsRequest, O: ListCalendarsResponse },
1759
1869
  { name: "GetCalendar", options: {}, I: GetCalendarRequest, O: GetCalendarResponse },
1760
- { name: "CreateOrUpdateCalendar", options: {}, I: CreateOrUpdateCalendarRequest, O: CreateOrUpdateCalendarResponse },
1870
+ { name: "CreateCalendar", options: {}, I: CreateCalendarRequest, O: CreateCalendarResponse },
1871
+ { name: "UpdateCalendar", options: {}, I: UpdateCalendarRequest, O: UpdateCalendarResponse },
1761
1872
  { name: "DeleteCalendar", options: {}, I: DeleteCalendarRequest, O: DeleteCalendarResponse },
1762
1873
  { name: "ListCalendarEntries", options: {}, I: ListCalendarEntriesRequest, O: ListCalendarEntriesResponse },
1763
1874
  { name: "GetUpcomingEntries", options: {}, I: GetUpcomingEntriesRequest, O: GetUpcomingEntriesResponse },
@@ -200,7 +200,7 @@ export interface IDocStoreServiceClient {
200
200
  */
201
201
  getComments(input: GetCommentsRequest, options?: RpcOptions): UnaryCall<GetCommentsRequest, GetCommentsResponse>;
202
202
  /**
203
- * @perm
203
+ * @perm: Name=ListDocuments
204
204
  *
205
205
  * @generated from protobuf rpc: PostComment(services.docstore.PostCommentRequest) returns (services.docstore.PostCommentResponse);
206
206
  */
@@ -489,7 +489,7 @@ export class DocStoreServiceClient implements IDocStoreServiceClient, ServiceInf
489
489
  return stackIntercept<GetCommentsRequest, GetCommentsResponse>("unary", this._transport, method, opt, input);
490
490
  }
491
491
  /**
492
- * @perm
492
+ * @perm: Name=ListDocuments
493
493
  *
494
494
  * @generated from protobuf rpc: PostComment(services.docstore.PostCommentRequest) returns (services.docstore.PostCommentResponse);
495
495
  */
@@ -84,7 +84,7 @@ export interface IQualificationsServiceClient {
84
84
  */
85
85
  createOrUpdateQualificationRequest(input: CreateOrUpdateQualificationRequestRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateQualificationRequestRequest, CreateOrUpdateQualificationRequestResponse>;
86
86
  /**
87
- * @perm
87
+ * @perm: Name=ListQualifications
88
88
  *
89
89
  * @generated from protobuf rpc: DeleteQualificationReq(services.qualifications.DeleteQualificationReqRequest) returns (services.qualifications.DeleteQualificationReqResponse);
90
90
  */
@@ -96,13 +96,13 @@ export interface IQualificationsServiceClient {
96
96
  */
97
97
  listQualificationsResults(input: ListQualificationsResultsRequest, options?: RpcOptions): UnaryCall<ListQualificationsResultsRequest, ListQualificationsResultsResponse>;
98
98
  /**
99
- * @perm
99
+ * @perm: Name=ListQualifications
100
100
  *
101
101
  * @generated from protobuf rpc: CreateOrUpdateQualificationResult(services.qualifications.CreateOrUpdateQualificationResultRequest) returns (services.qualifications.CreateOrUpdateQualificationResultResponse);
102
102
  */
103
103
  createOrUpdateQualificationResult(input: CreateOrUpdateQualificationResultRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateQualificationResultRequest, CreateOrUpdateQualificationResultResponse>;
104
104
  /**
105
- * @perm
105
+ * @perm: Name=ListQualifications
106
106
  *
107
107
  * @generated from protobuf rpc: DeleteQualificationResult(services.qualifications.DeleteQualificationResultRequest) returns (services.qualifications.DeleteQualificationResultResponse);
108
108
  */
@@ -126,7 +126,7 @@ export interface IQualificationsServiceClient {
126
126
  */
127
127
  submitExam(input: SubmitExamRequest, options?: RpcOptions): UnaryCall<SubmitExamRequest, SubmitExamResponse>;
128
128
  /**
129
- * @perm: Name=CreateOrUpdateQualificationResult
129
+ * @perm: Name=ListQualifications
130
130
  *
131
131
  * @generated from protobuf rpc: GetUserExam(services.qualifications.GetUserExamRequest) returns (services.qualifications.GetUserExamResponse);
132
132
  */
@@ -205,7 +205,7 @@ export class QualificationsServiceClient implements IQualificationsServiceClient
205
205
  return stackIntercept<CreateOrUpdateQualificationRequestRequest, CreateOrUpdateQualificationRequestResponse>("unary", this._transport, method, opt, input);
206
206
  }
207
207
  /**
208
- * @perm
208
+ * @perm: Name=ListQualifications
209
209
  *
210
210
  * @generated from protobuf rpc: DeleteQualificationReq(services.qualifications.DeleteQualificationReqRequest) returns (services.qualifications.DeleteQualificationReqResponse);
211
211
  */
@@ -223,7 +223,7 @@ export class QualificationsServiceClient implements IQualificationsServiceClient
223
223
  return stackIntercept<ListQualificationsResultsRequest, ListQualificationsResultsResponse>("unary", this._transport, method, opt, input);
224
224
  }
225
225
  /**
226
- * @perm
226
+ * @perm: Name=ListQualifications
227
227
  *
228
228
  * @generated from protobuf rpc: CreateOrUpdateQualificationResult(services.qualifications.CreateOrUpdateQualificationResultRequest) returns (services.qualifications.CreateOrUpdateQualificationResultResponse);
229
229
  */
@@ -232,7 +232,7 @@ export class QualificationsServiceClient implements IQualificationsServiceClient
232
232
  return stackIntercept<CreateOrUpdateQualificationResultRequest, CreateOrUpdateQualificationResultResponse>("unary", this._transport, method, opt, input);
233
233
  }
234
234
  /**
235
- * @perm
235
+ * @perm: Name=ListQualifications
236
236
  *
237
237
  * @generated from protobuf rpc: DeleteQualificationResult(services.qualifications.DeleteQualificationResultRequest) returns (services.qualifications.DeleteQualificationResultResponse);
238
238
  */
@@ -268,7 +268,7 @@ export class QualificationsServiceClient implements IQualificationsServiceClient
268
268
  return stackIntercept<SubmitExamRequest, SubmitExamResponse>("unary", this._transport, method, opt, input);
269
269
  }
270
270
  /**
271
- * @perm: Name=CreateOrUpdateQualificationResult
271
+ * @perm: Name=ListQualifications
272
272
  *
273
273
  * @generated from protobuf rpc: GetUserExam(services.qualifications.GetUserExamRequest) returns (services.qualifications.GetUserExamResponse);
274
274
  */
@@ -42,7 +42,7 @@ export interface IWikiServiceClient {
42
42
  */
43
43
  createPage(input: CreatePageRequest, options?: RpcOptions): UnaryCall<CreatePageRequest, CreatePageResponse>;
44
44
  /**
45
- * @perm
45
+ * @perm: Name=ListPages
46
46
  *
47
47
  * @generated from protobuf rpc: UpdatePage(services.wiki.UpdatePageRequest) returns (services.wiki.UpdatePageResponse);
48
48
  */
@@ -97,7 +97,7 @@ export class WikiServiceClient implements IWikiServiceClient, ServiceInfo {
97
97
  return stackIntercept<CreatePageRequest, CreatePageResponse>("unary", this._transport, method, opt, input);
98
98
  }
99
99
  /**
100
- * @perm
100
+ * @perm: Name=ListPages
101
101
  *
102
102
  * @generated from protobuf rpc: UpdatePage(services.wiki.UpdatePageRequest) returns (services.wiki.UpdatePageResponse);
103
103
  */
package/svcs.ts CHANGED
@@ -139,7 +139,8 @@ export const grpcMethods = [
139
139
  'AuthService/SetSuperUserMode',
140
140
  'CalendarService/ListCalendars',
141
141
  'CalendarService/GetCalendar',
142
- 'CalendarService/CreateOrUpdateCalendar',
142
+ 'CalendarService/CreateCalendar',
143
+ 'CalendarService/UpdateCalendar',
143
144
  'CalendarService/DeleteCalendar',
144
145
  'CalendarService/ListCalendarEntries',
145
146
  'CalendarService/GetUpcomingEntries',