yc-types
Version:
TypeScript types and interfaces for YellowCard protobuf definitions
174 lines (173 loc) • 5.82 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { Metadata } from "./common";
export declare const protobufPackage = "pb";
export interface VaccinationRecord {
recordId: string;
vaccineId: string;
diseaseId: string;
date: Date | undefined;
batchNumberId: string;
validUntil: Date | undefined;
userId: string;
}
export interface YellowCard {
cardId: string;
cardNumber: string;
holderDataHash: string;
issuedDate: Date | undefined;
issuedById: string;
status: string;
vaccinations: VaccinationRecord[];
createdAt: Date | undefined;
updatedAt: Date | undefined;
}
export interface IssueCardRequest {
cardId: string;
cardNumber: string;
holderDataHash: string;
issuedById: string;
}
export interface IssueCardResponse {
success: boolean;
message: string;
cardId: string;
}
export interface GetAllCardsResponse {
status: number;
cards: YellowCard[];
meta: Metadata | undefined;
}
export interface ReadCardRequest {
cardId: string;
}
export interface ReadCardResponse {
card: YellowCard | undefined;
}
export interface AddVaccinationRequest {
cardId: string;
recordId: string;
vaccineId: string;
diseaseId: string;
vaccinationDate: string;
batchNumberId: string;
validUntil: string;
userId: string;
}
export interface AddVaccinationResponse {
success: boolean;
message: string;
}
export interface UpdateCardStatusRequest {
cardId: string;
status: string;
}
export interface UpdateCardStatusResponse {
success: boolean;
message: string;
}
export interface VerifyCardRequest {
cardId: string;
holderDataHash: string;
}
export interface VerifyCardResponse {
isValid: boolean;
message: string;
}
export interface CardExistsRequest {
cardId: string;
}
export interface CardExistsResponse {
exists: boolean;
}
export interface GetCardRequest {
cardNumber: string;
}
export interface GetCardResponse {
status: number;
message: string;
card: YellowCard | undefined;
}
export interface ListCardsRequest {
limit: number;
offset: number;
}
export interface ListCardsResponse {
status: number;
message: string;
cards: YellowCard[];
totalCount: number;
}
export interface GetVaccinationsRequest {
cardNumber: string;
}
export interface GetVaccinationsResponse {
status: number;
message: string;
vaccinations: VaccinationRecord[];
}
export interface RevokeCardRequest {
cardNumber: string;
reason: string;
}
export interface RevokeCardResponse {
status: number;
message: string;
}
export interface ListVaccinesRequest {
}
export interface ListVaccinesResponse {
status: number;
message: string;
}
export interface ListDiseasesRequest {
}
export interface ListDiseasesResponse {
status: number;
message: string;
}
export declare const VaccinationRecord: MessageFns<VaccinationRecord>;
export declare const YellowCard: MessageFns<YellowCard>;
export declare const IssueCardRequest: MessageFns<IssueCardRequest>;
export declare const IssueCardResponse: MessageFns<IssueCardResponse>;
export declare const GetAllCardsResponse: MessageFns<GetAllCardsResponse>;
export declare const ReadCardRequest: MessageFns<ReadCardRequest>;
export declare const ReadCardResponse: MessageFns<ReadCardResponse>;
export declare const AddVaccinationRequest: MessageFns<AddVaccinationRequest>;
export declare const AddVaccinationResponse: MessageFns<AddVaccinationResponse>;
export declare const UpdateCardStatusRequest: MessageFns<UpdateCardStatusRequest>;
export declare const UpdateCardStatusResponse: MessageFns<UpdateCardStatusResponse>;
export declare const VerifyCardRequest: MessageFns<VerifyCardRequest>;
export declare const VerifyCardResponse: MessageFns<VerifyCardResponse>;
export declare const CardExistsRequest: MessageFns<CardExistsRequest>;
export declare const CardExistsResponse: MessageFns<CardExistsResponse>;
export declare const GetCardRequest: MessageFns<GetCardRequest>;
export declare const GetCardResponse: MessageFns<GetCardResponse>;
export declare const ListCardsRequest: MessageFns<ListCardsRequest>;
export declare const ListCardsResponse: MessageFns<ListCardsResponse>;
export declare const GetVaccinationsRequest: MessageFns<GetVaccinationsRequest>;
export declare const GetVaccinationsResponse: MessageFns<GetVaccinationsResponse>;
export declare const RevokeCardRequest: MessageFns<RevokeCardRequest>;
export declare const RevokeCardResponse: MessageFns<RevokeCardResponse>;
export declare const ListVaccinesRequest: MessageFns<ListVaccinesRequest>;
export declare const ListVaccinesResponse: MessageFns<ListVaccinesResponse>;
export declare const ListDiseasesRequest: MessageFns<ListDiseasesRequest>;
export declare const ListDiseasesResponse: MessageFns<ListDiseasesResponse>;
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
[K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
[K in keyof P]: Exact<P[K], I[K]>;
} & {
[K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export interface MessageFns<T> {
encode(message: T, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): T;
fromJSON(object: any): T;
toJSON(message: T): unknown;
create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
}
export {};