import { GiveActionClaim, OfferClaim, PlanActionClaim } from "./claims"; import { GenericCredWrapper } from "./common"; export interface EmojiSummaryRecord { issuerDid: string; jwtId: string; text: string; parentHandleId: string; } // a summary record; the VC is found the fullClaim field export interface GiveSummaryRecord { [x: string]: | PropertyKey | undefined | GiveActionClaim | Record; type?: string; agentDid: string; amount: number; amountConfirmed: number; description: string; emojiCount: Record; // Map of emoji character to count fullClaim: GiveActionClaim; fulfillsHandleId: string; fulfillsPlanHandleId?: string; fulfillsType?: string; handleId: string; issuedAt: string; issuerDid: string; jwtId: string; providerPlanHandleId?: string; recipientDid: string; unit: string; } // a summary record; the VC is found the fullClaim field export interface OfferSummaryRecord { amount: number; amountGiven: number; amountGivenConfirmed: number; fullClaim: OfferClaim; fulfillsPlanHandleId: string; handleId: string; issuerDid: string; jwtId: string; nonAmountGivenConfirmed: number; objectDescription: string; offeredByDid: string; recipientDid: string; requirementsMet: boolean; unit: string; validThrough: string; } export interface OfferToPlanSummaryRecord extends OfferSummaryRecord { planName: string; } // a summary record; the VC is not currently part of this record export interface PlanSummaryRecord { agentDid?: string; description: string; endTime?: string; fulfillsPlanHandleId: string; handleId: string; image?: string; issuerDid: string; locLat?: number; locLon?: number; name?: string; startTime?: string; url?: string; jwtId?: string; } export interface PlanSummaryAndPreviousClaim { plan: PlanSummaryRecord; wrappedClaimBefore: GenericCredWrapper; } /** * Represents data about a project * * @deprecated * (Maybe we should use PlanSummaryRecord instead, either by adding rowId or by iterating with jwtId.) **/ export interface PlanData { /** * Description of the project **/ description: string; /** * URL referencing information about the project **/ handleId: string; image?: string; /** * The DID of the issuer */ issuerDid: string; /** * Name of the project **/ name: string; /** * The identifier of the project record -- different from jwtId * * This has been used to iterate through plan records, because jwtId ordering doesn't match * chronological create ordering, though it does match most recent edit order (in reverse order). * (It may be worthwhile to order by jwtId instead. It is an indexed field.) **/ rowId?: string; }