@pagopa/interop-outbound-models 1.6.4 → 1.6.5

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## 1.6.5
6
+
7
+ ### Added
8
+
9
+ - Added `PurposeVersionStamps`
10
+
5
11
  ## 1.6.4
6
12
 
7
13
  ### Added
@@ -97,6 +97,32 @@ export interface PurposeVersionV2 {
97
97
  * @generated from protobuf field: optional string rejectionReason = 8;
98
98
  */
99
99
  rejectionReason?: string;
100
+ /**
101
+ * @generated from protobuf field: optional purpose.v2.PurposeVersionStampsV2 stamps = 9;
102
+ */
103
+ stamps?: PurposeVersionStampsV2;
104
+ }
105
+ /**
106
+ * @generated from protobuf message purpose.v2.PurposeVersionStampsV2
107
+ */
108
+ export interface PurposeVersionStampsV2 {
109
+ /**
110
+ * @generated from protobuf field: purpose.v2.PurposeVersionStampV2 creation = 1;
111
+ */
112
+ creation?: PurposeVersionStampV2;
113
+ }
114
+ /**
115
+ * @generated from protobuf message purpose.v2.PurposeVersionStampV2
116
+ */
117
+ export interface PurposeVersionStampV2 {
118
+ /**
119
+ * @generated from protobuf field: string who = 1;
120
+ */
121
+ who: string;
122
+ /**
123
+ * @generated from protobuf field: int64 when = 2;
124
+ */
125
+ when: bigint;
100
126
  }
101
127
  /**
102
128
  * @generated from protobuf enum purpose.v2.PurposeStateV2
@@ -147,5 +173,25 @@ declare class PurposeVersionV2$Type extends MessageType<PurposeVersionV2> {
147
173
  * @generated MessageType for protobuf message purpose.v2.PurposeVersionV2
148
174
  */
149
175
  export declare const PurposeVersionV2: PurposeVersionV2$Type;
176
+ declare class PurposeVersionStampsV2$Type extends MessageType<PurposeVersionStampsV2> {
177
+ constructor();
178
+ create(value?: PartialMessage<PurposeVersionStampsV2>): PurposeVersionStampsV2;
179
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PurposeVersionStampsV2): PurposeVersionStampsV2;
180
+ internalBinaryWrite(message: PurposeVersionStampsV2, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
181
+ }
182
+ /**
183
+ * @generated MessageType for protobuf message purpose.v2.PurposeVersionStampsV2
184
+ */
185
+ export declare const PurposeVersionStampsV2: PurposeVersionStampsV2$Type;
186
+ declare class PurposeVersionStampV2$Type extends MessageType<PurposeVersionStampV2> {
187
+ constructor();
188
+ create(value?: PartialMessage<PurposeVersionStampV2>): PurposeVersionStampV2;
189
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PurposeVersionStampV2): PurposeVersionStampV2;
190
+ internalBinaryWrite(message: PurposeVersionStampV2, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
191
+ }
192
+ /**
193
+ * @generated MessageType for protobuf message purpose.v2.PurposeVersionStampV2
194
+ */
195
+ export declare const PurposeVersionStampV2: PurposeVersionStampV2$Type;
150
196
  export {};
151
197
  //# sourceMappingURL=purpose.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"purpose.d.ts","sourceRoot":"","sources":["../../../../src/gen/v2/purpose/purpose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purpose.d.ts","sourceRoot":"","sources":["../../../../src/gen/v2/purpose/purpose.ts"],"names":[],"mappings":"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"}
@@ -181,7 +181,8 @@ class PurposeVersionV2$Type extends MessageType {
181
181
  { no: 5, name: "updatedAt", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
182
182
  { no: 6, name: "firstActivationAt", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
183
183
  { no: 7, name: "suspendedAt", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
184
- { no: 8, name: "rejectionReason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
184
+ { no: 8, name: "rejectionReason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
185
+ { no: 9, name: "stamps", kind: "message", T: () => PurposeVersionStampsV2 }
185
186
  ]);
186
187
  }
187
188
  create(value) {
@@ -223,6 +224,9 @@ class PurposeVersionV2$Type extends MessageType {
223
224
  case /* optional string rejectionReason */ 8:
224
225
  message.rejectionReason = reader.string();
225
226
  break;
227
+ case /* optional purpose.v2.PurposeVersionStampsV2 stamps */ 9:
228
+ message.stamps = PurposeVersionStampsV2.internalBinaryRead(reader, reader.uint32(), options, message.stamps);
229
+ break;
226
230
  default:
227
231
  let u = options.readUnknownField;
228
232
  if (u === "throw")
@@ -259,6 +263,9 @@ class PurposeVersionV2$Type extends MessageType {
259
263
  /* optional string rejectionReason = 8; */
260
264
  if (message.rejectionReason !== undefined)
261
265
  writer.tag(8, WireType.LengthDelimited).string(message.rejectionReason);
266
+ /* optional purpose.v2.PurposeVersionStampsV2 stamps = 9; */
267
+ if (message.stamps)
268
+ PurposeVersionStampsV2.internalBinaryWrite(message.stamps, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
262
269
  let u = options.writeUnknownFields;
263
270
  if (u !== false)
264
271
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -269,3 +276,104 @@ class PurposeVersionV2$Type extends MessageType {
269
276
  * @generated MessageType for protobuf message purpose.v2.PurposeVersionV2
270
277
  */
271
278
  export const PurposeVersionV2 = new PurposeVersionV2$Type();
279
+ // @generated message type with reflection information, may provide speed optimized methods
280
+ class PurposeVersionStampsV2$Type extends MessageType {
281
+ constructor() {
282
+ super("purpose.v2.PurposeVersionStampsV2", [
283
+ { no: 1, name: "creation", kind: "message", T: () => PurposeVersionStampV2 }
284
+ ]);
285
+ }
286
+ create(value) {
287
+ const message = globalThis.Object.create((this.messagePrototype));
288
+ if (value !== undefined)
289
+ reflectionMergePartial(this, message, value);
290
+ return message;
291
+ }
292
+ internalBinaryRead(reader, length, options, target) {
293
+ let message = target ?? this.create(), end = reader.pos + length;
294
+ while (reader.pos < end) {
295
+ let [fieldNo, wireType] = reader.tag();
296
+ switch (fieldNo) {
297
+ case /* purpose.v2.PurposeVersionStampV2 creation */ 1:
298
+ message.creation = PurposeVersionStampV2.internalBinaryRead(reader, reader.uint32(), options, message.creation);
299
+ break;
300
+ default:
301
+ let u = options.readUnknownField;
302
+ if (u === "throw")
303
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
304
+ let d = reader.skip(wireType);
305
+ if (u !== false)
306
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
307
+ }
308
+ }
309
+ return message;
310
+ }
311
+ internalBinaryWrite(message, writer, options) {
312
+ /* purpose.v2.PurposeVersionStampV2 creation = 1; */
313
+ if (message.creation)
314
+ PurposeVersionStampV2.internalBinaryWrite(message.creation, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
315
+ let u = options.writeUnknownFields;
316
+ if (u !== false)
317
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
318
+ return writer;
319
+ }
320
+ }
321
+ /**
322
+ * @generated MessageType for protobuf message purpose.v2.PurposeVersionStampsV2
323
+ */
324
+ export const PurposeVersionStampsV2 = new PurposeVersionStampsV2$Type();
325
+ // @generated message type with reflection information, may provide speed optimized methods
326
+ class PurposeVersionStampV2$Type extends MessageType {
327
+ constructor() {
328
+ super("purpose.v2.PurposeVersionStampV2", [
329
+ { no: 1, name: "who", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
330
+ { no: 2, name: "when", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }
331
+ ]);
332
+ }
333
+ create(value) {
334
+ const message = globalThis.Object.create((this.messagePrototype));
335
+ message.who = "";
336
+ message.when = 0n;
337
+ if (value !== undefined)
338
+ reflectionMergePartial(this, message, value);
339
+ return message;
340
+ }
341
+ internalBinaryRead(reader, length, options, target) {
342
+ let message = target ?? this.create(), end = reader.pos + length;
343
+ while (reader.pos < end) {
344
+ let [fieldNo, wireType] = reader.tag();
345
+ switch (fieldNo) {
346
+ case /* string who */ 1:
347
+ message.who = reader.string();
348
+ break;
349
+ case /* int64 when */ 2:
350
+ message.when = reader.int64().toBigInt();
351
+ break;
352
+ default:
353
+ let u = options.readUnknownField;
354
+ if (u === "throw")
355
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
356
+ let d = reader.skip(wireType);
357
+ if (u !== false)
358
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
359
+ }
360
+ }
361
+ return message;
362
+ }
363
+ internalBinaryWrite(message, writer, options) {
364
+ /* string who = 1; */
365
+ if (message.who !== "")
366
+ writer.tag(1, WireType.LengthDelimited).string(message.who);
367
+ /* int64 when = 2; */
368
+ if (message.when !== 0n)
369
+ writer.tag(2, WireType.Varint).int64(message.when);
370
+ let u = options.writeUnknownFields;
371
+ if (u !== false)
372
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
373
+ return writer;
374
+ }
375
+ }
376
+ /**
377
+ * @generated MessageType for protobuf message purpose.v2.PurposeVersionStampV2
378
+ */
379
+ export const PurposeVersionStampV2 = new PurposeVersionStampV2$Type();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagopa/interop-outbound-models",
3
- "version": "1.6.4",
3
+ "version": "1.6.5",
4
4
  "description": "PagoPA Interoperability outbound models",
5
5
  "main": "dist",
6
6
  "type": "module",
@@ -28,6 +28,7 @@ message PurposeVersionV2 {
28
28
  optional int64 firstActivationAt = 6;
29
29
  optional int64 suspendedAt = 7;
30
30
  optional string rejectionReason = 8;
31
+ optional PurposeVersionStampsV2 stamps = 9;
31
32
  }
32
33
 
33
34
  enum PurposeStateV2 {
@@ -38,3 +39,12 @@ enum PurposeStateV2 {
38
39
  ARCHIVED = 4;
39
40
  REJECTED = 5;
40
41
  }
42
+
43
+ message PurposeVersionStampsV2 {
44
+ PurposeVersionStampV2 creation = 1;
45
+ }
46
+
47
+ message PurposeVersionStampV2 {
48
+ string who = 1;
49
+ int64 when = 2;
50
+ }