openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
122 lines (121 loc) • 3.9 kB
TypeScript
import type { Identifier, ISODateTime, ObjectEither, ObjectPrettify, UnionPrettify } from "typeforge";
export type AssetResellerData = ObjectPrettify<{
userAssetId: Identifier;
seller: {
id: Identifier;
type: "User" | "Group";
name: string;
};
price: number;
serialNumber: number;
}>;
export type AssetResaleData = {
assetStock: number | null;
sales: number;
numberRemaining: number | null;
recentAveragePrice: number;
originalPrice: number | null;
priceDataPoints: {
value: number;
date: ISODateTime;
}[];
volumeDataPoints: {
value: number;
date: ISODateTime;
}[];
};
export type RawAssetResellersData = {
previousPageCursor: string | null;
nextPageCursor: string | null;
data: AssetResellerData[];
};
export type AuthedUserDevExCashOutInfoData = {
hasCurrencyOperationError: boolean;
currencyOperationErrorMessage: string;
showOnlyExchangeRates: boolean;
meetsMembershipRequirements: boolean;
emailIsVerified: boolean;
isImbursementBlacklistUser: boolean;
canProceedToCashout: boolean;
showProgressBar: boolean;
percentRobux: number;
minRobuxToCashOut: number;
maxRobuxCanCashOut: number;
lastImbursementStatus: string;
lastImbursementSubmissionDate: ISODateTime | null;
conversionPercent: number;
};
export type GroupRevenueSummaryData = {
recurringRobuxStipend: number;
itemSaleRobux: number;
purchasedRobux: number;
tradeSystemRobux: number;
pendingRobux: number;
groupPayoutRobux: number;
individualToGroupRobux: number;
premiumPayouts: number;
groupPremiumPayouts: number;
adjustmentRobux: number;
immersiveAdPayouts: number;
subscriptionPayouts: number;
subscriptionClawbacks: number;
isShowImmersiveAdPayoutSummaryOnZeroEnabled: false;
commissionRobux: number;
publishingAdvanceRebates: number;
};
export type RawUserGroupPayoutEligibilityData<UserId extends Identifier> = {
usersGroupPayoutEligibility: {
[Key in UserId]: 'Undefined' | 'Eligible' | 'NotInGroup' | 'PayoutRestricted' | undefined;
};
};
export type PrettifiedUserGroupPayoutEligibilityData<UserId extends Identifier> = {
[Key in UserId]: 'Undefined' | 'Eligible' | 'NotInGroup' | 'PayoutRestricted' | undefined;
};
export type GroupTransactionType = UnionPrettify<"Sale" | "PublishingAdvanceRebates">;
type GroupSaleTransaction = ObjectPrettify<{
id: Identifier;
idHash: string;
created: ISODateTime;
isPending: boolean;
agent: {
id: Identifier;
type: "User" | "Group";
name: string;
};
details: {
id: Identifier;
name: string;
} & ObjectEither<{
type: "DeveloperProduct" | "GamePass";
place: {
placeId: Identifier;
universeId: Identifier;
name: string;
};
}, {
type: "Asset";
}> & {
currency: {
amount: number;
type: "Robux";
};
purchaseToken: string | null;
};
}>;
export type RawGroupTransactionHistoryData<Type extends GroupTransactionType> = {
previousPageCursor?: string | null;
nextPageCursor?: string | null;
data: Type extends "Sale" ? GroupSaleTransaction[] : any[];
};
export type PrettifiedGroupTransactionHistoryData<Type extends GroupTransactionType> = Type extends "Sale" ? GroupSaleTransaction[] : any[];
export type AuthedUserEconomyMetadataData = {
isMarketPlaceEnabled: boolean;
isItemsXchangeEnabled: boolean;
isGroupSalesAmountTooltipEnabled: boolean;
isTransactionsRecordsDownloadEnabled: boolean;
transactionRecordsDownloadEarliestYearDiff: number;
isCommissionRecordsDownloadEnabled: boolean;
isGroupCommissionsPageEnabled: boolean;
isPublishingAdvanceRebatePageEnabled: boolean;
};
export {};