@fivenet-app/gen 2025.5.2 → 2025.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/buf/validate/validate.ts +11301 -0
  2. package/clients.ts +157 -154
  3. package/codegen/dbscanner/dbscanner.ts +91 -0
  4. package/codegen/perms/perms.ts +208 -0
  5. package/codegen/sanitizer/sanitizer.ts +80 -0
  6. package/google/protobuf/any.ts +4 -3
  7. package/google/protobuf/descriptor.ts +393 -239
  8. package/google/protobuf/duration.ts +4 -3
  9. package/google/protobuf/struct.ts +485 -0
  10. package/google/protobuf/timestamp.ts +4 -3
  11. package/package.json +3 -3
  12. package/perms.ts +85 -159
  13. package/resources/accounts/accounts.ts +26 -25
  14. package/resources/accounts/oauth2.ts +30 -29
  15. package/resources/audit/audit.ts +36 -35
  16. package/resources/calendar/access.ts +49 -48
  17. package/resources/calendar/calendar.ts +122 -126
  18. package/resources/centrum/access.ts +345 -0
  19. package/resources/centrum/attributes.ts +8 -11
  20. package/resources/centrum/dispatchers.ts +149 -0
  21. package/resources/centrum/dispatches.ts +252 -115
  22. package/resources/centrum/settings.ts +384 -34
  23. package/resources/centrum/units.ts +112 -92
  24. package/resources/centrum/units_access.ts +54 -55
  25. package/resources/clientconfig/clientconfig.ts +890 -0
  26. package/resources/collab/collab.ts +817 -0
  27. package/resources/common/content/content.ts +113 -30
  28. package/resources/common/cron/cron.ts +43 -31
  29. package/resources/common/database/database.ts +92 -35
  30. package/resources/common/error.ts +17 -16
  31. package/resources/common/grpcws/grpcws.ts +24 -23
  32. package/resources/common/i18n.ts +20 -24
  33. package/resources/common/id_mapping.ts +69 -0
  34. package/resources/common/tests/objects.ts +4 -3
  35. package/resources/common/uuid.ts +4 -3
  36. package/resources/discord/discord.ts +209 -0
  37. package/resources/documents/access.ts +52 -53
  38. package/resources/documents/activity.ts +235 -58
  39. package/resources/documents/category.ts +20 -27
  40. package/resources/documents/comment.ts +26 -25
  41. package/resources/documents/documents.ts +335 -262
  42. package/resources/documents/pins.ts +127 -0
  43. package/resources/documents/requests.ts +31 -30
  44. package/resources/documents/signoff.ts +55 -0
  45. package/resources/documents/state.ts +69 -0
  46. package/resources/documents/templates.ts +119 -136
  47. package/resources/documents/workflow.ts +35 -24
  48. package/resources/file/file.ts +152 -0
  49. package/{services/settings → resources/file}/filestore.ts +179 -165
  50. package/resources/file/meta.ts +148 -0
  51. package/resources/jobs/activity.ts +39 -42
  52. package/resources/jobs/colleagues.ts +67 -60
  53. package/resources/jobs/conduct.ts +29 -30
  54. package/resources/jobs/job_props.ts +46 -48
  55. package/resources/jobs/job_settings.ts +45 -52
  56. package/resources/jobs/jobs.ts +14 -13
  57. package/resources/jobs/labels.ts +21 -22
  58. package/resources/jobs/timeclock.ts +26 -25
  59. package/resources/laws/laws.ts +40 -49
  60. package/resources/livemap/coords.ts +81 -0
  61. package/resources/livemap/heatmap.ts +93 -0
  62. package/resources/livemap/{livemap.ts → marker_marker.ts} +43 -310
  63. package/resources/livemap/user_marker.ts +298 -0
  64. package/resources/mailer/access.ts +75 -74
  65. package/resources/mailer/email.ts +24 -27
  66. package/resources/mailer/events.ts +25 -24
  67. package/resources/mailer/message.ts +45 -50
  68. package/resources/mailer/settings.ts +12 -15
  69. package/resources/mailer/template.ts +25 -28
  70. package/resources/mailer/thread.ts +70 -71
  71. package/resources/notifications/client_view.ts +239 -0
  72. package/resources/notifications/events.ts +50 -101
  73. package/resources/notifications/notifications.ts +52 -57
  74. package/resources/permissions/attributes.ts +63 -206
  75. package/resources/permissions/events.ts +149 -0
  76. package/resources/permissions/permissions.ts +103 -34
  77. package/resources/qualifications/access.ts +27 -26
  78. package/resources/qualifications/exam.ts +188 -126
  79. package/resources/qualifications/qualifications.ts +370 -303
  80. package/resources/settings/banner.ts +14 -21
  81. package/resources/settings/config.ts +163 -79
  82. package/resources/settings/perms.ts +151 -0
  83. package/resources/settings/status.ts +533 -0
  84. package/resources/stats/stats.ts +3 -2
  85. package/resources/sync/activity.ts +24 -23
  86. package/resources/sync/data.ts +94 -26
  87. package/resources/timestamp/timestamp.ts +3 -2
  88. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  89. package/resources/userinfo/user_info.ts +464 -0
  90. package/resources/users/activity.ts +80 -85
  91. package/resources/users/labels.ts +18 -21
  92. package/resources/users/licenses.ts +9 -8
  93. package/resources/users/props.ts +61 -51
  94. package/resources/users/users.ts +100 -78
  95. package/resources/vehicles/activity.ts +231 -0
  96. package/resources/vehicles/props.ts +103 -0
  97. package/resources/vehicles/vehicles.ts +28 -15
  98. package/resources/wiki/access.ts +49 -48
  99. package/resources/wiki/activity.ts +133 -51
  100. package/resources/wiki/page.ts +134 -87
  101. package/services/auth/auth.client.ts +24 -27
  102. package/services/auth/auth.ts +222 -195
  103. package/services/calendar/calendar.client.ts +32 -91
  104. package/services/calendar/calendar.ts +110 -109
  105. package/services/centrum/centrum.client.ts +97 -137
  106. package/services/centrum/centrum.ts +701 -298
  107. package/services/citizens/citizens.client.ts +70 -39
  108. package/services/citizens/citizens.ts +183 -93
  109. package/services/completor/completor.client.ts +16 -35
  110. package/services/completor/completor.ts +65 -44
  111. package/services/documents/collab.client.ts +46 -0
  112. package/services/documents/collab.ts +13 -0
  113. package/services/documents/documents.client.ts +88 -217
  114. package/services/documents/documents.ts +490 -508
  115. package/services/filestore/filestore.client.ts +86 -0
  116. package/services/filestore/filestore.ts +262 -0
  117. package/services/jobs/conduct.client.ts +10 -25
  118. package/services/jobs/conduct.ts +36 -35
  119. package/services/jobs/jobs.client.ts +22 -61
  120. package/services/jobs/jobs.ts +108 -91
  121. package/services/jobs/timeclock.client.ts +8 -19
  122. package/services/jobs/timeclock.ts +47 -46
  123. package/services/livemap/livemap.client.ts +8 -19
  124. package/services/livemap/livemap.ts +290 -119
  125. package/services/mailer/mailer.client.ts +44 -127
  126. package/services/mailer/mailer.ts +213 -216
  127. package/services/notifications/notifications.client.ts +65 -0
  128. package/services/{notificator/notificator.ts → notifications/notifications.ts} +117 -74
  129. package/services/qualifications/qualifications.client.ts +46 -91
  130. package/services/qualifications/qualifications.ts +181 -175
  131. package/services/settings/accounts.client.ts +10 -25
  132. package/services/settings/accounts.ts +64 -41
  133. package/services/settings/config.client.ts +6 -13
  134. package/services/settings/config.ts +8 -7
  135. package/services/settings/cron.client.ts +4 -7
  136. package/services/settings/cron.ts +4 -3
  137. package/services/settings/laws.client.ts +10 -25
  138. package/services/settings/laws.ts +29 -28
  139. package/services/settings/settings.client.ts +57 -103
  140. package/services/settings/settings.ts +190 -607
  141. package/services/settings/system.client.ts +90 -0
  142. package/services/settings/system.ts +618 -0
  143. package/services/stats/stats.client.ts +4 -3
  144. package/services/stats/stats.ts +4 -3
  145. package/services/sync/sync.client.ts +16 -15
  146. package/services/sync/sync.ts +82 -52
  147. package/services/vehicles/vehicles.client.ts +17 -7
  148. package/services/vehicles/vehicles.ts +169 -24
  149. package/services/wiki/collab.client.ts +46 -0
  150. package/services/wiki/collab.ts +13 -0
  151. package/services/wiki/wiki.client.ts +28 -37
  152. package/services/wiki/wiki.ts +93 -63
  153. package/svcs.ts +79 -103
  154. package/resources/centrum/disponents.ts +0 -81
  155. package/resources/filestore/file.ts +0 -204
  156. package/resources/internet/access.ts +0 -358
  157. package/resources/internet/ads.ts +0 -257
  158. package/resources/internet/domain.ts +0 -328
  159. package/resources/internet/page.ts +0 -428
  160. package/resources/internet/search.ts +0 -128
  161. package/resources/livemap/tracker.ts +0 -81
  162. package/services/internet/ads.client.ts +0 -41
  163. package/services/internet/ads.ts +0 -145
  164. package/services/internet/domain.client.ts +0 -109
  165. package/services/internet/domain.ts +0 -658
  166. package/services/internet/internet.client.ts +0 -58
  167. package/services/internet/internet.ts +0 -268
  168. package/services/notificator/notificator.client.ts +0 -76
  169. package/services/settings/filestore.client.ts +0 -75
@@ -0,0 +1,148 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
+ // @generated from protobuf file "resources/file/meta.proto" (package "resources.file", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
+ import { WireType } from "@protobuf-ts/runtime";
8
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
10
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import type { PartialMessage } from "@protobuf-ts/runtime";
12
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
+ import { MessageType } from "@protobuf-ts/runtime";
14
+ /**
15
+ * @generated from protobuf message resources.file.FileMeta
16
+ */
17
+ export interface FileMeta {
18
+ /**
19
+ * @generated from protobuf oneof: meta
20
+ */
21
+ meta: {
22
+ oneofKind: "image";
23
+ /**
24
+ * @generated from protobuf field: resources.file.ImageMeta image = 1
25
+ */
26
+ image: ImageMeta;
27
+ } | {
28
+ oneofKind: undefined;
29
+ };
30
+ }
31
+ /**
32
+ * @generated from protobuf message resources.file.ImageMeta
33
+ */
34
+ export interface ImageMeta {
35
+ /**
36
+ * @generated from protobuf field: int64 width = 1
37
+ */
38
+ width: number;
39
+ /**
40
+ * @generated from protobuf field: int64 height = 2
41
+ */
42
+ height: number;
43
+ }
44
+ // @generated message type with reflection information, may provide speed optimized methods
45
+ class FileMeta$Type extends MessageType<FileMeta> {
46
+ constructor() {
47
+ super("resources.file.FileMeta", [
48
+ { no: 1, name: "image", kind: "message", oneof: "meta", T: () => ImageMeta }
49
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
50
+ }
51
+ create(value?: PartialMessage<FileMeta>): FileMeta {
52
+ const message = globalThis.Object.create((this.messagePrototype!));
53
+ message.meta = { oneofKind: undefined };
54
+ if (value !== undefined)
55
+ reflectionMergePartial<FileMeta>(this, message, value);
56
+ return message;
57
+ }
58
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FileMeta): FileMeta {
59
+ let message = target ?? this.create(), end = reader.pos + length;
60
+ while (reader.pos < end) {
61
+ let [fieldNo, wireType] = reader.tag();
62
+ switch (fieldNo) {
63
+ case /* resources.file.ImageMeta image */ 1:
64
+ message.meta = {
65
+ oneofKind: "image",
66
+ image: ImageMeta.internalBinaryRead(reader, reader.uint32(), options, (message.meta as any).image)
67
+ };
68
+ break;
69
+ default:
70
+ let u = options.readUnknownField;
71
+ if (u === "throw")
72
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
73
+ let d = reader.skip(wireType);
74
+ if (u !== false)
75
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
76
+ }
77
+ }
78
+ return message;
79
+ }
80
+ internalBinaryWrite(message: FileMeta, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
81
+ /* resources.file.ImageMeta image = 1; */
82
+ if (message.meta.oneofKind === "image")
83
+ ImageMeta.internalBinaryWrite(message.meta.image, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
84
+ let u = options.writeUnknownFields;
85
+ if (u !== false)
86
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
87
+ return writer;
88
+ }
89
+ }
90
+ /**
91
+ * @generated MessageType for protobuf message resources.file.FileMeta
92
+ */
93
+ export const FileMeta = new FileMeta$Type();
94
+ // @generated message type with reflection information, may provide speed optimized methods
95
+ class ImageMeta$Type extends MessageType<ImageMeta> {
96
+ constructor() {
97
+ super("resources.file.ImageMeta", [
98
+ { no: 1, name: "width", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
99
+ { no: 2, name: "height", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
100
+ ]);
101
+ }
102
+ create(value?: PartialMessage<ImageMeta>): ImageMeta {
103
+ const message = globalThis.Object.create((this.messagePrototype!));
104
+ message.width = 0;
105
+ message.height = 0;
106
+ if (value !== undefined)
107
+ reflectionMergePartial<ImageMeta>(this, message, value);
108
+ return message;
109
+ }
110
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ImageMeta): ImageMeta {
111
+ let message = target ?? this.create(), end = reader.pos + length;
112
+ while (reader.pos < end) {
113
+ let [fieldNo, wireType] = reader.tag();
114
+ switch (fieldNo) {
115
+ case /* int64 width */ 1:
116
+ message.width = reader.int64().toNumber();
117
+ break;
118
+ case /* int64 height */ 2:
119
+ message.height = reader.int64().toNumber();
120
+ break;
121
+ default:
122
+ let u = options.readUnknownField;
123
+ if (u === "throw")
124
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
125
+ let d = reader.skip(wireType);
126
+ if (u !== false)
127
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
128
+ }
129
+ }
130
+ return message;
131
+ }
132
+ internalBinaryWrite(message: ImageMeta, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
133
+ /* int64 width = 1; */
134
+ if (message.width !== 0)
135
+ writer.tag(1, WireType.Varint).int64(message.width);
136
+ /* int64 height = 2; */
137
+ if (message.height !== 0)
138
+ writer.tag(2, WireType.Varint).int64(message.height);
139
+ let u = options.writeUnknownFields;
140
+ if (u !== false)
141
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
142
+ return writer;
143
+ }
144
+ }
145
+ /**
146
+ * @generated MessageType for protobuf message resources.file.ImageMeta
147
+ */
148
+ export const ImageMeta = new ImageMeta$Type();
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "resources/jobs/activity.proto" (package "resources.jobs", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
5
6
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
@@ -18,51 +19,47 @@ import { Timestamp } from "../timestamp/timestamp";
18
19
  */
19
20
  export interface ColleagueActivity {
20
21
  /**
21
- * @generated from protobuf field: uint64 id = 1;
22
+ * @generated from protobuf field: int64 id = 1
22
23
  */
23
- id: number; // @gotags: sql:"primary_key" alias:"id"
24
+ id: number;
24
25
  /**
25
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
26
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
26
27
  */
27
28
  createdAt?: Timestamp;
28
29
  /**
29
- * @generated from protobuf field: string job = 4;
30
+ * @generated from protobuf field: string job = 4
30
31
  */
31
32
  job: string;
32
33
  /**
33
- * @generated from protobuf field: optional int32 source_user_id = 5;
34
+ * @generated from protobuf field: optional int32 source_user_id = 5
34
35
  */
35
36
  sourceUserId?: number;
36
37
  /**
37
- * @generated from protobuf field: optional resources.jobs.Colleague source_user = 6;
38
+ * @generated from protobuf field: optional resources.jobs.Colleague source_user = 6
38
39
  */
39
- sourceUser?: Colleague; // @gotags: alias:"source_user"
40
+ sourceUser?: Colleague;
40
41
  /**
41
- * @generated from protobuf field: int32 target_user_id = 7;
42
+ * @generated from protobuf field: int32 target_user_id = 7
42
43
  */
43
44
  targetUserId: number;
44
45
  /**
45
- * @generated from protobuf field: resources.jobs.Colleague target_user = 8;
46
+ * @generated from protobuf field: resources.jobs.Colleague target_user = 8
46
47
  */
47
- targetUser?: Colleague; // @gotags: alias:"target_user"
48
+ targetUser?: Colleague;
48
49
  /**
49
- * @generated from protobuf field: resources.jobs.ColleagueActivityType activity_type = 9;
50
+ * @generated from protobuf field: resources.jobs.ColleagueActivityType activity_type = 9
50
51
  */
51
52
  activityType: ColleagueActivityType;
52
53
  /**
53
- * @sanitize
54
- *
55
- * @generated from protobuf field: string reason = 10;
54
+ * @generated from protobuf field: string reason = 10
56
55
  */
57
56
  reason: string;
58
57
  /**
59
- * @generated from protobuf field: resources.jobs.ColleagueActivityData data = 11;
58
+ * @generated from protobuf field: resources.jobs.ColleagueActivityData data = 11
60
59
  */
61
60
  data?: ColleagueActivityData;
62
61
  }
63
62
  /**
64
- * @dbscanner: json
65
- *
66
63
  * @generated from protobuf message resources.jobs.ColleagueActivityData
67
64
  */
68
65
  export interface ColleagueActivityData {
@@ -72,25 +69,25 @@ export interface ColleagueActivityData {
72
69
  data: {
73
70
  oneofKind: "absenceDate";
74
71
  /**
75
- * @generated from protobuf field: resources.jobs.AbsenceDateChange absence_date = 1;
72
+ * @generated from protobuf field: resources.jobs.AbsenceDateChange absence_date = 1
76
73
  */
77
74
  absenceDate: AbsenceDateChange;
78
75
  } | {
79
76
  oneofKind: "gradeChange";
80
77
  /**
81
- * @generated from protobuf field: resources.jobs.GradeChange grade_change = 2;
78
+ * @generated from protobuf field: resources.jobs.GradeChange grade_change = 2
82
79
  */
83
80
  gradeChange: GradeChange;
84
81
  } | {
85
82
  oneofKind: "labelsChange";
86
83
  /**
87
- * @generated from protobuf field: resources.jobs.LabelsChange labels_change = 3;
84
+ * @generated from protobuf field: resources.jobs.LabelsChange labels_change = 3
88
85
  */
89
86
  labelsChange: LabelsChange;
90
87
  } | {
91
88
  oneofKind: "nameChange";
92
89
  /**
93
- * @generated from protobuf field: resources.jobs.NameChange name_change = 4;
90
+ * @generated from protobuf field: resources.jobs.NameChange name_change = 4
94
91
  */
95
92
  nameChange: NameChange;
96
93
  } | {
@@ -102,11 +99,11 @@ export interface ColleagueActivityData {
102
99
  */
103
100
  export interface AbsenceDateChange {
104
101
  /**
105
- * @generated from protobuf field: resources.timestamp.Timestamp absence_begin = 1;
102
+ * @generated from protobuf field: resources.timestamp.Timestamp absence_begin = 1
106
103
  */
107
104
  absenceBegin?: Timestamp;
108
105
  /**
109
- * @generated from protobuf field: resources.timestamp.Timestamp absence_end = 2;
106
+ * @generated from protobuf field: resources.timestamp.Timestamp absence_end = 2
110
107
  */
111
108
  absenceEnd?: Timestamp;
112
109
  }
@@ -115,11 +112,11 @@ export interface AbsenceDateChange {
115
112
  */
116
113
  export interface GradeChange {
117
114
  /**
118
- * @generated from protobuf field: int32 grade = 1;
115
+ * @generated from protobuf field: int32 grade = 1
119
116
  */
120
117
  grade: number;
121
118
  /**
122
- * @generated from protobuf field: string grade_label = 2;
119
+ * @generated from protobuf field: string grade_label = 2
123
120
  */
124
121
  gradeLabel: string;
125
122
  }
@@ -128,11 +125,11 @@ export interface GradeChange {
128
125
  */
129
126
  export interface LabelsChange {
130
127
  /**
131
- * @generated from protobuf field: repeated resources.jobs.Label added = 1;
128
+ * @generated from protobuf field: repeated resources.jobs.Label added = 1
132
129
  */
133
130
  added: Label[];
134
131
  /**
135
- * @generated from protobuf field: repeated resources.jobs.Label removed = 2;
132
+ * @generated from protobuf field: repeated resources.jobs.Label removed = 2
136
133
  */
137
134
  removed: Label[];
138
135
  }
@@ -141,11 +138,11 @@ export interface LabelsChange {
141
138
  */
142
139
  export interface NameChange {
143
140
  /**
144
- * @generated from protobuf field: optional string prefix = 1;
141
+ * @generated from protobuf field: optional string prefix = 1
145
142
  */
146
143
  prefix?: string;
147
144
  /**
148
- * @generated from protobuf field: optional string suffix = 2;
145
+ * @generated from protobuf field: optional string suffix = 2
149
146
  */
150
147
  suffix?: string;
151
148
  }
@@ -194,15 +191,15 @@ export enum ColleagueActivityType {
194
191
  class ColleagueActivity$Type extends MessageType<ColleagueActivity> {
195
192
  constructor() {
196
193
  super("resources.jobs.ColleagueActivity", [
197
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
194
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"id\"" } },
198
195
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
199
- { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
200
- { no: 5, name: "source_user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
201
- { no: 6, name: "source_user", kind: "message", T: () => Colleague },
202
- { no: 7, name: "target_user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
203
- { no: 8, name: "target_user", kind: "message", T: () => Colleague },
196
+ { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
197
+ { no: 5, name: "source_user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
198
+ { no: 6, name: "source_user", kind: "message", T: () => Colleague, options: { "tagger.tags": "alias:\"source_user\"" } },
199
+ { no: 7, name: "target_user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
200
+ { no: 8, name: "target_user", kind: "message", T: () => Colleague, options: { "tagger.tags": "alias:\"target_user\"" } },
204
201
  { no: 9, name: "activity_type", kind: "enum", T: () => ["resources.jobs.ColleagueActivityType", ColleagueActivityType, "COLLEAGUE_ACTIVITY_TYPE_"] },
205
- { no: 10, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
202
+ { no: 10, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
206
203
  { no: 11, name: "data", kind: "message", T: () => ColleagueActivityData }
207
204
  ]);
208
205
  }
@@ -222,8 +219,8 @@ class ColleagueActivity$Type extends MessageType<ColleagueActivity> {
222
219
  while (reader.pos < end) {
223
220
  let [fieldNo, wireType] = reader.tag();
224
221
  switch (fieldNo) {
225
- case /* uint64 id */ 1:
226
- message.id = reader.uint64().toNumber();
222
+ case /* int64 id */ 1:
223
+ message.id = reader.int64().toNumber();
227
224
  break;
228
225
  case /* optional resources.timestamp.Timestamp created_at */ 2:
229
226
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
@@ -264,9 +261,9 @@ class ColleagueActivity$Type extends MessageType<ColleagueActivity> {
264
261
  return message;
265
262
  }
266
263
  internalBinaryWrite(message: ColleagueActivity, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
267
- /* uint64 id = 1; */
264
+ /* int64 id = 1; */
268
265
  if (message.id !== 0)
269
- writer.tag(1, WireType.Varint).uint64(message.id);
266
+ writer.tag(1, WireType.Varint).int64(message.id);
270
267
  /* optional resources.timestamp.Timestamp created_at = 2; */
271
268
  if (message.createdAt)
272
269
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
@@ -312,7 +309,7 @@ class ColleagueActivityData$Type extends MessageType<ColleagueActivityData> {
312
309
  { no: 2, name: "grade_change", kind: "message", oneof: "data", T: () => GradeChange },
313
310
  { no: 3, name: "labels_change", kind: "message", oneof: "data", T: () => LabelsChange },
314
311
  { no: 4, name: "name_change", kind: "message", oneof: "data", T: () => NameChange }
315
- ]);
312
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
316
313
  }
317
314
  create(value?: PartialMessage<ColleagueActivityData>): ColleagueActivityData {
318
315
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "resources/jobs/colleagues.proto" (package "resources.jobs", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
5
6
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
@@ -12,63 +13,64 @@ import { reflectionMergePartial } from "@protobuf-ts/runtime";
12
13
  import { MessageType } from "@protobuf-ts/runtime";
13
14
  import { Labels } from "./labels";
14
15
  import { Timestamp } from "../timestamp/timestamp";
15
- import { File } from "../filestore/file";
16
16
  /**
17
17
  * @generated from protobuf message resources.jobs.Colleague
18
18
  */
19
19
  export interface Colleague {
20
20
  /**
21
- * @generated from protobuf field: int32 user_id = 1;
21
+ * @generated from protobuf field: int32 user_id = 1
22
22
  */
23
- userId: number; // @gotags: alias:"id"
23
+ userId: number;
24
24
  /**
25
- * @generated from protobuf field: optional string identifier = 2;
25
+ * @generated from protobuf field: optional string identifier = 2
26
26
  */
27
27
  identifier?: string;
28
28
  /**
29
- * @generated from protobuf field: string job = 3;
29
+ * @generated from protobuf field: string job = 3
30
30
  */
31
31
  job: string;
32
32
  /**
33
- * @generated from protobuf field: optional string job_label = 4;
33
+ * @generated from protobuf field: optional string job_label = 4
34
34
  */
35
35
  jobLabel?: string;
36
36
  /**
37
- * @generated from protobuf field: int32 job_grade = 5;
37
+ * @generated from protobuf field: int32 job_grade = 5
38
38
  */
39
39
  jobGrade: number;
40
40
  /**
41
- * @generated from protobuf field: optional string job_grade_label = 6;
41
+ * @generated from protobuf field: optional string job_grade_label = 6
42
42
  */
43
43
  jobGradeLabel?: string;
44
44
  /**
45
- * @generated from protobuf field: string firstname = 7;
45
+ * @generated from protobuf field: string firstname = 7
46
46
  */
47
47
  firstname: string;
48
48
  /**
49
- * @generated from protobuf field: string lastname = 8;
49
+ * @generated from protobuf field: string lastname = 8
50
50
  */
51
51
  lastname: string;
52
52
  /**
53
- * @generated from protobuf field: string dateofbirth = 9;
53
+ * @generated from protobuf field: string dateofbirth = 9
54
54
  */
55
55
  dateofbirth: string;
56
56
  /**
57
- * @generated from protobuf field: optional string phone_number = 12;
57
+ * @generated from protobuf field: optional string phone_number = 12
58
58
  */
59
59
  phoneNumber?: string;
60
60
  /**
61
- * @generated from protobuf field: optional resources.filestore.File avatar = 17;
61
+ * @generated from protobuf field: optional int64 profile_picture_file_id = 17
62
+ */
63
+ profilePictureFileId?: number;
64
+ /**
65
+ * @generated from protobuf field: optional string profile_picture = 18
62
66
  */
63
- avatar?: File;
67
+ profilePicture?: string;
64
68
  /**
65
- * @generated from protobuf field: resources.jobs.ColleagueProps props = 18;
69
+ * @generated from protobuf field: resources.jobs.ColleagueProps props = 19
66
70
  */
67
- props?: ColleagueProps; // @gotags: alias:"jobs_user_props"
71
+ props?: ColleagueProps;
68
72
  /**
69
- * @sanitize: method=StripTags
70
- *
71
- * @generated from protobuf field: optional string email = 19;
73
+ * @generated from protobuf field: optional string email = 20
72
74
  */
73
75
  email?: string;
74
76
  }
@@ -77,41 +79,39 @@ export interface Colleague {
77
79
  */
78
80
  export interface ColleagueProps {
79
81
  /**
80
- * @generated from protobuf field: int32 user_id = 1;
82
+ * @generated from protobuf field: int32 user_id = 1
81
83
  */
82
84
  userId: number;
83
85
  /**
84
- * @generated from protobuf field: string job = 2;
86
+ * @generated from protobuf field: string job = 2
85
87
  */
86
88
  job: string;
87
89
  /**
88
- * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 3;
90
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 3
89
91
  */
90
92
  deletedAt?: Timestamp;
91
93
  /**
92
- * @generated from protobuf field: optional resources.timestamp.Timestamp absence_begin = 4;
94
+ * @generated from protobuf field: optional resources.timestamp.Timestamp absence_begin = 4
93
95
  */
94
96
  absenceBegin?: Timestamp;
95
97
  /**
96
- * @generated from protobuf field: optional resources.timestamp.Timestamp absence_end = 5;
98
+ * @generated from protobuf field: optional resources.timestamp.Timestamp absence_end = 5
97
99
  */
98
100
  absenceEnd?: Timestamp;
99
101
  /**
100
- * @sanitize: method=StripTags
101
- *
102
- * @generated from protobuf field: optional string note = 6;
102
+ * @generated from protobuf field: optional string note = 6
103
103
  */
104
104
  note?: string;
105
105
  /**
106
- * @generated from protobuf field: optional resources.jobs.Labels labels = 7;
106
+ * @generated from protobuf field: optional resources.jobs.Labels labels = 7
107
107
  */
108
108
  labels?: Labels;
109
109
  /**
110
- * @generated from protobuf field: optional string name_prefix = 8;
110
+ * @generated from protobuf field: optional string name_prefix = 8
111
111
  */
112
112
  namePrefix?: string;
113
113
  /**
114
- * @generated from protobuf field: optional string name_suffix = 9;
114
+ * @generated from protobuf field: optional string name_suffix = 9
115
115
  */
116
116
  nameSuffix?: string;
117
117
  }
@@ -119,19 +119,20 @@ export interface ColleagueProps {
119
119
  class Colleague$Type extends MessageType<Colleague> {
120
120
  constructor() {
121
121
  super("resources.jobs.Colleague", [
122
- { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
123
- { no: 2, name: "identifier", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } },
124
- { no: 3, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
125
- { no: 4, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
126
- { no: 5, name: "job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: -1 } } } },
127
- { no: 6, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
128
- { no: 7, name: "firstname", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1", maxLen: "50" } } } },
129
- { no: 8, name: "lastname", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1", maxLen: "50" } } } },
130
- { no: 9, name: "dateofbirth", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { len: "10" } } } },
131
- { no: 12, name: "phone_number", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
132
- { no: 17, name: "avatar", kind: "message", T: () => File },
133
- { no: 18, name: "props", kind: "message", T: () => ColleagueProps },
134
- { no: 19, name: "email", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "6", maxLen: "80" } } } }
122
+ { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } }, "tagger.tags": "alias:\"id\"" } },
123
+ { no: 2, name: "identifier", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
124
+ { no: 3, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
125
+ { no: 4, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
126
+ { no: 5, name: "job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
127
+ { no: 6, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
128
+ { no: 7, name: "firstname", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "1", maxLen: "50" } } } },
129
+ { no: 8, name: "lastname", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "1", maxLen: "50" } } } },
130
+ { no: 9, name: "dateofbirth", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "10" } } } },
131
+ { no: 12, name: "phone_number", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
132
+ { no: 17, name: "profile_picture_file_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
133
+ { no: 18, name: "profile_picture", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "tagger.tags": "alias:\"profile_picture\"" } },
134
+ { no: 19, name: "props", kind: "message", T: () => ColleagueProps, options: { "tagger.tags": "alias:\"colleague_props\"" } },
135
+ { no: 20, name: "email", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "6", maxLen: "80" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
135
136
  ]);
136
137
  }
137
138
  create(value?: PartialMessage<Colleague>): Colleague {
@@ -181,13 +182,16 @@ class Colleague$Type extends MessageType<Colleague> {
181
182
  case /* optional string phone_number */ 12:
182
183
  message.phoneNumber = reader.string();
183
184
  break;
184
- case /* optional resources.filestore.File avatar */ 17:
185
- message.avatar = File.internalBinaryRead(reader, reader.uint32(), options, message.avatar);
185
+ case /* optional int64 profile_picture_file_id */ 17:
186
+ message.profilePictureFileId = reader.int64().toNumber();
187
+ break;
188
+ case /* optional string profile_picture */ 18:
189
+ message.profilePicture = reader.string();
186
190
  break;
187
- case /* resources.jobs.ColleagueProps props */ 18:
191
+ case /* resources.jobs.ColleagueProps props */ 19:
188
192
  message.props = ColleagueProps.internalBinaryRead(reader, reader.uint32(), options, message.props);
189
193
  break;
190
- case /* optional string email */ 19:
194
+ case /* optional string email */ 20:
191
195
  message.email = reader.string();
192
196
  break;
193
197
  default:
@@ -232,15 +236,18 @@ class Colleague$Type extends MessageType<Colleague> {
232
236
  /* optional string phone_number = 12; */
233
237
  if (message.phoneNumber !== undefined)
234
238
  writer.tag(12, WireType.LengthDelimited).string(message.phoneNumber);
235
- /* optional resources.filestore.File avatar = 17; */
236
- if (message.avatar)
237
- File.internalBinaryWrite(message.avatar, writer.tag(17, WireType.LengthDelimited).fork(), options).join();
238
- /* resources.jobs.ColleagueProps props = 18; */
239
+ /* optional int64 profile_picture_file_id = 17; */
240
+ if (message.profilePictureFileId !== undefined)
241
+ writer.tag(17, WireType.Varint).int64(message.profilePictureFileId);
242
+ /* optional string profile_picture = 18; */
243
+ if (message.profilePicture !== undefined)
244
+ writer.tag(18, WireType.LengthDelimited).string(message.profilePicture);
245
+ /* resources.jobs.ColleagueProps props = 19; */
239
246
  if (message.props)
240
- ColleagueProps.internalBinaryWrite(message.props, writer.tag(18, WireType.LengthDelimited).fork(), options).join();
241
- /* optional string email = 19; */
247
+ ColleagueProps.internalBinaryWrite(message.props, writer.tag(19, WireType.LengthDelimited).fork(), options).join();
248
+ /* optional string email = 20; */
242
249
  if (message.email !== undefined)
243
- writer.tag(19, WireType.LengthDelimited).string(message.email);
250
+ writer.tag(20, WireType.LengthDelimited).string(message.email);
244
251
  let u = options.writeUnknownFields;
245
252
  if (u !== false)
246
253
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -255,15 +262,15 @@ export const Colleague = new Colleague$Type();
255
262
  class ColleagueProps$Type extends MessageType<ColleagueProps> {
256
263
  constructor() {
257
264
  super("resources.jobs.ColleagueProps", [
258
- { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
259
- { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
265
+ { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
266
+ { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
260
267
  { no: 3, name: "deleted_at", kind: "message", T: () => Timestamp },
261
268
  { no: 4, name: "absence_begin", kind: "message", T: () => Timestamp },
262
269
  { no: 5, name: "absence_end", kind: "message", T: () => Timestamp },
263
- { no: 6, name: "note", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
270
+ { no: 6, name: "note", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
264
271
  { no: 7, name: "labels", kind: "message", T: () => Labels },
265
- { no: 8, name: "name_prefix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "12" } } } },
266
- { no: 9, name: "name_suffix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "12" } } } }
272
+ { no: 8, name: "name_prefix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "12" } } } },
273
+ { no: 9, name: "name_suffix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "12" } } } }
267
274
  ]);
268
275
  }
269
276
  create(value?: PartialMessage<ColleagueProps>): ColleagueProps {