yc-types
Version:
TypeScript types and interfaces for YellowCard protobuf definitions
359 lines (358 loc) • 13.3 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
export declare const protobufPackage = "pb";
export interface UsersAnalytics {
totalUsers: number;
activeUsers: number;
verifiedUsers: number;
usersLast24h: number;
usersLast7d: number;
usersLast30d: number;
activeUsersLast24h: number;
activeUsersLast7d: number;
updatedUsersLast24h: number;
}
export interface CitizensAnalytics {
totalCitizens: number;
vaccinatedCitizens: number;
citizensWithCards: number;
citizensLast24h: number;
citizensLast7d: number;
citizensLast30d: number;
updatedCitizensLast24h: number;
}
export interface UserSessionsAnalytics {
totalSessions: number;
blockedSessions: number;
revokedSessions: number;
expiredSessions: number;
sessionsLast24h: number;
sessionsLast7d: number;
sessionsLast30d: number;
}
export interface IssuersAnalytics {
totalIssuers: number;
issuersLast24h: number;
issuersLast7d: number;
issuersLast30d: number;
updatedIssuersLast24h: number;
}
export interface IssuerKeysAnalytics {
totalKeys: number;
activeKeys: number;
expiredKeys: number;
revokedKeys: number;
keysLast24h: number;
keysLast7d: number;
keysLast30d: number;
}
export interface StakeholdersAnalytics {
totalStakeholders: number;
uniqueStakeholderTypes: number;
stakeholdersLast24h: number;
stakeholdersLast7d: number;
stakeholdersLast30d: number;
updatedStakeholdersLast24h: number;
}
export interface ChainCardsAnalytics {
totalCards: number;
activeCards: number;
revokedCards: number;
cardsIssuedLast24h: number;
cardsIssuedLast7d: number;
cardsIssuedLast30d: number;
scannedCardsLast24h: number;
uniqueIssuers: number;
uniqueCitizens: number;
}
export interface VaccinesAnalytics {
totalVaccines: number;
activeVaccines: number;
singleDoseVaccines: number;
multiDoseVaccines: number;
vaccinesLast24h: number;
vaccinesLast7d: number;
vaccinesLast30d: number;
updatedVaccinesLast24h: number;
}
export interface DiseasesAnalytics {
totalDiseases: number;
activeDiseases: number;
diseasesLast24h: number;
diseasesLast7d: number;
diseasesLast30d: number;
updatedDiseasesLast24h: number;
}
export interface VaccineDiseasesAnalytics {
totalVaccineDiseaseLinks: number;
uniqueVaccines: number;
uniqueDiseases: number;
}
export interface VaccinationBatchesAnalytics {
totalBatches: number;
expiredBatches: number;
totalQuantity: number;
avgBatchQuantity: number;
batchesLast24h: number;
batchesLast7d: number;
batchesLast30d: number;
updatedBatchesLast24h: number;
}
export interface CitizenVaccinationsAnalytics {
totalVaccinations: number;
activeVaccinations: number;
uniqueCitizensVaccinated: number;
uniqueVaccinesUsed: number;
vaccinationsLast24h: number;
vaccinationsLast7d: number;
vaccinationsLast30d: number;
avgDoseNumber: number;
firstDoseCount: number;
subsequentDoseCount: number;
}
export interface PaymentsAnalytics {
totalPayments: number;
successfulPayments: number;
pendingPayments: number;
failedPayments: number;
totalRevenue: number;
avgPaymentAmount: number;
paymentsLast24h: number;
paymentsLast7d: number;
paymentsLast30d: number;
uniqueCustomers: number;
successfulPaymentsWithLocation: number;
revenueFromLocatedPayments: number;
avgPaymentAmountLocated: number;
uniquePaymentLocations: number;
apiLicensingPayments: number;
apiLicensingRevenue: number;
avgApiLicensingAmount: number;
}
export interface PaymentLocationChartData {
paymentLocations: {
[key: string]: string;
};
}
export interface PaymentLocationChartData_PaymentLocationsEntry {
key: string;
value: string;
}
export interface DashboardRevenue {
totalRevenue: number;
revenueLast24h: number;
revenueLast7d: number;
revenueLast30d: number;
transactionsLast24h: number;
transactionsLast7d: number;
transactionsLast30d: number;
avgTransactionAmount: number;
uniqueCustomers: number;
transactionsByLocation: number;
revenueByLocation: number;
topRegionByRevenue: string;
topRegionByTransactions: string;
weeklyRevenueGrowthPercent: number;
monthlyRevenueGrowthPercent: number;
apiLicensingRevenue: number;
apiLicensingRevenueLast24h: number;
apiLicensingRevenueLast7d: number;
apiLicensingRevenueLast30d: number;
apiLicensingTransactions: number;
}
export interface DashboardCardsIssued {
totalCardsIssued: number;
activeCards: number;
cardsIssuedLast24h: number;
cardsIssuedLast7d: number;
cardsIssuedLast30d: number;
uniqueCitizensWithCards: number;
uniqueIssuers: number;
weeklyCardsGrowthPercent: number;
monthlyCardsGrowthPercent: number;
}
export interface DashboardActiveUsers {
totalUsers: number;
activeUsers: number;
verifiedUsers: number;
usersActiveLast24h: number;
usersActiveLast7d: number;
usersActiveLast30d: number;
newUsersLast24h: number;
newUsersLast7d: number;
newUsersLast30d: number;
weeklyActiveUsersGrowthPercent: number;
monthlyActiveUsersGrowthPercent: number;
}
export interface DashboardFraudAlerts {
highSeverityAuditEntries: number;
criticalAuditEntries: number;
failedPayments: number;
blockedSessions: number;
totalFraudIndicators: number;
fraudAlertsLast24h: number;
fraudAlertsLast7d: number;
fraudAlertsLast30d: number;
weeklyFraudGrowthPercent: number;
monthlyFraudGrowthPercent: number;
}
export interface DashboardLocationBreakdown {
location: string;
totalPayments: number;
totalPaymentAmount: number;
paymentsLast24h: number;
paymentsLast7d: number;
paymentsLast30d: number;
}
export interface DashboardVaccinationLocationBreakdown {
location: string;
totalVaccinations: number;
vaccinationsLast24h: number;
vaccinationsLast7d: number;
vaccinationsLast30d: number;
}
export interface DashboardVaccineIssuerBreakdown {
issuerType: string;
totalVaccinations: number;
}
export interface DashboardVaccineTypeBreakdown {
vaccineName: string;
totalVaccinations: number;
}
export interface DashboardIssuerVaccineBreakdown {
issuerName: string;
totalVaccinations: number;
}
export interface DashboardScanStakeholderBreakdown {
stakeholderName: string;
totalScans: number;
scansLast24h: number;
scansLast7d: number;
scansLast30d: number;
}
export interface DashboardScanStakeholderTypeBreakdown {
stakeholderType: string;
totalScans: number;
scansLast24h: number;
scansLast7d: number;
scansLast30d: number;
}
export interface DashboardScanLocationBreakdown {
location: string;
totalScans: number;
scansLast24h: number;
scansLast7d: number;
scansLast30d: number;
}
export interface AnalyticsData {
users?: UsersAnalytics | undefined;
citizens?: CitizensAnalytics | undefined;
sessions?: UserSessionsAnalytics | undefined;
issuers?: IssuersAnalytics | undefined;
issuerKeys?: IssuerKeysAnalytics | undefined;
stakeholders?: StakeholdersAnalytics | undefined;
cards?: ChainCardsAnalytics | undefined;
vaccines?: VaccinesAnalytics | undefined;
diseases?: DiseasesAnalytics | undefined;
vaccineDiseases?: VaccineDiseasesAnalytics | undefined;
batches?: VaccinationBatchesAnalytics | undefined;
vaccinations?: CitizenVaccinationsAnalytics | undefined;
payments?: PaymentsAnalytics | undefined;
paymentLocationChart?: PaymentLocationChartData | undefined;
}
export interface DashboardAnalytics {
revenue?: DashboardRevenue | undefined;
cardsIssued?: DashboardCardsIssued | undefined;
activeUsers?: DashboardActiveUsers | undefined;
fraudAlerts?: DashboardFraudAlerts | undefined;
}
export interface GetAnalyticsRequest {
/** e.g., ["users", "cards", "revenue"] */
analyticsTypes: string[];
/** e.g., ["revenue", "cards_issued"] */
dashboardTypes: string[];
/** "24h", "7d", "30d", "all" */
timeRange: string;
/** Optional: filter by organization */
organizationId: string;
}
export interface GetAnalyticsResponse {
users: UsersAnalytics | undefined;
citizens: CitizensAnalytics | undefined;
sessions: UserSessionsAnalytics | undefined;
issuers: IssuersAnalytics | undefined;
issuerKeys: IssuerKeysAnalytics | undefined;
stakeholders: StakeholdersAnalytics | undefined;
cards: ChainCardsAnalytics | undefined;
vaccines: VaccinesAnalytics | undefined;
diseases: DiseasesAnalytics | undefined;
vaccineDiseases: VaccineDiseasesAnalytics | undefined;
batches: VaccinationBatchesAnalytics | undefined;
vaccinations: CitizenVaccinationsAnalytics | undefined;
payments: PaymentsAnalytics | undefined;
paymentLocationChart: PaymentLocationChartData | undefined;
revenue: DashboardRevenue | undefined;
cardsIssued: DashboardCardsIssued | undefined;
activeUsers: DashboardActiveUsers | undefined;
fraudAlerts: DashboardFraudAlerts | undefined;
status: number;
issuerCount: number;
message: string;
locationByPayment: DashboardLocationBreakdown[];
locationByVaccinations: DashboardVaccinationLocationBreakdown[];
vaccinesByIssuerType: DashboardVaccineIssuerBreakdown[];
vaccineTypes: DashboardVaccineTypeBreakdown[];
vaccineByIssuer: DashboardIssuerVaccineBreakdown[];
scanByStakeholder: DashboardScanStakeholderBreakdown[];
scanByStakeholderType: DashboardScanStakeholderTypeBreakdown[];
scanByLocation: DashboardScanLocationBreakdown[];
}
export declare const UsersAnalytics: MessageFns<UsersAnalytics>;
export declare const CitizensAnalytics: MessageFns<CitizensAnalytics>;
export declare const UserSessionsAnalytics: MessageFns<UserSessionsAnalytics>;
export declare const IssuersAnalytics: MessageFns<IssuersAnalytics>;
export declare const IssuerKeysAnalytics: MessageFns<IssuerKeysAnalytics>;
export declare const StakeholdersAnalytics: MessageFns<StakeholdersAnalytics>;
export declare const ChainCardsAnalytics: MessageFns<ChainCardsAnalytics>;
export declare const VaccinesAnalytics: MessageFns<VaccinesAnalytics>;
export declare const DiseasesAnalytics: MessageFns<DiseasesAnalytics>;
export declare const VaccineDiseasesAnalytics: MessageFns<VaccineDiseasesAnalytics>;
export declare const VaccinationBatchesAnalytics: MessageFns<VaccinationBatchesAnalytics>;
export declare const CitizenVaccinationsAnalytics: MessageFns<CitizenVaccinationsAnalytics>;
export declare const PaymentsAnalytics: MessageFns<PaymentsAnalytics>;
export declare const PaymentLocationChartData: MessageFns<PaymentLocationChartData>;
export declare const PaymentLocationChartData_PaymentLocationsEntry: MessageFns<PaymentLocationChartData_PaymentLocationsEntry>;
export declare const DashboardRevenue: MessageFns<DashboardRevenue>;
export declare const DashboardCardsIssued: MessageFns<DashboardCardsIssued>;
export declare const DashboardActiveUsers: MessageFns<DashboardActiveUsers>;
export declare const DashboardFraudAlerts: MessageFns<DashboardFraudAlerts>;
export declare const DashboardLocationBreakdown: MessageFns<DashboardLocationBreakdown>;
export declare const DashboardVaccinationLocationBreakdown: MessageFns<DashboardVaccinationLocationBreakdown>;
export declare const DashboardVaccineIssuerBreakdown: MessageFns<DashboardVaccineIssuerBreakdown>;
export declare const DashboardVaccineTypeBreakdown: MessageFns<DashboardVaccineTypeBreakdown>;
export declare const DashboardIssuerVaccineBreakdown: MessageFns<DashboardIssuerVaccineBreakdown>;
export declare const DashboardScanStakeholderBreakdown: MessageFns<DashboardScanStakeholderBreakdown>;
export declare const DashboardScanStakeholderTypeBreakdown: MessageFns<DashboardScanStakeholderTypeBreakdown>;
export declare const DashboardScanLocationBreakdown: MessageFns<DashboardScanLocationBreakdown>;
export declare const AnalyticsData: MessageFns<AnalyticsData>;
export declare const DashboardAnalytics: MessageFns<DashboardAnalytics>;
export declare const GetAnalyticsRequest: MessageFns<GetAnalyticsRequest>;
export declare const GetAnalyticsResponse: MessageFns<GetAnalyticsResponse>;
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 {};