1.0.4 • Published 7 years ago
cursemeta v1.0.4
CurseMeta
import {CurseClient} from 'cursemeta'
let client = new CurseClient();
client.game(); // GameClient
client.addons(); // AddonClient
client.categories(); // CategoryClient
Functions
CurseClient
CurseClient#search: Addon[]
Required
- gameId: number
- sectionId: number
- categoryId: number
Optional
- gameVersion: string
- index: number (Amount of results to skip)
- pageSize: number (entries per page)
- searchFilter: string
- sortDescending: boolean
CurseClient#searchPage: Addon[]
Required
- gameId: number
- sectionId: number
- categoryId: number
Optional
- gameVersion: string
- page: number
- pageSize: number (entries per page)
- searchFilter: string
- sortDescending: boolean
CategoryClient
CategoryClient#getCategories: Category[]
Optional
- slug: string
CategoryClient#getCategory: Category
Required
- id: number
CategoryClient#getCategoryBySection: Category
Required
- section: number
GameClient
GameClient#getGame: Game
Required
- gameId: number
AddonClient
AddonClient#getAddon: Addon
Required
- id: number
AddonClient#getAddons: Addon[]
Required
- ids: number[]
AddonClient#getAddonDescription: string
Required
- id: number
Optional
- markdown: boolean (Convert the result to markdown)
- fixlinks: boolean (Fix the outgoing links)
AddonClient#getAddonFile: File
Required
- id: number
- file: number
AddonClient#getAddonFiles: File[]
Required
- id: number
Models
Game
Game = {
id: number,
name: string,
slug: string,
dateModified: Date,
gameFiles: [{
id: number,
gameId: number,
isRequired: boolean,
fileName: string,
fileType: number,
platformType: number
}],
gameDetectionHints: [{
id: number,
hintType: number,
hintPath: string,
hintKey: string,
hintOptions: number
}],
fileParsingRules: [any],
categorySections: [{
Id: number,
gameId: number,
name: string,
packageType: PackageType,
path: string,
initialInclusionPattern: RegExp | null,
extraIncludePattern: RegExp | null
}],
maxFreeStorage: number,
maxPremiumStorage: number,
maxFileSize: number,
AddonSettingsFolderFilter: null | any,
AddonSettingsStartingFolder: null | any,
AddonSettingsFileFilter: null | any,
AddonSettingsFileRemovalFilter: null | any,
suportsAddons: boolean,
supportedClientConfiguration: number,
suportsNotifications: boolean,
profilerAddonId: number,
twitchGameId: number
}
Addon
Addon = {
id: number,
name: string,
authors: [{
name: string,
url: string
}],
attachments: [{
id: number,
projectID: number,
description: string,
isDefault: boolean,
thumbnailUrl: string,
title: string,
url: string
}],
websiteUrl: string,
gameId: number,
summary: string,
defaultFileId: number,
commentCount: number,
downloadCount: number,
rating: number,
installCount: number,
latestFiles: [File],
categories: [{
id: number,
name: string,
url: string
}],
primaryAuthorName: string,
externalUrl: string | null,
status: AddonStatus,
stage: AddonStage,
donationUrl: string | null,
primaryCategoryName: string,
primaryCategoryAvatarUrl: string,
likes: number,
categorySection: {
Id: number,
gameId: number,
name: string,
packageType: PackageType,
path: string,
initialInclusionPattern: RegExp,
extraIncludePattern: RegExp
},
packageType: PackageType,
avatarUrl: string | null,
slug: string,
clientUrl: string,
gameVersionLatestFiles: [File],
isFeatured: number,
popularityScore: number,
gamePopularityRank: number,
fullDescription: string,
gameName: string,
portalName: string,
sectionName: string,
dateModified: Date,
dataCreated: Date,
dateReleased: Date,
isAvailable: boolean,
categoryList: string
}
Category
Category = {
id: number,
parentId: string | null,
name: string,
slug: string,
avatarUrl: string,
dateModified: Date,
gameIds: [number]
}
File
File = {
id: number,
fileName: string,
fileNameOnDisk: string,
fileDate: Date,
releaseType: ReleaseType,
fileStatus: FileStatus,
downloadUrl: string,
isAlternate: boolean,
alternateFieldId: number,
dependencies: [{
addonId: number,
type: DependencyType
}],
isAvailable: boolean,
modules: [{
folderName: string,
fimgerprint: number //Not a typo
}],
packageFingerprint: number,
gameVersion: [string]
}