@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
@@ -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/conduct.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";
@@ -17,55 +18,53 @@ import { Timestamp } from "../timestamp/timestamp";
17
18
  */
18
19
  export interface ConductEntry {
19
20
  /**
20
- * @generated from protobuf field: uint64 id = 1;
21
+ * @generated from protobuf field: int64 id = 1
21
22
  */
22
- id: number; // @gotags: sql:"primary_key" alias:"id"
23
+ id: number;
23
24
  /**
24
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
25
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
25
26
  */
26
27
  createdAt?: Timestamp;
27
28
  /**
28
- * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3;
29
+ * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3
29
30
  */
30
31
  updatedAt?: Timestamp;
31
32
  /**
32
- * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 4;
33
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 4
33
34
  */
34
35
  deletedAt?: Timestamp;
35
36
  /**
36
- * @generated from protobuf field: string job = 5;
37
+ * @generated from protobuf field: string job = 5
37
38
  */
38
39
  job: string;
39
40
  /**
40
- * @generated from protobuf field: resources.jobs.ConductType type = 6;
41
+ * @generated from protobuf field: resources.jobs.ConductType type = 6
41
42
  */
42
43
  type: ConductType;
43
44
  /**
44
- * @sanitize
45
- *
46
- * @generated from protobuf field: string message = 7;
45
+ * @generated from protobuf field: string message = 7
47
46
  */
48
47
  message: string;
49
48
  /**
50
- * @generated from protobuf field: optional resources.timestamp.Timestamp expires_at = 8;
49
+ * @generated from protobuf field: optional resources.timestamp.Timestamp expires_at = 8
51
50
  */
52
51
  expiresAt?: Timestamp;
53
52
  /**
54
- * @generated from protobuf field: int32 target_user_id = 9;
53
+ * @generated from protobuf field: int32 target_user_id = 9
55
54
  */
56
55
  targetUserId: number;
57
56
  /**
58
- * @generated from protobuf field: optional resources.jobs.Colleague target_user = 10;
57
+ * @generated from protobuf field: optional resources.jobs.Colleague target_user = 10
59
58
  */
60
- targetUser?: Colleague; // @gotags: alias:"target_user"
59
+ targetUser?: Colleague;
61
60
  /**
62
- * @generated from protobuf field: int32 creator_id = 11;
61
+ * @generated from protobuf field: int32 creator_id = 11
63
62
  */
64
63
  creatorId: number;
65
64
  /**
66
- * @generated from protobuf field: optional resources.jobs.Colleague creator = 12;
65
+ * @generated from protobuf field: optional resources.jobs.Colleague creator = 12
67
66
  */
68
- creator?: Colleague; // @gotags: alias:"creator"
67
+ creator?: Colleague;
69
68
  }
70
69
  /**
71
70
  * @generated from protobuf enum resources.jobs.ConductType
@@ -104,18 +103,18 @@ export enum ConductType {
104
103
  class ConductEntry$Type extends MessageType<ConductEntry> {
105
104
  constructor() {
106
105
  super("resources.jobs.ConductEntry", [
107
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
106
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"id\"" } },
108
107
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
109
108
  { no: 3, name: "updated_at", kind: "message", T: () => Timestamp },
110
109
  { no: 4, name: "deleted_at", kind: "message", T: () => Timestamp },
111
- { no: 5, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
112
- { no: 6, name: "type", kind: "enum", T: () => ["resources.jobs.ConductType", ConductType, "CONDUCT_TYPE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
113
- { no: 7, name: "message", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "2048" } } } },
110
+ { no: 5, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
111
+ { no: 6, name: "type", kind: "enum", T: () => ["resources.jobs.ConductType", ConductType, "CONDUCT_TYPE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
112
+ { no: 7, name: "message", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "2048" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
114
113
  { no: 8, name: "expires_at", kind: "message", T: () => Timestamp },
115
- { no: 9, name: "target_user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
116
- { no: 10, name: "target_user", kind: "message", T: () => Colleague },
117
- { no: 11, name: "creator_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
118
- { no: 12, name: "creator", kind: "message", T: () => Colleague }
114
+ { no: 9, name: "target_user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
115
+ { no: 10, name: "target_user", kind: "message", T: () => Colleague, options: { "tagger.tags": "alias:\"target_user\"" } },
116
+ { no: 11, name: "creator_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
117
+ { no: 12, name: "creator", kind: "message", T: () => Colleague, options: { "tagger.tags": "alias:\"creator\"" } }
119
118
  ]);
120
119
  }
121
120
  create(value?: PartialMessage<ConductEntry>): ConductEntry {
@@ -135,8 +134,8 @@ class ConductEntry$Type extends MessageType<ConductEntry> {
135
134
  while (reader.pos < end) {
136
135
  let [fieldNo, wireType] = reader.tag();
137
136
  switch (fieldNo) {
138
- case /* uint64 id */ 1:
139
- message.id = reader.uint64().toNumber();
137
+ case /* int64 id */ 1:
138
+ message.id = reader.int64().toNumber();
140
139
  break;
141
140
  case /* optional resources.timestamp.Timestamp created_at */ 2:
142
141
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
@@ -183,9 +182,9 @@ class ConductEntry$Type extends MessageType<ConductEntry> {
183
182
  return message;
184
183
  }
185
184
  internalBinaryWrite(message: ConductEntry, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
186
- /* uint64 id = 1; */
185
+ /* int64 id = 1; */
187
186
  if (message.id !== 0)
188
- writer.tag(1, WireType.Varint).uint64(message.id);
187
+ writer.tag(1, WireType.Varint).int64(message.id);
189
188
  /* optional resources.timestamp.Timestamp created_at = 2; */
190
189
  if (message.createdAt)
191
190
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
@@ -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/job_props.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";
@@ -11,7 +12,7 @@ import type { PartialMessage } from "@protobuf-ts/runtime";
11
12
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
12
13
  import { MessageType } from "@protobuf-ts/runtime";
13
14
  import { JobSettings } from "./job_settings";
14
- import { File } from "../filestore/file";
15
+ import { File } from "../file/file";
15
16
  import { DiscordSyncChanges } from "./job_settings";
16
17
  import { DiscordSyncSettings } from "./job_settings";
17
18
  import { Timestamp } from "../timestamp/timestamp";
@@ -20,74 +21,72 @@ import { Timestamp } from "../timestamp/timestamp";
20
21
  */
21
22
  export interface JobProps {
22
23
  /**
23
- * @generated from protobuf field: string job = 1;
24
+ * @generated from protobuf field: string job = 1
24
25
  */
25
26
  job: string;
26
27
  /**
27
- * @generated from protobuf field: optional string job_label = 2;
28
+ * @generated from protobuf field: optional string job_label = 2
28
29
  */
29
30
  jobLabel?: string;
30
31
  /**
31
- * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 3;
32
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 3
32
33
  */
33
34
  deletedAt?: Timestamp;
34
35
  /**
35
- * @generated from protobuf field: string livemap_marker_color = 4;
36
+ * @generated from protobuf field: string livemap_marker_color = 4
36
37
  */
37
38
  livemapMarkerColor: string;
38
39
  /**
39
- * @generated from protobuf field: resources.jobs.QuickButtons quick_buttons = 5;
40
+ * @generated from protobuf field: resources.jobs.QuickButtons quick_buttons = 5
40
41
  */
41
42
  quickButtons?: QuickButtons;
42
43
  /**
43
- * @generated from protobuf field: optional string radio_frequency = 6;
44
+ * @generated from protobuf field: optional string radio_frequency = 6
44
45
  */
45
46
  radioFrequency?: string;
46
47
  /**
47
- * @generated from protobuf field: optional string discord_guild_id = 7;
48
+ * @generated from protobuf field: optional string discord_guild_id = 7
48
49
  */
49
50
  discordGuildId?: string;
50
51
  /**
51
- * @generated from protobuf field: optional resources.timestamp.Timestamp discord_last_sync = 8;
52
+ * @generated from protobuf field: optional resources.timestamp.Timestamp discord_last_sync = 8
52
53
  */
53
54
  discordLastSync?: Timestamp;
54
55
  /**
55
- * @generated from protobuf field: resources.jobs.DiscordSyncSettings discord_sync_settings = 9;
56
+ * @generated from protobuf field: resources.jobs.DiscordSyncSettings discord_sync_settings = 9
56
57
  */
57
58
  discordSyncSettings?: DiscordSyncSettings;
58
59
  /**
59
- * @generated from protobuf field: optional resources.jobs.DiscordSyncChanges discord_sync_changes = 10;
60
+ * @generated from protobuf field: optional resources.jobs.DiscordSyncChanges discord_sync_changes = 10
60
61
  */
61
62
  discordSyncChanges?: DiscordSyncChanges;
62
63
  /**
63
- * @generated from protobuf field: optional string motd = 11;
64
+ * @generated from protobuf field: optional string motd = 11
64
65
  */
65
66
  motd?: string;
66
67
  /**
67
- * @generated from protobuf field: optional resources.filestore.File logo_url = 12;
68
+ * @generated from protobuf field: optional int64 logo_file_id = 12
68
69
  */
69
- logoUrl?: File;
70
+ logoFileId?: number;
70
71
  /**
71
- * @generated from protobuf field: resources.jobs.JobSettings settings = 13;
72
+ * @generated from protobuf field: optional resources.file.File logo_file = 13
73
+ */
74
+ logoFile?: File;
75
+ /**
76
+ * @generated from protobuf field: resources.jobs.JobSettings settings = 14
72
77
  */
73
78
  settings?: JobSettings;
74
79
  }
75
80
  /**
76
- * @dbscanner: json
77
- *
78
81
  * @generated from protobuf message resources.jobs.QuickButtons
79
82
  */
80
83
  export interface QuickButtons {
81
84
  /**
82
- * @generated from protobuf field: bool penalty_calculator = 1;
85
+ * @generated from protobuf field: bool penalty_calculator = 1
83
86
  */
84
87
  penaltyCalculator: boolean;
85
88
  /**
86
- * @generated from protobuf field: bool body_checkup = 2;
87
- */
88
- bodyCheckup: boolean;
89
- /**
90
- * @generated from protobuf field: bool math_calculator = 3;
89
+ * @generated from protobuf field: bool math_calculator = 3
91
90
  */
92
91
  mathCalculator: boolean;
93
92
  }
@@ -95,19 +94,20 @@ export interface QuickButtons {
95
94
  class JobProps$Type extends MessageType<JobProps> {
96
95
  constructor() {
97
96
  super("resources.jobs.JobProps", [
98
- { no: 1, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
99
- { no: 2, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
97
+ { no: 1, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
98
+ { no: 2, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
100
99
  { no: 3, name: "deleted_at", kind: "message", T: () => Timestamp },
101
- { no: 4, name: "livemap_marker_color", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { len: "7", pattern: "^#[A-Fa-f0-9]{6}$" } } } },
100
+ { no: 4, name: "livemap_marker_color", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { len: "7", pattern: "^#[A-Fa-f0-9]{6}$" } } } },
102
101
  { no: 5, name: "quick_buttons", kind: "message", T: () => QuickButtons },
103
- { no: 6, name: "radio_frequency", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "24" } } } },
102
+ { no: 6, name: "radio_frequency", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "24" } } } },
104
103
  { no: 7, name: "discord_guild_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
105
104
  { no: 8, name: "discord_last_sync", kind: "message", T: () => Timestamp },
106
105
  { no: 9, name: "discord_sync_settings", kind: "message", T: () => DiscordSyncSettings },
107
106
  { no: 10, name: "discord_sync_changes", kind: "message", T: () => DiscordSyncChanges },
108
- { no: 11, name: "motd", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "1024" } } } },
109
- { no: 12, name: "logo_url", kind: "message", T: () => File },
110
- { no: 13, name: "settings", kind: "message", T: () => JobSettings }
107
+ { no: 11, name: "motd", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "1024" } } } },
108
+ { no: 12, name: "logo_file_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
109
+ { no: 13, name: "logo_file", kind: "message", T: () => File, options: { "tagger.tags": "alias:\"logo_file\"" } },
110
+ { no: 14, name: "settings", kind: "message", T: () => JobSettings }
111
111
  ]);
112
112
  }
113
113
  create(value?: PartialMessage<JobProps>): JobProps {
@@ -156,10 +156,13 @@ class JobProps$Type extends MessageType<JobProps> {
156
156
  case /* optional string motd */ 11:
157
157
  message.motd = reader.string();
158
158
  break;
159
- case /* optional resources.filestore.File logo_url */ 12:
160
- message.logoUrl = File.internalBinaryRead(reader, reader.uint32(), options, message.logoUrl);
159
+ case /* optional int64 logo_file_id */ 12:
160
+ message.logoFileId = reader.int64().toNumber();
161
161
  break;
162
- case /* resources.jobs.JobSettings settings */ 13:
162
+ case /* optional resources.file.File logo_file */ 13:
163
+ message.logoFile = File.internalBinaryRead(reader, reader.uint32(), options, message.logoFile);
164
+ break;
165
+ case /* resources.jobs.JobSettings settings */ 14:
163
166
  message.settings = JobSettings.internalBinaryRead(reader, reader.uint32(), options, message.settings);
164
167
  break;
165
168
  default:
@@ -207,12 +210,15 @@ class JobProps$Type extends MessageType<JobProps> {
207
210
  /* optional string motd = 11; */
208
211
  if (message.motd !== undefined)
209
212
  writer.tag(11, WireType.LengthDelimited).string(message.motd);
210
- /* optional resources.filestore.File logo_url = 12; */
211
- if (message.logoUrl)
212
- File.internalBinaryWrite(message.logoUrl, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
213
- /* resources.jobs.JobSettings settings = 13; */
213
+ /* optional int64 logo_file_id = 12; */
214
+ if (message.logoFileId !== undefined)
215
+ writer.tag(12, WireType.Varint).int64(message.logoFileId);
216
+ /* optional resources.file.File logo_file = 13; */
217
+ if (message.logoFile)
218
+ File.internalBinaryWrite(message.logoFile, writer.tag(13, WireType.LengthDelimited).fork(), options).join();
219
+ /* resources.jobs.JobSettings settings = 14; */
214
220
  if (message.settings)
215
- JobSettings.internalBinaryWrite(message.settings, writer.tag(13, WireType.LengthDelimited).fork(), options).join();
221
+ JobSettings.internalBinaryWrite(message.settings, writer.tag(14, WireType.LengthDelimited).fork(), options).join();
216
222
  let u = options.writeUnknownFields;
217
223
  if (u !== false)
218
224
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -228,14 +234,12 @@ class QuickButtons$Type extends MessageType<QuickButtons> {
228
234
  constructor() {
229
235
  super("resources.jobs.QuickButtons", [
230
236
  { no: 1, name: "penalty_calculator", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
231
- { no: 2, name: "body_checkup", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
232
237
  { no: 3, name: "math_calculator", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
233
- ]);
238
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
234
239
  }
235
240
  create(value?: PartialMessage<QuickButtons>): QuickButtons {
236
241
  const message = globalThis.Object.create((this.messagePrototype!));
237
242
  message.penaltyCalculator = false;
238
- message.bodyCheckup = false;
239
243
  message.mathCalculator = false;
240
244
  if (value !== undefined)
241
245
  reflectionMergePartial<QuickButtons>(this, message, value);
@@ -249,9 +253,6 @@ class QuickButtons$Type extends MessageType<QuickButtons> {
249
253
  case /* bool penalty_calculator */ 1:
250
254
  message.penaltyCalculator = reader.bool();
251
255
  break;
252
- case /* bool body_checkup */ 2:
253
- message.bodyCheckup = reader.bool();
254
- break;
255
256
  case /* bool math_calculator */ 3:
256
257
  message.mathCalculator = reader.bool();
257
258
  break;
@@ -270,9 +271,6 @@ class QuickButtons$Type extends MessageType<QuickButtons> {
270
271
  /* bool penalty_calculator = 1; */
271
272
  if (message.penaltyCalculator !== false)
272
273
  writer.tag(1, WireType.Varint).bool(message.penaltyCalculator);
273
- /* bool body_checkup = 2; */
274
- if (message.bodyCheckup !== false)
275
- writer.tag(2, WireType.Varint).bool(message.bodyCheckup);
276
274
  /* bool math_calculator = 3; */
277
275
  if (message.mathCalculator !== false)
278
276
  writer.tag(3, WireType.Varint).bool(message.mathCalculator);
@@ -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/job_settings.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,56 +13,52 @@ import { reflectionMergePartial } from "@protobuf-ts/runtime";
12
13
  import { MessageType } from "@protobuf-ts/runtime";
13
14
  import { Timestamp } from "../timestamp/timestamp";
14
15
  /**
15
- * @dbscanner: json
16
- *
17
16
  * @generated from protobuf message resources.jobs.DiscordSyncSettings
18
17
  */
19
18
  export interface DiscordSyncSettings {
20
19
  /**
21
- * @generated from protobuf field: bool dry_run = 1;
20
+ * @generated from protobuf field: bool dry_run = 1
22
21
  */
23
22
  dryRun: boolean;
24
23
  /**
25
- * @generated from protobuf field: bool user_info_sync = 2;
24
+ * @generated from protobuf field: bool user_info_sync = 2
26
25
  */
27
26
  userInfoSync: boolean;
28
27
  /**
29
- * @generated from protobuf field: resources.jobs.UserInfoSyncSettings user_info_sync_settings = 3;
28
+ * @generated from protobuf field: resources.jobs.UserInfoSyncSettings user_info_sync_settings = 3
30
29
  */
31
30
  userInfoSyncSettings?: UserInfoSyncSettings;
32
31
  /**
33
- * @generated from protobuf field: bool status_log = 4;
32
+ * @generated from protobuf field: bool status_log = 4
34
33
  */
35
34
  statusLog: boolean;
36
35
  /**
37
- * @generated from protobuf field: resources.jobs.StatusLogSettings status_log_settings = 5;
36
+ * @generated from protobuf field: resources.jobs.StatusLogSettings status_log_settings = 5
38
37
  */
39
38
  statusLogSettings?: StatusLogSettings;
40
39
  /**
41
- * @generated from protobuf field: bool jobs_absence = 6;
40
+ * @generated from protobuf field: bool jobs_absence = 6
42
41
  */
43
42
  jobsAbsence: boolean;
44
43
  /**
45
- * @generated from protobuf field: resources.jobs.JobsAbsenceSettings jobs_absence_settings = 7;
44
+ * @generated from protobuf field: resources.jobs.JobsAbsenceSettings jobs_absence_settings = 7
46
45
  */
47
46
  jobsAbsenceSettings?: JobsAbsenceSettings;
48
47
  /**
49
- * @generated from protobuf field: resources.jobs.GroupSyncSettings group_sync_settings = 8;
48
+ * @generated from protobuf field: resources.jobs.GroupSyncSettings group_sync_settings = 8
50
49
  */
51
50
  groupSyncSettings?: GroupSyncSettings;
52
51
  /**
53
- * @generated from protobuf field: string qualifications_role_format = 9;
52
+ * @generated from protobuf field: string qualifications_role_format = 9
54
53
  */
55
54
  qualificationsRoleFormat: string;
56
55
  }
57
56
  /**
58
- * @dbscanner: json
59
- *
60
57
  * @generated from protobuf message resources.jobs.DiscordSyncChanges
61
58
  */
62
59
  export interface DiscordSyncChanges {
63
60
  /**
64
- * @generated from protobuf field: repeated resources.jobs.DiscordSyncChange changes = 1;
61
+ * @generated from protobuf field: repeated resources.jobs.DiscordSyncChange changes = 1
65
62
  */
66
63
  changes: DiscordSyncChange[];
67
64
  }
@@ -70,11 +67,11 @@ export interface DiscordSyncChanges {
70
67
  */
71
68
  export interface DiscordSyncChange {
72
69
  /**
73
- * @generated from protobuf field: resources.timestamp.Timestamp time = 1;
70
+ * @generated from protobuf field: resources.timestamp.Timestamp time = 1
74
71
  */
75
72
  time?: Timestamp;
76
73
  /**
77
- * @generated from protobuf field: string plan = 2;
74
+ * @generated from protobuf field: string plan = 2
78
75
  */
79
76
  plan: string;
80
77
  }
@@ -83,35 +80,35 @@ export interface DiscordSyncChange {
83
80
  */
84
81
  export interface UserInfoSyncSettings {
85
82
  /**
86
- * @generated from protobuf field: bool employee_role_enabled = 1;
83
+ * @generated from protobuf field: bool employee_role_enabled = 1
87
84
  */
88
85
  employeeRoleEnabled: boolean;
89
86
  /**
90
- * @generated from protobuf field: string employee_role_format = 2;
87
+ * @generated from protobuf field: string employee_role_format = 2
91
88
  */
92
89
  employeeRoleFormat: string;
93
90
  /**
94
- * @generated from protobuf field: string grade_role_format = 3;
91
+ * @generated from protobuf field: string grade_role_format = 3
95
92
  */
96
93
  gradeRoleFormat: string;
97
94
  /**
98
- * @generated from protobuf field: bool unemployed_enabled = 4;
95
+ * @generated from protobuf field: bool unemployed_enabled = 4
99
96
  */
100
97
  unemployedEnabled: boolean;
101
98
  /**
102
- * @generated from protobuf field: resources.jobs.UserInfoSyncUnemployedMode unemployed_mode = 5;
99
+ * @generated from protobuf field: resources.jobs.UserInfoSyncUnemployedMode unemployed_mode = 5
103
100
  */
104
101
  unemployedMode: UserInfoSyncUnemployedMode;
105
102
  /**
106
- * @generated from protobuf field: string unemployed_role_name = 6;
103
+ * @generated from protobuf field: string unemployed_role_name = 6
107
104
  */
108
105
  unemployedRoleName: string;
109
106
  /**
110
- * @generated from protobuf field: bool sync_nicknames = 7;
107
+ * @generated from protobuf field: bool sync_nicknames = 7
111
108
  */
112
109
  syncNicknames: boolean;
113
110
  /**
114
- * @generated from protobuf field: repeated resources.jobs.GroupMapping group_mapping = 8;
111
+ * @generated from protobuf field: repeated resources.jobs.GroupMapping group_mapping = 8
115
112
  */
116
113
  groupMapping: GroupMapping[];
117
114
  }
@@ -120,15 +117,15 @@ export interface UserInfoSyncSettings {
120
117
  */
121
118
  export interface GroupMapping {
122
119
  /**
123
- * @generated from protobuf field: string name = 1;
120
+ * @generated from protobuf field: string name = 1
124
121
  */
125
122
  name: string;
126
123
  /**
127
- * @generated from protobuf field: int32 from_grade = 2;
124
+ * @generated from protobuf field: int32 from_grade = 2
128
125
  */
129
126
  fromGrade: number;
130
127
  /**
131
- * @generated from protobuf field: int32 to_grade = 3;
128
+ * @generated from protobuf field: int32 to_grade = 3
132
129
  */
133
130
  toGrade: number;
134
131
  }
@@ -137,7 +134,7 @@ export interface GroupMapping {
137
134
  */
138
135
  export interface StatusLogSettings {
139
136
  /**
140
- * @generated from protobuf field: string channel_id = 1;
137
+ * @generated from protobuf field: string channel_id = 1
141
138
  */
142
139
  channelId: string;
143
140
  }
@@ -146,7 +143,7 @@ export interface StatusLogSettings {
146
143
  */
147
144
  export interface JobsAbsenceSettings {
148
145
  /**
149
- * @generated from protobuf field: string absence_role = 1;
146
+ * @generated from protobuf field: string absence_role = 1
150
147
  */
151
148
  absenceRole: string;
152
149
  }
@@ -155,24 +152,20 @@ export interface JobsAbsenceSettings {
155
152
  */
156
153
  export interface GroupSyncSettings {
157
154
  /**
158
- * @sanitize: method=StripTags
159
- *
160
- * @generated from protobuf field: repeated string ignored_role_ids = 1;
155
+ * @generated from protobuf field: repeated string ignored_role_ids = 1
161
156
  */
162
157
  ignoredRoleIds: string[];
163
158
  }
164
159
  /**
165
- * @dbscanner: json
166
- *
167
160
  * @generated from protobuf message resources.jobs.JobSettings
168
161
  */
169
162
  export interface JobSettings {
170
163
  /**
171
- * @generated from protobuf field: int32 absence_past_days = 1;
164
+ * @generated from protobuf field: int32 absence_past_days = 1
172
165
  */
173
166
  absencePastDays: number;
174
167
  /**
175
- * @generated from protobuf field: int32 absence_future_days = 2;
168
+ * @generated from protobuf field: int32 absence_future_days = 2
176
169
  */
177
170
  absenceFutureDays: number;
178
171
  }
@@ -205,8 +198,8 @@ class DiscordSyncSettings$Type extends MessageType<DiscordSyncSettings> {
205
198
  { no: 6, name: "jobs_absence", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
206
199
  { no: 7, name: "jobs_absence_settings", kind: "message", T: () => JobsAbsenceSettings },
207
200
  { no: 8, name: "group_sync_settings", kind: "message", T: () => GroupSyncSettings },
208
- { no: 9, name: "qualifications_role_format", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } }
209
- ]);
201
+ { no: 9, name: "qualifications_role_format", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } }
202
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
210
203
  }
211
204
  create(value?: PartialMessage<DiscordSyncSettings>): DiscordSyncSettings {
212
205
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -305,7 +298,7 @@ class DiscordSyncChanges$Type extends MessageType<DiscordSyncChanges> {
305
298
  constructor() {
306
299
  super("resources.jobs.DiscordSyncChanges", [
307
300
  { no: 1, name: "changes", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DiscordSyncChange }
308
- ]);
301
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
309
302
  }
310
303
  create(value?: PartialMessage<DiscordSyncChanges>): DiscordSyncChanges {
311
304
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -406,11 +399,11 @@ class UserInfoSyncSettings$Type extends MessageType<UserInfoSyncSettings> {
406
399
  constructor() {
407
400
  super("resources.jobs.UserInfoSyncSettings", [
408
401
  { no: 1, name: "employee_role_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
409
- { no: 2, name: "employee_role_format", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } },
410
- { no: 3, name: "grade_role_format", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } },
402
+ { no: 2, name: "employee_role_format", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
403
+ { no: 3, name: "grade_role_format", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
411
404
  { no: 4, name: "unemployed_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
412
- { no: 5, name: "unemployed_mode", kind: "enum", T: () => ["resources.jobs.UserInfoSyncUnemployedMode", UserInfoSyncUnemployedMode, "USER_INFO_SYNC_UNEMPLOYED_MODE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
413
- { no: 6, name: "unemployed_role_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } },
405
+ { no: 5, name: "unemployed_mode", kind: "enum", T: () => ["resources.jobs.UserInfoSyncUnemployedMode", UserInfoSyncUnemployedMode, "USER_INFO_SYNC_UNEMPLOYED_MODE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
406
+ { no: 6, name: "unemployed_role_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
414
407
  { no: 7, name: "sync_nicknames", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
415
408
  { no: 8, name: "group_mapping", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => GroupMapping }
416
409
  ]);
@@ -508,9 +501,9 @@ export const UserInfoSyncSettings = new UserInfoSyncSettings$Type();
508
501
  class GroupMapping$Type extends MessageType<GroupMapping> {
509
502
  constructor() {
510
503
  super("resources.jobs.GroupMapping", [
511
- { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } },
512
- { no: 2, name: "from_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } },
513
- { no: 3, name: "to_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
504
+ { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
505
+ { no: 2, name: "from_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
506
+ { no: 3, name: "to_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } }
514
507
  ]);
515
508
  }
516
509
  create(value?: PartialMessage<GroupMapping>): GroupMapping {
@@ -618,7 +611,7 @@ export const StatusLogSettings = new StatusLogSettings$Type();
618
611
  class JobsAbsenceSettings$Type extends MessageType<JobsAbsenceSettings> {
619
612
  constructor() {
620
613
  super("resources.jobs.JobsAbsenceSettings", [
621
- { no: 1, name: "absence_role", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } }
614
+ { no: 1, name: "absence_role", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } }
622
615
  ]);
623
616
  }
624
617
  create(value?: PartialMessage<JobsAbsenceSettings>): JobsAbsenceSettings {
@@ -665,7 +658,7 @@ export const JobsAbsenceSettings = new JobsAbsenceSettings$Type();
665
658
  class GroupSyncSettings$Type extends MessageType<GroupSyncSettings> {
666
659
  constructor() {
667
660
  super("resources.jobs.GroupSyncSettings", [
668
- { no: 1, name: "ignored_role_ids", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { maxItems: "25", items: { string: { maxLen: "24" } } } } } }
661
+ { no: 1, name: "ignored_role_ids", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "25", items: { string: { maxLen: "24" } } } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
669
662
  ]);
670
663
  }
671
664
  create(value?: PartialMessage<GroupSyncSettings>): GroupSyncSettings {
@@ -712,9 +705,9 @@ export const GroupSyncSettings = new GroupSyncSettings$Type();
712
705
  class JobSettings$Type extends MessageType<JobSettings> {
713
706
  constructor() {
714
707
  super("resources.jobs.JobSettings", [
715
- { no: 1, name: "absence_past_days", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { lte: 31, gte: 0 } } } },
716
- { no: 2, name: "absence_future_days", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { lte: 186, gte: 3 } } } }
717
- ]);
708
+ { no: 1, name: "absence_past_days", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { lte: 31, gte: 0 } } } },
709
+ { no: 2, name: "absence_future_days", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { lte: 186, gte: 3 } } } }
710
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
718
711
  }
719
712
  create(value?: PartialMessage<JobSettings>): JobSettings {
720
713
  const message = globalThis.Object.create((this.messagePrototype!));