1- import { PayloadDto } from "./model/PayloadDto" ;
2- import { Utils } from "./QueueITHelpers" ;
3- import { TokenSerializationException } from "./Token" ;
4- import { Base64 } from "./helpers/Base64" ;
5- import { ModeOfOperationCBC } from "./helpers/Aes" ;
1+ import { PayloadDto } from "./model/PayloadDto" ;
2+ import { Utils } from "./QueueITHelpers" ;
3+ import { TokenSerializationException } from "./Token" ;
4+ import { Base64 } from "./helpers/Base64" ;
5+ import { ModeOfOperationCBC } from "./helpers/Aes" ;
6+ import { TokenOrigin } from "./model/TokenOrigin" ;
67
78export class Payload {
89 public static Enqueue ( ) : EnqueueTokenPayloadGenerator {
@@ -33,6 +34,12 @@ export class EnqueueTokenPayloadGenerator {
3334 return this ;
3435 }
3536
37+ public WithOrigin ( origin : TokenOrigin ) : EnqueueTokenPayloadGenerator {
38+ this . _payload = EnqueueTokenPayload . create ( this . _payload , null ) ;
39+ this . _payload . AddTokenOrigin ( origin ) ;
40+ return this ;
41+ }
42+
3643 public Generate ( ) : IEnqueueTokenPayload {
3744 return this . _payload ;
3845 }
@@ -42,6 +49,7 @@ export interface IEnqueueTokenPayload {
4249 readonly Key : string
4350 readonly RelativeQuality ?: number
4451 readonly CustomData : Object
52+ readonly TokenOrigin : TokenOrigin
4553
4654 EncryptAndEncode ( secretKey : string , tokenIdentifier : string ) : string
4755
@@ -52,6 +60,7 @@ export class EnqueueTokenPayload implements IEnqueueTokenPayload {
5260 private _customData : Object ;
5361 private _key : string ;
5462 private _relativeQuality : number
63+ private _origin : TokenOrigin
5564
5665 public get Key ( ) : string {
5766 return this . _key ;
@@ -73,11 +82,16 @@ export class EnqueueTokenPayload implements IEnqueueTokenPayload {
7382 this . _relativeQuality = value ;
7483 }
7584
85+ public get TokenOrigin ( ) : TokenOrigin {
86+ return this . _origin ;
87+ }
88+
7689 constructor ( ) {
7790 this . _customData = { } ;
91+ this . _origin = TokenOrigin . Connector ;
7892 }
7993
80- static create ( payload ?: EnqueueTokenPayload , key ?: string , relativeQuality ?: number , customData ?: object ) : EnqueueTokenPayload {
94+ static create ( payload ?: EnqueueTokenPayload , key ?: string , relativeQuality ?: number , customData ?: object , origin ?: TokenOrigin ) : EnqueueTokenPayload {
8195 const newPayload = new EnqueueTokenPayload ( ) ;
8296 newPayload . Key = key ;
8397 if ( payload ) {
@@ -87,13 +101,19 @@ export class EnqueueTokenPayload implements IEnqueueTokenPayload {
87101 newPayload . Key = payload . Key ;
88102 }
89103 }
104+
90105 if ( relativeQuality != null ) {
91106 newPayload . RelativeQuality = relativeQuality
92107 }
108+
93109 if ( customData ) {
94110 newPayload . _customData = customData ;
95111 }
96112
113+ if ( origin ) {
114+ newPayload . _origin = origin ;
115+ }
116+
97117 return newPayload ;
98118 }
99119
@@ -105,18 +125,24 @@ export class EnqueueTokenPayload implements IEnqueueTokenPayload {
105125 return this ;
106126 }
107127
128+ public AddTokenOrigin ( origin : TokenOrigin ) : EnqueueTokenPayload {
129+ this . _origin = origin ?? TokenOrigin . Connector ;
130+ return this ;
131+ }
132+
108133 public Serialize ( ) : Uint8Array {
109134 const dto = new PayloadDto ( ) ;
110135 dto . Key = this . Key ;
111136 dto . RelativeQuality = this . RelativeQuality ;
112137 dto . CustomData = this . CustomData ;
138+ dto . Origin = this . TokenOrigin ;
113139
114140 return dto . Serialize ( ) ;
115141 }
116142
117143 static Deserialize ( input : string , secretKey : string , tokenIdentifier : string ) : EnqueueTokenPayload {
118144 const dto = PayloadDto . DeserializePayload ( input , secretKey , tokenIdentifier ) ;
119- return EnqueueTokenPayload . create ( null , dto . Key , dto . RelativeQuality , dto . CustomData )
145+ return EnqueueTokenPayload . create ( null , dto . Key , dto . RelativeQuality , dto . CustomData , dto . Origin ) ;
120146 }
121147
122148 EncryptAndEncode ( secretKey : string , tokenIdentifier : string ) : string {
0 commit comments