e621 2.0.0-dev.6 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.node-version +1 -0
- package/README.md +64 -56
- package/build/package.json +3 -2
- package/build/src/index.d.ts +2 -0
- package/build/src/index.js +24 -11
- package/build/src/modules/Pools.d.ts +2 -2
- package/build/src/modules/Pools.js +4 -4
- package/build/src/modules/PostSets.d.ts +1 -1
- package/build/src/modules/PostSets.js +3 -3
- package/build/src/modules/Posts.d.ts +38 -2
- package/build/src/modules/Posts.js +85 -3
- package/build/src/modules/UserFeedback.d.ts +1 -0
- package/build/src/modules/UserFeedback.js +3 -2
- package/build/src/modules/Users.d.ts +1 -0
- package/build/src/modules/Users.js +3 -2
- package/build/src/modules/WikiPages.d.ts +99 -0
- package/build/src/modules/WikiPages.js +208 -0
- package/build/src/structures/PoolHistory.d.ts +1 -8
- package/build/src/structures/PoolHistory.js +2 -8
- package/build/src/structures/Post.d.ts +6 -0
- package/build/src/structures/Post.js +17 -1
- package/build/src/structures/PostHistory.d.ts +52 -0
- package/build/src/structures/PostHistory.js +93 -0
- package/build/src/structures/WikiPage.d.ts +16 -0
- package/build/src/structures/WikiPage.js +26 -0
- package/build/src/structures/WikiPageHistory.d.ts +37 -0
- package/build/src/structures/WikiPageHistory.js +49 -0
- package/build/src/types/index.d.ts +21 -28
- package/build/src/types/pools.d.ts +0 -0
- package/build/src/types/post_sets.d.ts +0 -0
- package/build/src/types/posts.d.ts +46 -1
- package/build/src/types/user_feedback.d.ts +0 -0
- package/build/src/types/users.d.ts +0 -0
- package/build/src/types/wiki_pages.d.ts +65 -0
- package/build/src/util/RequestHandler.d.ts +3 -0
- package/build/src/util/RequestHandler.js +27 -10
- package/package.json +3 -2
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type Post from "./Post";
|
|
2
1
|
import type User from "./User";
|
|
3
2
|
import type Pool from "./Pool";
|
|
4
3
|
import type { PoolCategory, PoolHistoryProperties } from "../types";
|
|
@@ -21,12 +20,6 @@ export default class PoolHistory implements PoolHistoryProperties {
|
|
|
21
20
|
category: PoolCategory;
|
|
22
21
|
version: number;
|
|
23
22
|
constructor(main: E621, info: PoolHistoryProperties);
|
|
24
|
-
/**
|
|
25
|
-
* Get the post object for this history
|
|
26
|
-
*
|
|
27
|
-
* @returns {Promise<Post | null>}
|
|
28
|
-
*/
|
|
29
|
-
getPost(): Promise<Post | null>;
|
|
30
23
|
/**
|
|
31
24
|
* Get the updater for this history
|
|
32
25
|
*
|
|
@@ -40,7 +33,7 @@ export default class PoolHistory implements PoolHistoryProperties {
|
|
|
40
33
|
*/
|
|
41
34
|
getPool(): Promise<Pool | null>;
|
|
42
35
|
/**
|
|
43
|
-
* Revert the
|
|
36
|
+
* Revert the pool to this version
|
|
44
37
|
*
|
|
45
38
|
* * Requires Authentication
|
|
46
39
|
*
|
|
@@ -26,12 +26,6 @@ class PoolHistory {
|
|
|
26
26
|
writable: false
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Get the post object for this history
|
|
31
|
-
*
|
|
32
|
-
* @returns {Promise<Post | null>}
|
|
33
|
-
*/
|
|
34
|
-
async getPost() { return this.main.posts.get(this.id); }
|
|
35
29
|
/**
|
|
36
30
|
* Get the updater for this history
|
|
37
31
|
*
|
|
@@ -45,7 +39,7 @@ class PoolHistory {
|
|
|
45
39
|
*/
|
|
46
40
|
async getPool() { return this.main.pools.get(this.pool_id); }
|
|
47
41
|
/**
|
|
48
|
-
* Revert the
|
|
42
|
+
* Revert the pool to this version
|
|
49
43
|
*
|
|
50
44
|
* * Requires Authentication
|
|
51
45
|
*
|
|
@@ -56,4 +50,4 @@ class PoolHistory {
|
|
|
56
50
|
}
|
|
57
51
|
}
|
|
58
52
|
exports.default = PoolHistory;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9vbEhpc3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RydWN0dXJlcy9Qb29sSGlzdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLE1BQXFCLFdBQVc7SUFDdkIsSUFBSSxDQUFPO0lBQ25CLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBUztJQUNoQixRQUFRLENBQWdCO0lBQ3hCLGNBQWMsQ0FBZ0I7SUFDOUIsZ0JBQWdCLENBQWdCO0lBQ2hDLFVBQVUsQ0FBUztJQUNuQixXQUFXLENBQVM7SUFDcEIsbUJBQW1CLENBQVU7SUFDN0IsSUFBSSxDQUFTO0lBQ2IsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBUztJQUNuQixTQUFTLENBQVU7SUFDbkIsVUFBVSxDQUFVO0lBQ3BCLFFBQVEsQ0FBZTtJQUN2QixPQUFPLENBQVM7SUFDaEIsWUFBWSxJQUFVLEVBQUUsSUFBMkI7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ25DLEtBQUssRUFBRSxJQUFJO1lBQ1gsWUFBWSxFQUFFLEtBQUs7WUFDbkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLEtBQUs7U0FDZixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVuRTs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRzdEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Q7QUFwREQsOEJBb0RDIn0=
|
|
@@ -138,4 +138,10 @@ export default class Post implements PostProperties {
|
|
|
138
138
|
* @returns {Promise<PostVoteResult>}
|
|
139
139
|
*/
|
|
140
140
|
vote(up: boolean): Promise<PostVoteResult>;
|
|
141
|
+
/**
|
|
142
|
+
* Remove tags from this post with implication checks (this WILL fire a request for EVERY SINGLE TAG specified.)
|
|
143
|
+
*
|
|
144
|
+
* @param tags
|
|
145
|
+
*/
|
|
146
|
+
removeTagsWithImplicationChecks(tags: Array<string> | string): Promise<void>;
|
|
141
147
|
}
|
|
@@ -33,6 +33,13 @@ class Post {
|
|
|
33
33
|
enumerable: false,
|
|
34
34
|
writable: false
|
|
35
35
|
});
|
|
36
|
+
// blacklisted or deleted
|
|
37
|
+
if (this.file.url === null)
|
|
38
|
+
this.file.url = this.flags.deleted ? this.main.request.deletedImageURL : this.main.request.constructURL(this.file.md5, "original", this.file.ext);
|
|
39
|
+
if (this.preview.url === null)
|
|
40
|
+
this.preview.url = this.flags.deleted ? this.main.request.deletedImageURL : this.main.request.constructURL(this.file.md5, "preview", this.file.ext);
|
|
41
|
+
if (this.sample.has && this.sample.url === null)
|
|
42
|
+
this.sample.url = this.flags.deleted ? this.main.request.deletedImageURL : this.main.request.constructURL(this.file.md5, "sample", this.file.ext);
|
|
36
43
|
}
|
|
37
44
|
/**
|
|
38
45
|
* Get the user object for creator of this post
|
|
@@ -134,6 +141,15 @@ class Post {
|
|
|
134
141
|
this.main.request.authCheck("Post#vote");
|
|
135
142
|
return this.main.posts.vote(this.id, up);
|
|
136
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Remove tags from this post with implication checks (this WILL fire a request for EVERY SINGLE TAG specified.)
|
|
146
|
+
*
|
|
147
|
+
* @param tags
|
|
148
|
+
*/
|
|
149
|
+
async removeTagsWithImplicationChecks(tags) {
|
|
150
|
+
if (!Array.isArray(tags))
|
|
151
|
+
tags = tags.split(" ");
|
|
152
|
+
}
|
|
137
153
|
}
|
|
138
154
|
exports.default = Post;
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdHJ1Y3R1cmVzL1Bvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxNQUFxQixJQUFJO0lBQ2hCLElBQUksQ0FBTztJQUNuQixFQUFFLENBQVM7SUFDWCxVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLElBQUksQ0FPRjtJQUNGLE9BQU8sQ0FJTDtJQUNGLE1BQU0sQ0FZSjtJQUNGLEtBQUssQ0FBMEM7SUFDL0MsSUFBSSxDQUFvSDtJQUN4SCxXQUFXLENBQWdCO0lBQzNCLFVBQVUsQ0FBUztJQUNuQixLQUFLLENBQXlHO0lBQzlHLE1BQU0sQ0FBVTtJQUNoQixTQUFTLENBQVM7SUFDbEIsT0FBTyxDQUFnQjtJQUN2QixLQUFLLENBQWdCO0lBQ3JCLGFBQWEsQ0FLWDtJQUNGLFdBQVcsQ0FBZ0I7SUFDM0IsV0FBVyxDQUFTO0lBQ3BCLFdBQVcsQ0FBUztJQUNwQixhQUFhLENBQVM7SUFDdEIsWUFBWSxDQUFVO0lBQ3RCLFNBQVMsQ0FBVTtJQUNuQixRQUFRLENBQWdCO0lBQ3hCLFlBQVksSUFBVSxFQUFFLElBQW9CO1FBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNuQyxLQUFLLEVBQUUsSUFBSTtZQUNYLFlBQVksRUFBRSxLQUFLO1lBQ25CLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBRUgseUJBQXlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8s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
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type User from "./User";
|
|
2
|
+
import type Post from "./Post";
|
|
3
|
+
import type { PostHistoryProperties, Ratings } from "../types";
|
|
4
|
+
import type E621 from "..";
|
|
5
|
+
export default class PostHistory implements PostHistoryProperties {
|
|
6
|
+
private main;
|
|
7
|
+
id: number;
|
|
8
|
+
post_id: number;
|
|
9
|
+
tags: string;
|
|
10
|
+
updater_id: number;
|
|
11
|
+
updater_name: string;
|
|
12
|
+
updated_at: string;
|
|
13
|
+
rating: Ratings;
|
|
14
|
+
parent_id: number | null;
|
|
15
|
+
source: string;
|
|
16
|
+
description: string;
|
|
17
|
+
reason: string;
|
|
18
|
+
locked_tags: string | null;
|
|
19
|
+
added_tags: Array<string>;
|
|
20
|
+
removed_tags: Array<string>;
|
|
21
|
+
added_locked_tags: Array<string>;
|
|
22
|
+
removed_locked_tags: Array<string>;
|
|
23
|
+
rating_changed: boolean;
|
|
24
|
+
parent_changed: boolean;
|
|
25
|
+
source_changed: boolean;
|
|
26
|
+
description_changed: boolean;
|
|
27
|
+
version: number;
|
|
28
|
+
obsolete_added_tags: string;
|
|
29
|
+
obsolete_removed_tags: string;
|
|
30
|
+
unchanged_tags: string;
|
|
31
|
+
extra: Readonly<Record<"tags" | "lockedTags" | "addedTags" | "removedTags" | "addedLockedTags" | "removedLockedTags" | "obsoleteAddedTags" | "obsoleteRemovedTags" | "unchangedTags" | "sources" | "addedSources" | "removedSources", Array<string>> & Record<"oldRating" | "newRating", Ratings | null>>;
|
|
32
|
+
constructor(main: E621, info: PostHistoryProperties);
|
|
33
|
+
/**
|
|
34
|
+
* Get the updater for this history
|
|
35
|
+
*
|
|
36
|
+
* @returns {Promise<User | null>}
|
|
37
|
+
*/
|
|
38
|
+
getUpdater(): Promise<User | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Get the post object for this history
|
|
41
|
+
*
|
|
42
|
+
* @returns {Promise<Post | null>}
|
|
43
|
+
*/
|
|
44
|
+
getPost(): Promise<Post | null>;
|
|
45
|
+
/**
|
|
46
|
+
* Revert the post to this version
|
|
47
|
+
*
|
|
48
|
+
* * Requires Authentication
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
51
|
+
revertTo(): Promise<null>;
|
|
52
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class PostHistory {
|
|
4
|
+
main;
|
|
5
|
+
id;
|
|
6
|
+
post_id;
|
|
7
|
+
tags;
|
|
8
|
+
updater_id;
|
|
9
|
+
updater_name;
|
|
10
|
+
updated_at;
|
|
11
|
+
rating;
|
|
12
|
+
parent_id;
|
|
13
|
+
source;
|
|
14
|
+
description;
|
|
15
|
+
reason;
|
|
16
|
+
locked_tags;
|
|
17
|
+
added_tags;
|
|
18
|
+
removed_tags;
|
|
19
|
+
added_locked_tags;
|
|
20
|
+
removed_locked_tags;
|
|
21
|
+
rating_changed;
|
|
22
|
+
parent_changed;
|
|
23
|
+
source_changed;
|
|
24
|
+
description_changed;
|
|
25
|
+
version;
|
|
26
|
+
obsolete_added_tags;
|
|
27
|
+
obsolete_removed_tags;
|
|
28
|
+
unchanged_tags;
|
|
29
|
+
extra;
|
|
30
|
+
constructor(main, info) {
|
|
31
|
+
Object.assign(this, info);
|
|
32
|
+
Object.defineProperty(this, "main", {
|
|
33
|
+
value: main,
|
|
34
|
+
configurable: false,
|
|
35
|
+
enumerable: false,
|
|
36
|
+
writable: false
|
|
37
|
+
});
|
|
38
|
+
this.extra = {
|
|
39
|
+
get tags() { return info.tags.split(" "); },
|
|
40
|
+
get lockedTags() { return (info.locked_tags || "").split(" "); },
|
|
41
|
+
get addedTags() { return info.added_tags; },
|
|
42
|
+
get removedTags() { return info.removed_tags; },
|
|
43
|
+
get addedLockedTags() { return info.added_locked_tags; },
|
|
44
|
+
get removedLockedTags() { return info.added_locked_tags; },
|
|
45
|
+
get obsoleteAddedTags() { return info.obsolete_added_tags.split(" "); },
|
|
46
|
+
get obsoleteRemovedTags() { return info.obsolete_removed_tags.split(" "); },
|
|
47
|
+
get unchangedTags() { return info.unchanged_tags.split(" "); },
|
|
48
|
+
get sources() { return info.source.split("\n").filter(Boolean); },
|
|
49
|
+
// convinence method
|
|
50
|
+
get oldRating() {
|
|
51
|
+
if (!info.rating_changed)
|
|
52
|
+
return null;
|
|
53
|
+
const r = this.removedTags.find(t => t.startsWith("rating:"));
|
|
54
|
+
return !r ? null : r.replace(/rating:/, "");
|
|
55
|
+
},
|
|
56
|
+
// convinence method
|
|
57
|
+
get newRating() {
|
|
58
|
+
if (!info.rating_changed)
|
|
59
|
+
return null;
|
|
60
|
+
const r = this.addedTags.find(t => t.startsWith("rating:"));
|
|
61
|
+
return !r ? null : r.replace(/rating:/, "");
|
|
62
|
+
},
|
|
63
|
+
// convinence method
|
|
64
|
+
get addedSources() { return (this.addedTags.find(t => t.startsWith("source:"))?.replace(/source:/, "") ?? "").split("\n"); },
|
|
65
|
+
// convinence method
|
|
66
|
+
get removedSources() { return (this.removedTags.find(t => t.startsWith("source:"))?.replace(/source:/, "") ?? "").split("\n"); }
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the updater for this history
|
|
71
|
+
*
|
|
72
|
+
* @returns {Promise<User | null>}
|
|
73
|
+
*/
|
|
74
|
+
async getUpdater() { return this.main.users.get(this.updater_id); }
|
|
75
|
+
/**
|
|
76
|
+
* Get the post object for this history
|
|
77
|
+
*
|
|
78
|
+
* @returns {Promise<Post | null>}
|
|
79
|
+
*/
|
|
80
|
+
async getPost() { return this.main.posts.get(this.post_id); }
|
|
81
|
+
/**
|
|
82
|
+
* Revert the post to this version
|
|
83
|
+
*
|
|
84
|
+
* * Requires Authentication
|
|
85
|
+
*
|
|
86
|
+
*/
|
|
87
|
+
async revertTo() {
|
|
88
|
+
this.main.request.authCheck("PostHistory#revertTo");
|
|
89
|
+
return this.main.posts.revert(this.post_id, this.id);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.default = PostHistory;
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdEhpc3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RydWN0dXJlcy9Qb3N0SGlzdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLE1BQXFCLFdBQVc7SUFDdkIsSUFBSSxDQUFPO0lBQ25CLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBUztJQUNoQixJQUFJLENBQVM7SUFDYixVQUFVLENBQVM7SUFDbkIsWUFBWSxDQUFTO0lBQ3JCLFVBQVUsQ0FBUztJQUNuQixNQUFNLENBQVU7SUFDaEIsU0FBUyxDQUFnQjtJQUN6QixNQUFNLENBQVM7SUFDZixXQUFXLENBQVM7SUFDcEIsTUFBTSxDQUFTO0lBQ2YsV0FBVyxDQUFnQjtJQUMzQixVQUFVLENBQWdCO0lBQzFCLFlBQVksQ0FBZ0I7SUFDNUIsaUJBQWlCLENBQWdCO0lBQ2pDLG1CQUFtQixDQUFnQjtJQUNuQyxjQUFjLENBQVU7SUFDeEIsY0FBYyxDQUFVO0lBQ3hCLGNBQWMsQ0FBVTtJQUN4QixtQkFBbUIsQ0FBVTtJQUM3QixPQUFPLENBQVM7SUFDaEIsbUJBQW1CLENBQVM7SUFDNUIscUJBQXFCLENBQVM7SUFDOUIsY0FBYyxDQUFTO0lBQ3ZCLEtBQUssQ0FLK0Q7SUFDcEUsWUFBWSxJQUFVLEVBQUUsSUFBMkI7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ25DLEtBQUssRUFBRSxJQUFJO1lBQ1gsWUFBWSxFQUFFLEtBQUs7WUFDbkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLEtBQUs7U0FDZixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1osSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENB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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WikiPageProperties } from "../types";
|
|
2
|
+
import type E621 from "..";
|
|
3
|
+
export default class Pool implements WikiPageProperties {
|
|
4
|
+
id: number;
|
|
5
|
+
creator_id: number;
|
|
6
|
+
creator_name: string;
|
|
7
|
+
category_name: number;
|
|
8
|
+
body: string;
|
|
9
|
+
is_locked: boolean;
|
|
10
|
+
created_at: string;
|
|
11
|
+
updated_at: string;
|
|
12
|
+
updater_id: number;
|
|
13
|
+
other_names: Array<string>;
|
|
14
|
+
is_deleted: boolean;
|
|
15
|
+
constructor(main: E621, info: WikiPageProperties);
|
|
16
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class Pool {
|
|
4
|
+
id;
|
|
5
|
+
creator_id;
|
|
6
|
+
creator_name;
|
|
7
|
+
category_name;
|
|
8
|
+
body;
|
|
9
|
+
is_locked;
|
|
10
|
+
created_at;
|
|
11
|
+
updated_at;
|
|
12
|
+
updater_id;
|
|
13
|
+
other_names;
|
|
14
|
+
is_deleted;
|
|
15
|
+
constructor(main, info) {
|
|
16
|
+
Object.assign(this, info);
|
|
17
|
+
Object.defineProperty(this, "main", {
|
|
18
|
+
value: main,
|
|
19
|
+
configurable: false,
|
|
20
|
+
enumerable: false,
|
|
21
|
+
writable: false
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.default = Pool;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2lraVBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RydWN0dXJlcy9XaWtpUGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE1BQXFCLElBQUk7SUFDeEIsRUFBRSxDQUFTO0lBQ1gsVUFBVSxDQUFTO0lBQ25CLFlBQVksQ0FBUztJQUNyQixhQUFhLENBQVM7SUFDdEIsSUFBSSxDQUFTO0lBQ2IsU0FBUyxDQUFVO0lBQ25CLFVBQVUsQ0FBUztJQUNuQixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBZ0I7SUFDM0IsVUFBVSxDQUFVO0lBQ3BCLFlBQVksSUFBVSxFQUFFLElBQXdCO1FBQy9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNuQyxLQUFLLEVBQUUsSUFBSTtZQUNYLFlBQVksRUFBRSxLQUFLO1lBQ25CLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNEO0FBckJELHVCQXFCQyJ9
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type User from "./User";
|
|
2
|
+
import type { WikiPageHistoryProperties } from "../types";
|
|
3
|
+
import type E621 from "..";
|
|
4
|
+
export default class WikiPageHistory implements WikiPageHistoryProperties {
|
|
5
|
+
private main;
|
|
6
|
+
id: number;
|
|
7
|
+
wiki_page_id: number;
|
|
8
|
+
updater_id: number;
|
|
9
|
+
title: string;
|
|
10
|
+
body: string;
|
|
11
|
+
is_locked: boolean;
|
|
12
|
+
created_at: string;
|
|
13
|
+
updated_at: string;
|
|
14
|
+
other_names: Array<string>;
|
|
15
|
+
is_deleted: boolean;
|
|
16
|
+
reason: string;
|
|
17
|
+
constructor(main: E621, info: WikiPageHistoryProperties);
|
|
18
|
+
/**
|
|
19
|
+
* Get the updater for this history
|
|
20
|
+
*
|
|
21
|
+
* @returns {Promise<User | null>}
|
|
22
|
+
*/
|
|
23
|
+
getUpdater(): Promise<User | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Get the wiki page object for this history
|
|
26
|
+
*
|
|
27
|
+
* @returns {Promise<WikiPage | null>}
|
|
28
|
+
*/
|
|
29
|
+
getWikiPage(): Promise<import("./Pool").default | null>;
|
|
30
|
+
/**
|
|
31
|
+
* Revert the wiki page to this version
|
|
32
|
+
*
|
|
33
|
+
* * Requires Authentication
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
36
|
+
revertTo(): Promise<null>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class WikiPageHistory {
|
|
4
|
+
main;
|
|
5
|
+
id;
|
|
6
|
+
wiki_page_id;
|
|
7
|
+
updater_id;
|
|
8
|
+
title;
|
|
9
|
+
body;
|
|
10
|
+
is_locked;
|
|
11
|
+
created_at;
|
|
12
|
+
updated_at;
|
|
13
|
+
other_names;
|
|
14
|
+
is_deleted;
|
|
15
|
+
reason;
|
|
16
|
+
constructor(main, info) {
|
|
17
|
+
Object.assign(this, info);
|
|
18
|
+
Object.defineProperty(this, "main", {
|
|
19
|
+
value: main,
|
|
20
|
+
configurable: false,
|
|
21
|
+
enumerable: false,
|
|
22
|
+
writable: false
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the updater for this history
|
|
27
|
+
*
|
|
28
|
+
* @returns {Promise<User | null>}
|
|
29
|
+
*/
|
|
30
|
+
async getUpdater() { return this.main.users.get(this.updater_id); }
|
|
31
|
+
/**
|
|
32
|
+
* Get the wiki page object for this history
|
|
33
|
+
*
|
|
34
|
+
* @returns {Promise<WikiPage | null>}
|
|
35
|
+
*/
|
|
36
|
+
async getWikiPage() { return this.main.pools.get(this.wiki_page_id); }
|
|
37
|
+
/**
|
|
38
|
+
* Revert the wiki page to this version
|
|
39
|
+
*
|
|
40
|
+
* * Requires Authentication
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
async revertTo() {
|
|
44
|
+
this.main.request.authCheck("WikiPageHistory#revertTo");
|
|
45
|
+
return this.main.pools.revert(this.wiki_page_id, this.id);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.default = WikiPageHistory;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2lraVBhZ2VIaXN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0cnVjdHVyZXMvV2lraVBhZ2VIaXN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0EsTUFBcUIsZUFBZTtJQUMzQixJQUFJLENBQU87SUFDbkIsRUFBRSxDQUFTO0lBQ1gsWUFBWSxDQUFTO0lBQ3JCLFVBQVUsQ0FBUztJQUNuQixLQUFLLENBQVM7SUFDZCxJQUFJLENBQVM7SUFDYixTQUFTLENBQVU7SUFDbkIsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBUztJQUNuQixXQUFXLENBQWdCO0lBQzNCLFVBQVUsQ0FBVTtJQUNwQixNQUFNLENBQVM7SUFDZixZQUFZLElBQVUsRUFBRSxJQUErQjtRQUN0RCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDbkMsS0FBSyxFQUFFLElBQUk7WUFDWCxZQUFZLEVBQUUsS0FBSztZQUNuQixVQUFVLEVBQUUsS0FBSztZQUNqQixRQUFRLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5FOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFHdEU7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRDtBQWhERCxrQ0FnREMifQ==
|
|
@@ -18,23 +18,27 @@ export interface Options {
|
|
|
18
18
|
*/
|
|
19
19
|
instanceHost?: string;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Override our default url reconstruction when we see a null file url
|
|
22
22
|
*
|
|
23
|
-
* Default
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* The port of static server of the instance you are targeting
|
|
23
|
+
* Default (e621.net): https://static1.e621.net/data/(preview/|sample/)MD5[0,2]/MD5[2,4]/MD5.EXT
|
|
24
|
+
*
|
|
25
|
+
* Default (yiff.rest): https://v3.yiff.media/(preview/|sample/)MD5[0,2]/MD5[2,4]/MD5.EXT
|
|
28
26
|
*
|
|
29
|
-
* Default:
|
|
27
|
+
* Default (e621.local): http://e621.local/data/(preview/|sample/)MD5.EXT
|
|
28
|
+
*
|
|
29
|
+
* If you use a host that is not supported, and do not implement this, or set a construction type, an error will be thrown.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} md5 - the md5 of the image
|
|
32
|
+
* @param {("original" | "preview" | "sample")} type - the type of url being constructed
|
|
33
|
+
* @param {string} ext - the extension of the file
|
|
30
34
|
*/
|
|
31
|
-
|
|
35
|
+
reconstructStaticURL?(this: void, md5: string, type: "original" | "preview" | "sample", ext: string): string;
|
|
32
36
|
/**
|
|
33
|
-
* The
|
|
37
|
+
* The method to use for image reconstructon (if you are not using E621, YiffyAPI, or e621ng, you MUST override the reconstructStaticURL function, as the static urls are hardcoded for these)
|
|
34
38
|
*
|
|
35
|
-
* Default:
|
|
39
|
+
* Default: based on `instanceHost` - e621.net = e621 | yiff.rest = yiffy | e621.local = dev | other = null
|
|
36
40
|
*/
|
|
37
|
-
|
|
41
|
+
imageReconstructionType?: "e621" | "yiffy" | "dev" | null;
|
|
38
42
|
/**
|
|
39
43
|
* The uername of the user you want to authenticate with
|
|
40
44
|
*
|
|
@@ -47,16 +51,6 @@ export interface Options {
|
|
|
47
51
|
* Default: none
|
|
48
52
|
*/
|
|
49
53
|
authKey?: string;
|
|
50
|
-
/**
|
|
51
|
-
* The method to use for image reconstructon (e621.net uses "hierarchy", default instances of e621ng use "root")
|
|
52
|
-
*
|
|
53
|
-
* * `hierarchy` - images sorted into sub folders based on md5
|
|
54
|
-
*
|
|
55
|
-
* * `root` - everything in the same top directory)
|
|
56
|
-
*
|
|
57
|
-
* Default: hierarchy
|
|
58
|
-
*/
|
|
59
|
-
imageReconstructionType?: "hierarchy" | "root";
|
|
60
54
|
/**
|
|
61
55
|
* The user agent to use for requests
|
|
62
56
|
*
|
|
@@ -66,9 +60,9 @@ export interface Options {
|
|
|
66
60
|
*/
|
|
67
61
|
userAgent?: string;
|
|
68
62
|
/**
|
|
69
|
-
* The number of
|
|
63
|
+
* The number of seconds before a request times out
|
|
70
64
|
*
|
|
71
|
-
* Default:
|
|
65
|
+
* Default: 30
|
|
72
66
|
*/
|
|
73
67
|
requestTimeout?: number;
|
|
74
68
|
}
|
|
@@ -77,19 +71,17 @@ export interface InstanceOptions {
|
|
|
77
71
|
instanceSSL: boolean;
|
|
78
72
|
instancePort: number;
|
|
79
73
|
instanceHost: string;
|
|
80
|
-
staticSSL: boolean;
|
|
81
|
-
staticPort: number;
|
|
82
|
-
staticHost: string;
|
|
83
74
|
authUser: string | null;
|
|
84
75
|
authKey: string | null;
|
|
85
|
-
|
|
76
|
+
reconstructStaticURL: ((this: void, md5: string, type: "original" | "preview" | "sample", ext: string) => string) | null;
|
|
77
|
+
imageReconstructionType: "e621" | "yiffy" | "dev" | null;
|
|
86
78
|
userAgent: string;
|
|
87
79
|
requestTimeout: number;
|
|
88
80
|
}
|
|
89
81
|
|
|
90
82
|
export interface GenericSearchOptions {
|
|
91
83
|
limit?: number;
|
|
92
|
-
page?: number
|
|
84
|
+
page?: number | `${"a" | "b" | ""}${number}`;
|
|
93
85
|
}
|
|
94
86
|
|
|
95
87
|
export * from "./pools";
|
|
@@ -97,3 +89,4 @@ export * from "./post_sets";
|
|
|
97
89
|
export * from "./posts";
|
|
98
90
|
export * from "./user_feedback";
|
|
99
91
|
export * from "./users";
|
|
92
|
+
export * from "./wiki_pages";
|
|
File without changes
|
|
File without changes
|
|
@@ -57,7 +57,6 @@ export interface PostProperties {
|
|
|
57
57
|
|
|
58
58
|
export interface SearchPostsOptions extends GenericSearchOptions {
|
|
59
59
|
tags?: string | Array<string>;
|
|
60
|
-
page?: number | `${number}` | `${"a" | "b"}${number}`;
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
export type CreatePostOptions = {
|
|
@@ -118,3 +117,49 @@ export interface PostVoteResult {
|
|
|
118
117
|
down: number;
|
|
119
118
|
our_score: number;
|
|
120
119
|
}
|
|
120
|
+
|
|
121
|
+
export interface SearchPostHistoryOptions extends GenericSearchOptions {
|
|
122
|
+
user?: string;
|
|
123
|
+
userID?: number;
|
|
124
|
+
post?: number;
|
|
125
|
+
reason?: string;
|
|
126
|
+
description?: string;
|
|
127
|
+
ratingChangedTo?: Ratings;
|
|
128
|
+
finalRating?: Ratings;
|
|
129
|
+
parent?: number;
|
|
130
|
+
parentChangedTo?: number;
|
|
131
|
+
finalTags?: Array<string> |string;
|
|
132
|
+
addedTags?: Array<string> | string;
|
|
133
|
+
removedTags?: Array<string> | string;
|
|
134
|
+
finalLockedTags?: Array<string> | string;
|
|
135
|
+
addedLockedTags?: Array<string> | string;
|
|
136
|
+
removedLockedTags?: Array<string> | string;
|
|
137
|
+
source?: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export interface PostHistoryProperties {
|
|
141
|
+
id: number;
|
|
142
|
+
post_id: number;
|
|
143
|
+
tags: string;
|
|
144
|
+
updater_id: number;
|
|
145
|
+
updater_name: string;
|
|
146
|
+
updated_at: string;
|
|
147
|
+
rating: Ratings;
|
|
148
|
+
parent_id: number | null;
|
|
149
|
+
source: string;
|
|
150
|
+
description: string;
|
|
151
|
+
reason: string;
|
|
152
|
+
locked_tags: string | null;
|
|
153
|
+
added_tags: Array<string>;
|
|
154
|
+
removed_tags: Array<string>;
|
|
155
|
+
added_locked_tags: Array<string>;
|
|
156
|
+
removed_locked_tags: Array<string>;
|
|
157
|
+
rating_changed: boolean;
|
|
158
|
+
parent_changed: boolean;
|
|
159
|
+
source_changed: boolean;
|
|
160
|
+
description_changed: boolean;
|
|
161
|
+
version: number;
|
|
162
|
+
obsolete_added_tags: string;
|
|
163
|
+
obsolete_removed_tags: string;
|
|
164
|
+
unchanged_tags: string;
|
|
165
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { GenericSearchOptions } from ".";
|
|
2
|
+
|
|
3
|
+
export interface WikiPageProperties {
|
|
4
|
+
id: number;
|
|
5
|
+
creator_id: number;
|
|
6
|
+
creator_name: string;
|
|
7
|
+
category_name: number;
|
|
8
|
+
body: string;
|
|
9
|
+
is_locked: boolean;
|
|
10
|
+
created_at: string;
|
|
11
|
+
updated_at: string;
|
|
12
|
+
updater_id: number;
|
|
13
|
+
other_names: Array<string>;
|
|
14
|
+
is_deleted: boolean;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type WikiPageOrder = "title" | "time" | "post_count";
|
|
18
|
+
export interface SearchWikiPagesOptions extends GenericSearchOptions {
|
|
19
|
+
title?: string;
|
|
20
|
+
creator?: string;
|
|
21
|
+
body?: string;
|
|
22
|
+
otherNames?: string;
|
|
23
|
+
hasOtherNames?: boolean;
|
|
24
|
+
hideDeleted?: boolean;
|
|
25
|
+
order?: WikiPageOrder;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface CreateWikiPageOptions {
|
|
29
|
+
title: string;
|
|
30
|
+
body: string;
|
|
31
|
+
/** requires janitor */
|
|
32
|
+
locked?: boolean;
|
|
33
|
+
/** requires janitor */
|
|
34
|
+
forceOverwrite?: boolean;
|
|
35
|
+
reason?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface ModifyWikiPageOptions {
|
|
39
|
+
/** requires janitor */
|
|
40
|
+
title?: string;
|
|
41
|
+
body?: string;
|
|
42
|
+
/** requires janitor */
|
|
43
|
+
locked?: boolean;
|
|
44
|
+
/** requires janitor */
|
|
45
|
+
forceOverwrite?: boolean;
|
|
46
|
+
reason?: string;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface WikiPageHistoryProperties {
|
|
50
|
+
id: number;
|
|
51
|
+
wiki_page_id: number;
|
|
52
|
+
updater_id: number;
|
|
53
|
+
title: string;
|
|
54
|
+
body: string;
|
|
55
|
+
is_locked: boolean;
|
|
56
|
+
created_at: string;
|
|
57
|
+
updated_at: string;
|
|
58
|
+
other_names: Array<string>;
|
|
59
|
+
is_deleted: boolean;
|
|
60
|
+
reason: string;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface SearchWikiPageHistoryOptions extends GenericSearchOptions {
|
|
64
|
+
wikiPage?: number;
|
|
65
|
+
}
|