Moved the common interfaces in a single file
parent
2d396aaebe
commit
5caa3c28a8
|
@ -0,0 +1,229 @@
|
|||
/**
|
||||
* Data relating to an external platform (i.e. Patreon).
|
||||
*/
|
||||
export type ExternalPlatformI = {
|
||||
/**
|
||||
* Name of the platform.
|
||||
*/
|
||||
Name: string,
|
||||
/**
|
||||
* Link to the platform.
|
||||
*/
|
||||
Link: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Information about the author of a work.
|
||||
*/
|
||||
export type AuthorI = {
|
||||
/**
|
||||
* Plain name or username of the author.
|
||||
*/
|
||||
Name: string,
|
||||
/**
|
||||
*
|
||||
*/
|
||||
Platforms: ExternalPlatformI[],
|
||||
}
|
||||
|
||||
/**
|
||||
* Information on the evaluation of a work.
|
||||
*/
|
||||
export type RatingI = {
|
||||
/**
|
||||
* Average value of evaluations.
|
||||
*/
|
||||
Average: number,
|
||||
/**
|
||||
* Best rating received.
|
||||
*/
|
||||
Best: number,
|
||||
/**
|
||||
* Number of ratings made by users.
|
||||
*/
|
||||
Count: number,
|
||||
}
|
||||
|
||||
/**
|
||||
* Collection of values defined for each
|
||||
* handiwork on the F95Zone platform.
|
||||
*/
|
||||
interface BasicI {
|
||||
/**
|
||||
* Authors of the work.
|
||||
*/
|
||||
Authors: AuthorI[],
|
||||
/**
|
||||
* Category of the work between `games`, `comics`, `animations`, `assets`.
|
||||
*/
|
||||
Category: string,
|
||||
/**
|
||||
* List of changes of the work for each version.
|
||||
*/
|
||||
Changelog: string[],
|
||||
/**
|
||||
* Link to the cover image of the work.
|
||||
*/
|
||||
Cover: string,
|
||||
/**
|
||||
* Unique ID of the work on the platform.
|
||||
*/
|
||||
ID: number,
|
||||
/**
|
||||
* Last update of the opera thread.
|
||||
*/
|
||||
LastThreadUpdate: Date,
|
||||
/**
|
||||
* Plain name of the work (without tags and/or prefixes)
|
||||
*/
|
||||
Name: string,
|
||||
/**
|
||||
* Work description
|
||||
*/
|
||||
Overview: string,
|
||||
/**
|
||||
* List of prefixes associated with the work.
|
||||
*/
|
||||
Prefixes: string[],
|
||||
/**
|
||||
* Evaluation of the work by the users of the platform.
|
||||
*/
|
||||
Rating: RatingI,
|
||||
/**
|
||||
* List of tags associated with the work.
|
||||
*/
|
||||
Tags: string[],
|
||||
/**
|
||||
* Date of publication of the thread associated with the work.
|
||||
*/
|
||||
ThreadPublishingDate: Date,
|
||||
/**
|
||||
* URL to the work's official conversation on the F95Zone portal.
|
||||
*/
|
||||
Url: string,
|
||||
}
|
||||
|
||||
/**
|
||||
* Collection of values representing a game present on the F95Zone platform.
|
||||
*/
|
||||
export interface GameI extends BasicI {
|
||||
/**
|
||||
* Specify whether the work has censorship
|
||||
* measures regarding NSFW scenes
|
||||
*/
|
||||
Censored: boolean,
|
||||
/**
|
||||
* List of genres associated with the work.
|
||||
*/
|
||||
Genre: string[],
|
||||
/**
|
||||
* Author's Guide to Installation.
|
||||
*/
|
||||
Installation: string,
|
||||
/**
|
||||
* List of available languages.
|
||||
*/
|
||||
Language: string[],
|
||||
/**
|
||||
* Last time the work underwent updates.
|
||||
*/
|
||||
LastRelease: Date,
|
||||
/**
|
||||
* List of OS for which the work is compatible.
|
||||
*/
|
||||
OS: string[],
|
||||
/**
|
||||
* Version of the work.
|
||||
*/
|
||||
Version: string,
|
||||
}
|
||||
|
||||
/**
|
||||
* Collection of values representing a comic present on the F95Zone platform.
|
||||
*/
|
||||
export interface ComicI extends BasicI {
|
||||
/**
|
||||
* List of genres associated with the work.
|
||||
*/
|
||||
Genre: string[],
|
||||
/**
|
||||
* Number of pages or elements that make up the work.
|
||||
*/
|
||||
Pages: string,
|
||||
/**
|
||||
* List of resolutions available for the work.
|
||||
*/
|
||||
Resolution: string[],
|
||||
}
|
||||
|
||||
/**
|
||||
* Collection of values representing an animation present on the F95Zone platform.
|
||||
*/
|
||||
export interface AnimationI extends BasicI {
|
||||
/**
|
||||
* Specify whether the work has censorship
|
||||
* measures regarding NSFW scenes
|
||||
*/
|
||||
Censored: boolean,
|
||||
/**
|
||||
* List of genres associated with the work.
|
||||
*/
|
||||
Genre: string[],
|
||||
/**
|
||||
* Author's Guide to Installation.
|
||||
*/
|
||||
Installation: string,
|
||||
/**
|
||||
* List of available languages.
|
||||
*/
|
||||
Language: string[],
|
||||
/**
|
||||
* Length of the animation.
|
||||
*/
|
||||
Lenght: string,
|
||||
/**
|
||||
* Number of pages or elements that make up the work.
|
||||
*/
|
||||
Pages: string,
|
||||
/**
|
||||
* List of resolutions available for the work.
|
||||
*/
|
||||
Resolution: string[],
|
||||
}
|
||||
|
||||
/**
|
||||
* Collection of values representing an asset present on the F95Zone platform.
|
||||
*/
|
||||
export interface AssetI extends BasicI {
|
||||
/**
|
||||
* External URL of the asset.
|
||||
*/
|
||||
AssetLink: string,
|
||||
/**
|
||||
* List of URLs of assets associated with the work
|
||||
* (for example same collection).
|
||||
*/
|
||||
AssociatedAssets: string[],
|
||||
/**
|
||||
* Software compatible with the work.
|
||||
*/
|
||||
CompatibleSoftware: string,
|
||||
/**
|
||||
* List of assets url included in the work or used to develop it.
|
||||
*/
|
||||
IncludedAssets: string[],
|
||||
/**
|
||||
* List of official links of the work, external to the platform.
|
||||
*/
|
||||
OfficialLinks: string[],
|
||||
/**
|
||||
* Unique SKU value of the work.
|
||||
*/
|
||||
SKU: string,
|
||||
}
|
||||
|
||||
/**
|
||||
* Collection of values extrapolated from the
|
||||
* F95 platform representing a particular work.
|
||||
*/
|
||||
export interface HandiworkI extends GameI, ComicI, AnimationI, AssetI {}
|
Loading…
Reference in New Issue