import { encoder } from 'src/utils/encoder'; import { decoder } from 'src/utils/decoder'; import { State as dState } from 'src/types/enums/proto/meta/State'; import { Vertical as dVertical } from 'src/types/enums/proto/meta/Vertical'; import { Vertical, State } from 'src/.generated/meta/v1/meta'; export type dAddDisqualifiedRequest = { state: dState | keyof typeof dState; vertical_id: dVertical | keyof typeof dVertical; }; export type eAddDisqualifiedRequest = { state: State | keyof typeof State; vertical_id: Vertical | keyof typeof Vertical; }; export type dSummaryRequestSummaryParamsVerticals = { values: dVertical[] | (keyof typeof dVertical)[]; }; export type eSummaryRequestSummaryParamsVerticals = { values: Vertical[] | (keyof typeof Vertical)[]; }; export type dSummaryRequestSummaryParamsStates = { values: dState[] | (keyof typeof dState)[]; }; export type eSummaryRequestSummaryParamsStates = { values: State[] | (keyof typeof State)[]; }; export type dSummaryResponseSummaryRow = { state: (dState | keyof typeof dState) | undefined; vertical_id: (dVertical | keyof typeof dVertical) | undefined; }; export type eSummaryResponseSummaryRow = { state: (State | keyof typeof State) | undefined; vertical_id: (Vertical | keyof typeof Vertical) | undefined; }; export type dAppendRequestDNCRequest = { state: (dState | keyof typeof dState) | undefined; vertical_id: (dVertical | keyof typeof dVertical) | undefined; }; export type eAppendRequestDNCRequest = { state: (State | keyof typeof State) | undefined; vertical_id: (Vertical | keyof typeof Vertical) | undefined; }; export function encodeAddDisqualifiedRequest< TOut extends eAddDisqualifiedRequest, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return encoder([ ['state', dState, State], ['vertical_id', dVertical, Vertical], ], obj.toJSON ? obj.toJSON() : obj); } export function decodeAddDisqualifiedRequest< TOut extends dAddDisqualifiedRequest, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return decoder([ ['state', State, dState], ['vertical_id', Vertical, dVertical], ], obj.toJSON ? obj.toJSON() : obj); } export function encodeSummaryRequestSummaryParamsVerticals< TOut extends eSummaryRequestSummaryParamsVerticals, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return encoder([ ['values', dVertical, Vertical], ], obj.toJSON ? obj.toJSON() : obj); } export function decodeSummaryRequestSummaryParamsVerticals< TOut extends dSummaryRequestSummaryParamsVerticals, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return decoder([ ['values', Vertical, dVertical], ], obj.toJSON ? obj.toJSON() : obj); } export function encodeSummaryRequestSummaryParamsStates< TOut extends eSummaryRequestSummaryParamsStates, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return encoder([ ['values', dState, State], ], obj.toJSON ? obj.toJSON() : obj); } export function decodeSummaryRequestSummaryParamsStates< TOut extends dSummaryRequestSummaryParamsStates, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return decoder([ ['values', State, dState], ], obj.toJSON ? obj.toJSON() : obj); } export function encodeSummaryResponseSummaryRow< TOut extends eSummaryResponseSummaryRow, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return encoder([ ['state', dState, State], ['vertical_id', dVertical, Vertical], ], obj.toJSON ? obj.toJSON() : obj); } export function decodeSummaryResponseSummaryRow< TOut extends dSummaryResponseSummaryRow, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return decoder([ ['state', State, dState], ['vertical_id', Vertical, dVertical], ], obj.toJSON ? obj.toJSON() : obj); } export function encodeAppendRequestDNCRequest< TOut extends eAppendRequestDNCRequest, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return encoder([ ['state', dState, State], ['vertical_id', dVertical, Vertical], ], obj.toJSON ? obj.toJSON() : obj); } export function decodeAppendRequestDNCRequest< TOut extends dAppendRequestDNCRequest, TIn extends Partial & { toJSON?: () => Partial } & unknown >( obj: TIn ): Omit & TOut { return decoder([ ['state', State, dState], ['vertical_id', Vertical, dVertical], ], obj.toJSON ? obj.toJSON() : obj); }