e621 2.1.3 → 2.1.4
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/Features/Artists.md +1 -0
- package/Features/Notes.md +30 -0
- package/Features/Pools.md +1 -0
- package/Features/PostSets.md +1 -0
- package/Features/Posts.md +1 -0
- package/Features/README.md +1 -0
- package/Features/Tags.md +1 -0
- package/Features/UserFeedback.md +1 -0
- package/Features/Users.md +1 -0
- package/Features/WikiPages.md +1 -0
- package/build/package.json +1 -1
- package/build/src/index.d.ts +5 -1
- package/build/src/index.js +9 -2
- package/build/src/modules/Notes.d.ts +80 -0
- package/build/src/modules/Notes.js +179 -0
- package/build/src/structures/Note.d.ts +32 -0
- package/build/src/structures/Note.js +41 -0
- package/build/src/structures/NoteHistory.d.ts +38 -0
- package/build/src/structures/NoteHistory.js +47 -0
- package/build/src/types/index.d.ts +1 -0
- package/build/src/types/notes.d.ts +63 -0
- package/package.json +1 -1
package/Features/Artists.md
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
## Table Of Contents
|
|
2
|
+
- [Index](README.md)
|
|
3
|
+
- [Future Plans](FuturePlans.md)
|
|
4
|
+
- [E621 Search Inconsistencies](E621SearchInconsistencies.md)
|
|
5
|
+
- [Artists](Artists.md)
|
|
6
|
+
- **Notes**
|
|
7
|
+
- [Pools](Pools.md)
|
|
8
|
+
- [Posts](Posts.md)
|
|
9
|
+
- [Post Sets](PostSets.md)
|
|
10
|
+
- [Tags](Tags.md)
|
|
11
|
+
- [User Feedback](UserFeedback.md)
|
|
12
|
+
- [Users](Users.md)
|
|
13
|
+
- **Wiki Pages**
|
|
14
|
+
|
|
15
|
+
<hr>
|
|
16
|
+
|
|
17
|
+
| Feature | Implemented | Method |
|
|
18
|
+
|:--------------:|:-----------:|:---------------------:|
|
|
19
|
+
| Get By ID | ✔️ | `notes.get` |
|
|
20
|
+
| Search | ✔️ | `notes.search` |
|
|
21
|
+
| Create[^1] | ✔️ | `notes.create` |
|
|
22
|
+
| Modify[^1] | ✔️ | `notes.modify` |
|
|
23
|
+
| Delete[^1] | ✔️ | `notes.delete` |
|
|
24
|
+
| Search History | ✔️ | `notes.searchHistory` |
|
|
25
|
+
|
|
26
|
+
[^1]: Requires Authentication
|
|
27
|
+
[^2]: Requires Privileged
|
|
28
|
+
[^3]: Requires Janitor
|
|
29
|
+
[^4]: Requires Moderator
|
|
30
|
+
[^5]: Requires Admin
|
package/Features/Pools.md
CHANGED
package/Features/PostSets.md
CHANGED
package/Features/Posts.md
CHANGED
package/Features/README.md
CHANGED
package/Features/Tags.md
CHANGED
package/Features/UserFeedback.md
CHANGED
package/Features/Users.md
CHANGED
package/Features/WikiPages.md
CHANGED
package/build/package.json
CHANGED
package/build/src/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Options, InstanceOptions } from "./types";
|
|
2
2
|
import RequestHandler from "./util/RequestHandler";
|
|
3
3
|
import Artists from "./modules/Artists";
|
|
4
|
+
import Notes from "./modules/Notes";
|
|
4
5
|
import Pools from "./modules/Pools";
|
|
5
6
|
import Posts from "./modules/Posts";
|
|
6
7
|
import PostSets from "./modules/PostSets";
|
|
@@ -10,10 +11,12 @@ import Users from "./modules/Users";
|
|
|
10
11
|
import WikiPages from "./modules/WikiPages";
|
|
11
12
|
import Artist from "./structures/Artist";
|
|
12
13
|
import ArtistHistory from "./structures/ArtistHistory";
|
|
14
|
+
import NoteHistory from "./structures/NoteHistory";
|
|
13
15
|
import AuthenticatedUser from "./structures/AuthenticatedUser";
|
|
14
16
|
import Pool from "./structures/Pool";
|
|
15
17
|
import PoolHistory from "./structures/PoolHistory";
|
|
16
18
|
import Post from "./structures/Post";
|
|
19
|
+
import PostApproval from "./structures/PostApproval";
|
|
17
20
|
import PostHistory from "./structures/PostHistory";
|
|
18
21
|
import PostSet from "./structures/PostSet";
|
|
19
22
|
import Tag from "./structures/Tag";
|
|
@@ -25,6 +28,7 @@ export default class E621 {
|
|
|
25
28
|
POST_LIMIT_PER_REQUEST: number;
|
|
26
29
|
request: RequestHandler;
|
|
27
30
|
artists: Artists;
|
|
31
|
+
notes: Notes;
|
|
28
32
|
pools: Pools;
|
|
29
33
|
posts: Posts;
|
|
30
34
|
postSets: PostSets;
|
|
@@ -38,4 +42,4 @@ export default class E621 {
|
|
|
38
42
|
}
|
|
39
43
|
export * from "./types";
|
|
40
44
|
export { APIError } from "./util/RequestHandler";
|
|
41
|
-
export { Artist, ArtistHistory, AuthenticatedUser, Pool, PoolHistory, Post, PostHistory, PostSet, Tag, TagHistory, User, WikiPage, WikiPageHistory };
|
|
45
|
+
export { Artist, ArtistHistory, Notes, NoteHistory, AuthenticatedUser, Pool, PoolHistory, Post, PostApproval, PostHistory, PostSet, Tag, TagHistory, User, WikiPage, WikiPageHistory };
|
package/build/src/index.js
CHANGED
|
@@ -13,10 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.WikiPageHistory = exports.WikiPage = exports.User = exports.TagHistory = exports.Tag = exports.PostSet = exports.PostHistory = exports.Post = exports.PoolHistory = exports.Pool = exports.AuthenticatedUser = exports.ArtistHistory = exports.Artist = exports.APIError = void 0;
|
|
16
|
+
exports.WikiPageHistory = exports.WikiPage = exports.User = exports.TagHistory = exports.Tag = exports.PostSet = exports.PostHistory = exports.PostApproval = exports.Post = exports.PoolHistory = exports.Pool = exports.AuthenticatedUser = exports.NoteHistory = exports.Notes = exports.ArtistHistory = exports.Artist = exports.APIError = void 0;
|
|
17
17
|
const RequestHandler_1 = __importDefault(require("./util/RequestHandler"));
|
|
18
18
|
// Modules
|
|
19
19
|
const Artists_1 = __importDefault(require("./modules/Artists"));
|
|
20
|
+
const Notes_1 = __importDefault(require("./modules/Notes"));
|
|
21
|
+
exports.Notes = Notes_1.default;
|
|
20
22
|
const Pools_1 = __importDefault(require("./modules/Pools"));
|
|
21
23
|
const Posts_1 = __importDefault(require("./modules/Posts"));
|
|
22
24
|
const PostSets_1 = __importDefault(require("./modules/PostSets"));
|
|
@@ -29,6 +31,8 @@ const Artist_1 = __importDefault(require("./structures/Artist"));
|
|
|
29
31
|
exports.Artist = Artist_1.default;
|
|
30
32
|
const ArtistHistory_1 = __importDefault(require("./structures/ArtistHistory"));
|
|
31
33
|
exports.ArtistHistory = ArtistHistory_1.default;
|
|
34
|
+
const NoteHistory_1 = __importDefault(require("./structures/NoteHistory"));
|
|
35
|
+
exports.NoteHistory = NoteHistory_1.default;
|
|
32
36
|
const AuthenticatedUser_1 = __importDefault(require("./structures/AuthenticatedUser"));
|
|
33
37
|
exports.AuthenticatedUser = AuthenticatedUser_1.default;
|
|
34
38
|
const Pool_1 = __importDefault(require("./structures/Pool"));
|
|
@@ -37,6 +41,8 @@ const PoolHistory_1 = __importDefault(require("./structures/PoolHistory"));
|
|
|
37
41
|
exports.PoolHistory = PoolHistory_1.default;
|
|
38
42
|
const Post_1 = __importDefault(require("./structures/Post"));
|
|
39
43
|
exports.Post = Post_1.default;
|
|
44
|
+
const PostApproval_1 = __importDefault(require("./structures/PostApproval"));
|
|
45
|
+
exports.PostApproval = PostApproval_1.default;
|
|
40
46
|
const PostHistory_1 = __importDefault(require("./structures/PostHistory"));
|
|
41
47
|
exports.PostHistory = PostHistory_1.default;
|
|
42
48
|
const PostSet_1 = __importDefault(require("./structures/PostSet"));
|
|
@@ -58,6 +64,7 @@ class E621 {
|
|
|
58
64
|
POST_LIMIT_PER_REQUEST = 320;
|
|
59
65
|
request = new RequestHandler_1.default(this);
|
|
60
66
|
artists = new Artists_1.default(this);
|
|
67
|
+
notes = new Notes_1.default(this);
|
|
61
68
|
pools = new Pools_1.default(this);
|
|
62
69
|
posts = new Posts_1.default(this);
|
|
63
70
|
postSets = new PostSets_1.default(this);
|
|
@@ -124,4 +131,4 @@ class E621 {
|
|
|
124
131
|
exports.default = E621;
|
|
125
132
|
var RequestHandler_2 = require("./util/RequestHandler");
|
|
126
133
|
Object.defineProperty(exports, "APIError", { enumerable: true, get: function () { return RequestHandler_2.APIError; } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJFQUFtRDtBQUNuRCxVQUFVO0FBQ1YsZ0VBQXdDO0FBQ3hDLDREQUFvQztBQThGbkMsZ0JBOUZNLGVBQUssQ0E4Rk47QUE3Rk4sNERBQW9DO0FBQ3BDLDREQUFvQztBQUNwQyxrRUFBMEM7QUFDMUMsMERBQWtDO0FBQ2xDLDBFQUFrRDtBQUNsRCw0REFBb0M7QUFDcEMsb0VBQTRDO0FBQzVDLGFBQWE7QUFDYixpRUFBeUM7QUFtRnhDLGlCQW5GTSxnQkFBTSxDQW1GTjtBQWxGUCwrRUFBdUQ7QUFtRnRELHdCQW5GTSx1QkFBYSxDQW1GTjtBQWpGZCwyRUFBbUQ7QUFtRmxELHNCQW5GTSxxQkFBVyxDQW1GTjtBQWxGWix1RkFBK0Q7QUFtRjlELDRCQW5GTSwyQkFBaUIsQ0FtRk47QUFsRmxCLDZEQUFxQztBQW1GcEMsZUFuRk0sY0FBSSxDQW1GTjtBQWxGTCwyRUFBbUQ7QUFtRmxELHNCQW5GTSxxQkFBVyxDQW1GTjtBQWxGWiw2REFBcUM7QUFtRnBDLGVBbkZNLGNBQUksQ0FtRk47QUFsRkwsNkVBQXFEO0FBbUZwRCx1QkFuRk0sc0JBQVksQ0FtRk47QUFsRmIsMkVBQW1EO0FBbUZsRCxzQkFuRk0scUJBQVcsQ0FtRk47QUFsRlosbUVBQTJDO0FBbUYxQyxrQkFuRk0saUJBQU8sQ0FtRk47QUFsRlIsMkRBQW1DO0FBbUZsQyxjQW5GTSxhQUFHLENBbUZOO0FBbEZKLHlFQUFpRDtBQW1GaEQscUJBbkZNLG9CQUFVLENBbUZOO0FBbEZYLDZEQUFxQztBQW1GcEMsZUFuRk0sY0FBSSxDQW1GTjtBQWxGTCxxRUFBNkM7QUFtRjVDLG1CQW5GTSxrQkFBUSxDQW1GTjtBQWxGVCxtRkFBMkQ7QUFtRjFELDBCQW5GTSx5QkFBZSxDQW1GTjtBQWpGaEIsbUVBQWtDO0FBRWxDLHFEQUFxRDtB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
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type E621 from "..";
|
|
2
|
+
import type { SearchNotesOptions, CreateNoteOptions, ModifyNoteOptions, SearchNoteHistoryOptions } from "../types";
|
|
3
|
+
import Note from "../structures/Note";
|
|
4
|
+
import NoteHistory from "../structures/NoteHistory";
|
|
5
|
+
export default class Notes {
|
|
6
|
+
private readonly auth;
|
|
7
|
+
private readonly main;
|
|
8
|
+
constructor(main: E621);
|
|
9
|
+
/**
|
|
10
|
+
* Get a note by its id
|
|
11
|
+
*
|
|
12
|
+
* @param {number} id - The id of the note to get
|
|
13
|
+
* @returns {Promise<(Note | null)>}
|
|
14
|
+
*/
|
|
15
|
+
get(id: number): Promise<Note | null>;
|
|
16
|
+
/**
|
|
17
|
+
* Search for notes
|
|
18
|
+
*
|
|
19
|
+
* @param {object} [options]
|
|
20
|
+
* @param {string} [options.body] - narrow the results by the body of the note
|
|
21
|
+
* @param {string} [options.author] - narrow the results by the (name of the) creator of the note
|
|
22
|
+
* @param {(string | Array<string>)} [options.tags] - narrow the results by the tags of the post the note is on
|
|
23
|
+
* @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
|
|
24
|
+
* @param {number} [options.limit] - limit the maximum amount of results returned
|
|
25
|
+
* @returns {Promise<Array<Note>>}
|
|
26
|
+
*/
|
|
27
|
+
search(options?: SearchNotesOptions): Promise<Note[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Create a note
|
|
30
|
+
*
|
|
31
|
+
* * Requires Authentication
|
|
32
|
+
*
|
|
33
|
+
* @param {object} options
|
|
34
|
+
* @param {number} options.postId - the id of the post to make the note on
|
|
35
|
+
* @param {number} options.x - the x location of the note
|
|
36
|
+
* @param {number} options.y - the y location of the note
|
|
37
|
+
* @param {number} options.width - the width of the note
|
|
38
|
+
* @param {number} options.height - the height of the note
|
|
39
|
+
* @param {string} options.body - the body of the note
|
|
40
|
+
* @returns {Promise<Note>}
|
|
41
|
+
*/
|
|
42
|
+
create(options: CreateNoteOptions): Promise<never[] | Note>;
|
|
43
|
+
/**
|
|
44
|
+
* modify a note
|
|
45
|
+
*
|
|
46
|
+
* * Requires Authentication
|
|
47
|
+
*
|
|
48
|
+
* @param {number} id - the id of the note to edit
|
|
49
|
+
* @param {object} options
|
|
50
|
+
* @param {number} [options.x] - the x location of the note
|
|
51
|
+
* @param {number} [options.y] - the y location of the note
|
|
52
|
+
* @param {number} [options.width] - the width of the note
|
|
53
|
+
* @param {number} [options.height] - the height of the note
|
|
54
|
+
* @param {string} [options.body] - the body of the note
|
|
55
|
+
* @returns {Promise<Note>}
|
|
56
|
+
*/
|
|
57
|
+
modify(id: number, options: ModifyNoteOptions): Promise<Note>;
|
|
58
|
+
/**
|
|
59
|
+
* Delete a note
|
|
60
|
+
*
|
|
61
|
+
* * Requires Authentication
|
|
62
|
+
*
|
|
63
|
+
* @param {number} id - the id of the note to delete
|
|
64
|
+
* @returns {Promise<null>}
|
|
65
|
+
*/
|
|
66
|
+
delete(id: number): Promise<null>;
|
|
67
|
+
/**
|
|
68
|
+
* Search the notes history
|
|
69
|
+
*
|
|
70
|
+
* @param {object} [options]
|
|
71
|
+
* @param {number} [options.noteId] - narrow the results by the note id
|
|
72
|
+
* @param {number} [options.postId] - narrow the results by the id of the post the note is on
|
|
73
|
+
* @param {string} [options.body] - narrow the results by the content
|
|
74
|
+
* @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
|
|
75
|
+
* @param {number} [options.limit] - limit the maximum amount of results returned
|
|
76
|
+
* @param
|
|
77
|
+
* @returns {Promise<Array<NoteHistory>>}
|
|
78
|
+
*/
|
|
79
|
+
searchHistory(options?: SearchNoteHistoryOptions): Promise<NoteHistory[]>;
|
|
80
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const FormHelper_1 = __importDefault(require("../util/FormHelper"));
|
|
7
|
+
const RequestHandler_1 = require("../util/RequestHandler");
|
|
8
|
+
const Note_1 = __importDefault(require("../structures/Note"));
|
|
9
|
+
const NoteHistory_1 = __importDefault(require("../structures/NoteHistory"));
|
|
10
|
+
class Notes {
|
|
11
|
+
auth;
|
|
12
|
+
main;
|
|
13
|
+
constructor(main) {
|
|
14
|
+
Object.defineProperties(this, {
|
|
15
|
+
auth: {
|
|
16
|
+
get() {
|
|
17
|
+
return !this.main.options.authUser || !this.main.options.authKey ? null : `Basic ${Buffer.from(`${this.main.options.authUser}:${this.main.options.authKey}`).toString("base64")}`;
|
|
18
|
+
},
|
|
19
|
+
configurable: false,
|
|
20
|
+
enumerable: false
|
|
21
|
+
},
|
|
22
|
+
main: {
|
|
23
|
+
value: main,
|
|
24
|
+
configurable: false,
|
|
25
|
+
enumerable: false,
|
|
26
|
+
writable: false
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get a note by its id
|
|
32
|
+
*
|
|
33
|
+
* @param {number} id - The id of the note to get
|
|
34
|
+
* @returns {Promise<(Note | null)>}
|
|
35
|
+
*/
|
|
36
|
+
async get(id) {
|
|
37
|
+
const res = await this.main.request.get(`/notes/${id}.json`).catch(err => {
|
|
38
|
+
if (err instanceof RequestHandler_1.APIError && err.statusCode === 404)
|
|
39
|
+
return null;
|
|
40
|
+
throw err;
|
|
41
|
+
});
|
|
42
|
+
return res === null ? null : new Note_1.default(this.main, res);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Search for notes
|
|
46
|
+
*
|
|
47
|
+
* @param {object} [options]
|
|
48
|
+
* @param {string} [options.body] - narrow the results by the body of the note
|
|
49
|
+
* @param {string} [options.author] - narrow the results by the (name of the) creator of the note
|
|
50
|
+
* @param {(string | Array<string>)} [options.tags] - narrow the results by the tags of the post the note is on
|
|
51
|
+
* @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
|
|
52
|
+
* @param {number} [options.limit] - limit the maximum amount of results returned
|
|
53
|
+
* @returns {Promise<Array<Note>>}
|
|
54
|
+
*/
|
|
55
|
+
async search(options) {
|
|
56
|
+
options = options ?? {};
|
|
57
|
+
const qs = new FormHelper_1.default();
|
|
58
|
+
if (typeof options.body === "string")
|
|
59
|
+
qs.add("search[body_matches]", options.body);
|
|
60
|
+
if (typeof options.author === "string")
|
|
61
|
+
qs.add("search[creator_name]", options.author);
|
|
62
|
+
if (typeof options.tags === "string")
|
|
63
|
+
qs.add("search[post_tags_match]", options.tags);
|
|
64
|
+
if (Array.isArray(options.tags) && options.tags.length > 0)
|
|
65
|
+
qs.add("search[post_tags_match]", options.tags.join(" "));
|
|
66
|
+
if (typeof options.page !== "undefined")
|
|
67
|
+
qs.add("page", options.page);
|
|
68
|
+
if (typeof options.limit === "number")
|
|
69
|
+
qs.add("limit", options.limit);
|
|
70
|
+
const res = await this.main.request.get(`/notes.json?${qs.build()}`);
|
|
71
|
+
return res.map(info => new Note_1.default(this.main, info));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Create a note
|
|
75
|
+
*
|
|
76
|
+
* * Requires Authentication
|
|
77
|
+
*
|
|
78
|
+
* @param {object} options
|
|
79
|
+
* @param {number} options.postId - the id of the post to make the note on
|
|
80
|
+
* @param {number} options.x - the x location of the note
|
|
81
|
+
* @param {number} options.y - the y location of the note
|
|
82
|
+
* @param {number} options.width - the width of the note
|
|
83
|
+
* @param {number} options.height - the height of the note
|
|
84
|
+
* @param {string} options.body - the body of the note
|
|
85
|
+
* @returns {Promise<Note>}
|
|
86
|
+
*/
|
|
87
|
+
async create(options) {
|
|
88
|
+
this.main.request.authCheck.call(this, "Notes#create");
|
|
89
|
+
if (!options)
|
|
90
|
+
throw new Error("options is required in Notes#create");
|
|
91
|
+
const qs = new FormHelper_1.default()
|
|
92
|
+
.add("note[post_id]", options.postId)
|
|
93
|
+
.add("note[x]", options.x)
|
|
94
|
+
.add("note[y]", options.y)
|
|
95
|
+
.add("note[width]", options.width)
|
|
96
|
+
.add("note[height]", options.height)
|
|
97
|
+
.add("note[body]", options.body);
|
|
98
|
+
const res = await this.main.request.post("/notes.json", qs.build());
|
|
99
|
+
if (res && !Array.isArray(res) && "notes" in res)
|
|
100
|
+
return [];
|
|
101
|
+
return new Note_1.default(this.main, res);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* modify a note
|
|
105
|
+
*
|
|
106
|
+
* * Requires Authentication
|
|
107
|
+
*
|
|
108
|
+
* @param {number} id - the id of the note to edit
|
|
109
|
+
* @param {object} options
|
|
110
|
+
* @param {number} [options.x] - the x location of the note
|
|
111
|
+
* @param {number} [options.y] - the y location of the note
|
|
112
|
+
* @param {number} [options.width] - the width of the note
|
|
113
|
+
* @param {number} [options.height] - the height of the note
|
|
114
|
+
* @param {string} [options.body] - the body of the note
|
|
115
|
+
* @returns {Promise<Note>}
|
|
116
|
+
*/
|
|
117
|
+
async modify(id, options) {
|
|
118
|
+
this.main.request.authCheck.call(this, "Notes#modify");
|
|
119
|
+
if (!options)
|
|
120
|
+
throw new Error("options is required in Notes#modify");
|
|
121
|
+
const qs = new FormHelper_1.default();
|
|
122
|
+
if (typeof options.x === "number")
|
|
123
|
+
qs.add("note[x]", options.x);
|
|
124
|
+
if (typeof options.y === "number")
|
|
125
|
+
qs.add("note[y]", options.y);
|
|
126
|
+
if (typeof options.width === "number")
|
|
127
|
+
qs.add("note[width]", options.width);
|
|
128
|
+
if (typeof options.height === "number")
|
|
129
|
+
qs.add("note[height]", options.height);
|
|
130
|
+
if (typeof options.body === "string")
|
|
131
|
+
qs.add("note[body]", options.body);
|
|
132
|
+
const res = await this.main.request.put(`/notes/${id}.json`, qs.build());
|
|
133
|
+
return new Note_1.default(this.main, res);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Delete a note
|
|
137
|
+
*
|
|
138
|
+
* * Requires Authentication
|
|
139
|
+
*
|
|
140
|
+
* @param {number} id - the id of the note to delete
|
|
141
|
+
* @returns {Promise<null>}
|
|
142
|
+
*/
|
|
143
|
+
async delete(id) {
|
|
144
|
+
this.main.request.authCheck.call(this, "Notes#delete");
|
|
145
|
+
return this.main.request.delete(`/notes/${id}.json`);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Search the notes history
|
|
149
|
+
*
|
|
150
|
+
* @param {object} [options]
|
|
151
|
+
* @param {number} [options.noteId] - narrow the results by the note id
|
|
152
|
+
* @param {number} [options.postId] - narrow the results by the id of the post the note is on
|
|
153
|
+
* @param {string} [options.body] - narrow the results by the content
|
|
154
|
+
* @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
|
|
155
|
+
* @param {number} [options.limit] - limit the maximum amount of results returned
|
|
156
|
+
* @param
|
|
157
|
+
* @returns {Promise<Array<NoteHistory>>}
|
|
158
|
+
*/
|
|
159
|
+
async searchHistory(options) {
|
|
160
|
+
options = options ?? {};
|
|
161
|
+
const qs = new FormHelper_1.default();
|
|
162
|
+
if (typeof options.noteId === "number")
|
|
163
|
+
qs.add("search[note_id]", options.noteId);
|
|
164
|
+
if (typeof options.postId === "number")
|
|
165
|
+
qs.add("search[post_id]", options.postId);
|
|
166
|
+
if (typeof options.body === "string")
|
|
167
|
+
qs.add("search[body_matches]", options.body);
|
|
168
|
+
if (typeof options.page !== "undefined")
|
|
169
|
+
qs.add("page", options.page);
|
|
170
|
+
if (typeof options.limit === "number")
|
|
171
|
+
qs.add("limit", options.limit);
|
|
172
|
+
const res = await this.main.request.get(`/note_versions.json?${qs.build()}`);
|
|
173
|
+
if (res && !Array.isArray(res) && "note_versions" in res)
|
|
174
|
+
return [];
|
|
175
|
+
return res.map(info => new NoteHistory_1.default(this.main, info));
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
exports.default = Notes;
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9Ob3Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLG9FQUE0QztBQUM1QywyREFBa0Q7QUFDbEQsOERBQXNDO0FBQ3RDLDRFQUFvRDtBQUVwRCxNQUFxQixLQUFLO0lBQ1IsSUFBSSxDQUFnQjtJQUNwQixJQUFJLENBQU87SUFDNUIsWUFBWSxJQUFVO1FBQ3JCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxFQUFFO2dCQUNMLEdBQUc7b0JBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDbkwsQ0FBQztnQkFDRCxZQUFZLEVBQUUsS0FBSztnQkFDbkIsVUFBVSxFQUFFLEtBQUs7YUFDakI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixRQUFRLEVBQUUsS0FBSzthQUNmO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFVO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFpQixVQUFVLEVBQUUsT0FBTyxD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
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { NoteProperties } from "../types";
|
|
2
|
+
import type E621 from "..";
|
|
3
|
+
import { Post, User } from "..";
|
|
4
|
+
export default class Note implements NoteProperties {
|
|
5
|
+
private main;
|
|
6
|
+
id: number;
|
|
7
|
+
post_id: number;
|
|
8
|
+
created_at: string;
|
|
9
|
+
updated_at: string;
|
|
10
|
+
creator_id: number | null;
|
|
11
|
+
creator_name: string;
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
version: number;
|
|
17
|
+
is_active: boolean;
|
|
18
|
+
body: string;
|
|
19
|
+
constructor(main: E621, info: NoteProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Get the creator of this note
|
|
22
|
+
*
|
|
23
|
+
* @returns {Promise<User | null>}
|
|
24
|
+
*/
|
|
25
|
+
getCreator(): Promise<User | null>;
|
|
26
|
+
/**
|
|
27
|
+
* Get the post this note is on
|
|
28
|
+
*
|
|
29
|
+
* @returns {Promise<Post | null>}
|
|
30
|
+
*/
|
|
31
|
+
getPost(): Promise<Post | null>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class Note {
|
|
4
|
+
main;
|
|
5
|
+
id;
|
|
6
|
+
post_id;
|
|
7
|
+
created_at;
|
|
8
|
+
updated_at;
|
|
9
|
+
creator_id;
|
|
10
|
+
creator_name;
|
|
11
|
+
x;
|
|
12
|
+
y;
|
|
13
|
+
width;
|
|
14
|
+
height;
|
|
15
|
+
version;
|
|
16
|
+
is_active;
|
|
17
|
+
body;
|
|
18
|
+
constructor(main, info) {
|
|
19
|
+
Object.assign(this, info);
|
|
20
|
+
Object.defineProperty(this, "main", {
|
|
21
|
+
value: main,
|
|
22
|
+
configurable: false,
|
|
23
|
+
enumerable: false,
|
|
24
|
+
writable: false
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the creator of this note
|
|
29
|
+
*
|
|
30
|
+
* @returns {Promise<User | null>}
|
|
31
|
+
*/
|
|
32
|
+
async getCreator() { return this.creator_id === null ? null : this.main.users.get.call(this.main.users, this.creator_id); }
|
|
33
|
+
/**
|
|
34
|
+
* Get the post this note is on
|
|
35
|
+
*
|
|
36
|
+
* @returns {Promise<Post | null>}
|
|
37
|
+
*/
|
|
38
|
+
async getPost() { return this.main.posts.get.call(this.main.posts, this.post_id); }
|
|
39
|
+
}
|
|
40
|
+
exports.default = Note;
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdHJ1Y3R1cmVzL05vdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxNQUFxQixJQUFJO0lBQ2hCLElBQUksQ0FBTztJQUNuQixFQUFFLENBQVM7SUFDWCxPQUFPLENBQVM7SUFDaEIsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBUztJQUNuQixVQUFVLENBQWdCO0lBQzFCLFlBQVksQ0FBUztJQUNyQixDQUFDLENBQVM7SUFDVixDQUFDLENBQVM7SUFDVixLQUFLLENBQVM7SUFDZCxNQUFNLENBQVM7SUFDZixPQUFPLENBQVM7SUFDaEIsU0FBUyxDQUFVO0lBQ25CLElBQUksQ0FBUztJQUNiLFlBQVksSUFBVSxFQUFFLElBQW9CO1FBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNuQyxLQUFLLEVBQUUsSUFBSTtZQUNYLFlBQVksRUFBRSxLQUFLO1lBQ25CLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTNIOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ25GO0FBdENELHVCQXNDQyJ9
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { NoteHistoryProperties } from "../types";
|
|
2
|
+
import type E621 from "..";
|
|
3
|
+
import { Post, User } from "..";
|
|
4
|
+
export default class NoteHistory implements NoteHistoryProperties {
|
|
5
|
+
private main;
|
|
6
|
+
id: number;
|
|
7
|
+
note_id: number;
|
|
8
|
+
post_id: number;
|
|
9
|
+
created_at: string;
|
|
10
|
+
updated_at: string;
|
|
11
|
+
updater_id: number | null;
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
body: string;
|
|
17
|
+
version: number;
|
|
18
|
+
is_active: boolean;
|
|
19
|
+
constructor(main: E621, info: NoteHistoryProperties);
|
|
20
|
+
/**
|
|
21
|
+
* Get the updater for this history
|
|
22
|
+
*
|
|
23
|
+
* @returns {Promise<User | null>}
|
|
24
|
+
*/
|
|
25
|
+
getUpdater(): Promise<User | null>;
|
|
26
|
+
/**
|
|
27
|
+
* Get the post for this history
|
|
28
|
+
*
|
|
29
|
+
* @returns {Promise<Post | null>}
|
|
30
|
+
*/
|
|
31
|
+
getPost(): Promise<Post | null>;
|
|
32
|
+
/**
|
|
33
|
+
* Get the post for this history
|
|
34
|
+
*
|
|
35
|
+
* @returns {Promise<Note | null>}
|
|
36
|
+
*/
|
|
37
|
+
getNote(): Promise<Post | null>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class NoteHistory {
|
|
4
|
+
main;
|
|
5
|
+
id;
|
|
6
|
+
note_id;
|
|
7
|
+
post_id;
|
|
8
|
+
created_at;
|
|
9
|
+
updated_at;
|
|
10
|
+
updater_id;
|
|
11
|
+
x;
|
|
12
|
+
y;
|
|
13
|
+
width;
|
|
14
|
+
height;
|
|
15
|
+
body;
|
|
16
|
+
version;
|
|
17
|
+
is_active;
|
|
18
|
+
constructor(main, info) {
|
|
19
|
+
Object.assign(this, info);
|
|
20
|
+
Object.defineProperty(this, "main", {
|
|
21
|
+
value: main,
|
|
22
|
+
configurable: false,
|
|
23
|
+
enumerable: false,
|
|
24
|
+
writable: false
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the updater for this history
|
|
29
|
+
*
|
|
30
|
+
* @returns {Promise<User | null>}
|
|
31
|
+
*/
|
|
32
|
+
async getUpdater() { return this.updater_id === null ? null : this.main.users.get.call(this.main.users, this.updater_id); }
|
|
33
|
+
/**
|
|
34
|
+
* Get the post for this history
|
|
35
|
+
*
|
|
36
|
+
* @returns {Promise<Post | null>}
|
|
37
|
+
*/
|
|
38
|
+
async getPost() { return this.main.posts.get.call(this.main.posts, this.post_id); }
|
|
39
|
+
/**
|
|
40
|
+
* Get the post for this history
|
|
41
|
+
*
|
|
42
|
+
* @returns {Promise<Note | null>}
|
|
43
|
+
*/
|
|
44
|
+
async getNote() { return this.main.posts.get.call(this.main.posts, this.note_id); }
|
|
45
|
+
}
|
|
46
|
+
exports.default = NoteHistory;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90ZUhpc3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RydWN0dXJlcy9Ob3RlSGlzdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLE1BQXFCLFdBQVc7SUFDdkIsSUFBSSxDQUFPO0lBQ25CLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBUztJQUNoQixPQUFPLENBQVM7SUFDaEIsVUFBVSxDQUFTO0lBQ25CLFVBQVUsQ0FBUztJQUNuQixVQUFVLENBQWdCO0lBQzFCLENBQUMsQ0FBUztJQUNWLENBQUMsQ0FBUztJQUNWLEtBQUssQ0FBUztJQUNkLE1BQU0sQ0FBUztJQUNmLElBQUksQ0FBUztJQUNiLE9BQU8sQ0FBUztJQUNoQixTQUFTLENBQVU7SUFDbkIsWUFBWSxJQUFVLEVBQUUsSUFBMkI7UUFDbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ25DLEtBQUssRUFBRSxJQUFJO1lBQ1gsWUFBWSxFQUFFLEtBQUs7WUFDbkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLEtBQUs7U0FDZixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFM0g7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkY7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDbkY7QUE3Q0QsOEJBNkNDIn0=
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { GenericSearchOptions } from ".";
|
|
2
|
+
|
|
3
|
+
export interface NoteProperties {
|
|
4
|
+
id: number;
|
|
5
|
+
post_id: number;
|
|
6
|
+
created_at: string;
|
|
7
|
+
updated_at: string;
|
|
8
|
+
creator_id: number | null;
|
|
9
|
+
creator_name: string;
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
version: number;
|
|
15
|
+
is_active: boolean;
|
|
16
|
+
body: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface SearchNotesOptions extends GenericSearchOptions {
|
|
20
|
+
body?: string;
|
|
21
|
+
author?: string;
|
|
22
|
+
tags?: string | Array<string>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// POST /notes/:id.json
|
|
26
|
+
export interface CreateNoteOptions {
|
|
27
|
+
postId: number;
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
width: number;
|
|
31
|
+
height: number;
|
|
32
|
+
body: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface ModifyNoteOptions {
|
|
36
|
+
x?: number;
|
|
37
|
+
y?: number;
|
|
38
|
+
width?: number;
|
|
39
|
+
height?: number;
|
|
40
|
+
body?: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface NoteHistoryProperties {
|
|
44
|
+
id: number;
|
|
45
|
+
note_id: number;
|
|
46
|
+
post_id: number;
|
|
47
|
+
created_at: string;
|
|
48
|
+
updated_at: string;
|
|
49
|
+
updater_id: number | null;
|
|
50
|
+
x: number;
|
|
51
|
+
y: number;
|
|
52
|
+
width: number;
|
|
53
|
+
height: number;
|
|
54
|
+
body: string;
|
|
55
|
+
version: number;
|
|
56
|
+
is_active: boolean;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface SearchNoteHistoryOptions extends GenericSearchOptions {
|
|
60
|
+
noteId?: number;
|
|
61
|
+
postId?: number;
|
|
62
|
+
body?: string;
|
|
63
|
+
}
|