@book000/pixivts 0.55.1 → 0.56.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.
Files changed (204) hide show
  1. package/README.md +115 -19
  2. package/dist/index.cjs +1317 -0
  3. package/dist/index.d.cts +1659 -0
  4. package/dist/index.d.ts +1659 -45
  5. package/dist/index.js +1304 -65
  6. package/package.json +35 -72
  7. package/dist/checks.d.ts +0 -19
  8. package/dist/checks.d.ts.map +0 -1
  9. package/dist/checks.js +0 -85
  10. package/dist/checks.js.map +0 -1
  11. package/dist/checks.test.d.ts +0 -2
  12. package/dist/checks.test.d.ts.map +0 -1
  13. package/dist/checks.test.js +0 -306
  14. package/dist/checks.test.js.map +0 -1
  15. package/dist/http-client.d.ts +0 -66
  16. package/dist/http-client.d.ts.map +0 -1
  17. package/dist/http-client.js +0 -138
  18. package/dist/http-client.js.map +0 -1
  19. package/dist/http-client.test.d.ts +0 -2
  20. package/dist/http-client.test.d.ts.map +0 -1
  21. package/dist/http-client.test.js +0 -149
  22. package/dist/http-client.test.js.map +0 -1
  23. package/dist/index.d.ts.map +0 -1
  24. package/dist/index.js.map +0 -1
  25. package/dist/options.d.ts +0 -317
  26. package/dist/options.d.ts.map +0 -1
  27. package/dist/options.js +0 -222
  28. package/dist/options.js.map +0 -1
  29. package/dist/options.test.d.ts +0 -2
  30. package/dist/options.test.d.ts.map +0 -1
  31. package/dist/options.test.js +0 -117
  32. package/dist/options.test.js.map +0 -1
  33. package/dist/pixiv.d.ts +0 -317
  34. package/dist/pixiv.d.ts.map +0 -1
  35. package/dist/pixiv.js +0 -810
  36. package/dist/pixiv.js.map +0 -1
  37. package/dist/pixiv.test.d.ts +0 -2
  38. package/dist/pixiv.test.d.ts.map +0 -1
  39. package/dist/pixiv.test.js +0 -883
  40. package/dist/pixiv.test.js.map +0 -1
  41. package/dist/saving-responses/index.d.ts +0 -130
  42. package/dist/saving-responses/index.d.ts.map +0 -1
  43. package/dist/saving-responses/index.js +0 -263
  44. package/dist/saving-responses/index.js.map +0 -1
  45. package/dist/saving-responses/index.test.d.ts +0 -2
  46. package/dist/saving-responses/index.test.d.ts.map +0 -1
  47. package/dist/saving-responses/index.test.js +0 -468
  48. package/dist/saving-responses/index.test.js.map +0 -1
  49. package/dist/saving-responses/response-entity.d.ts +0 -16
  50. package/dist/saving-responses/response-entity.d.ts.map +0 -1
  51. package/dist/saving-responses/response-entity.js +0 -101
  52. package/dist/saving-responses/response-entity.js.map +0 -1
  53. package/dist/types/endpoints/v1/illust/bookmark/delete.d.ts +0 -14
  54. package/dist/types/endpoints/v1/illust/bookmark/delete.d.ts.map +0 -1
  55. package/dist/types/endpoints/v1/illust/bookmark/delete.js +0 -3
  56. package/dist/types/endpoints/v1/illust/bookmark/delete.js.map +0 -1
  57. package/dist/types/endpoints/v1/illust/detail.d.ts +0 -25
  58. package/dist/types/endpoints/v1/illust/detail.d.ts.map +0 -1
  59. package/dist/types/endpoints/v1/illust/detail.js +0 -20
  60. package/dist/types/endpoints/v1/illust/detail.js.map +0 -1
  61. package/dist/types/endpoints/v1/illust/ranking.d.ts +0 -51
  62. package/dist/types/endpoints/v1/illust/ranking.d.ts.map +0 -1
  63. package/dist/types/endpoints/v1/illust/ranking.js +0 -40
  64. package/dist/types/endpoints/v1/illust/ranking.js.map +0 -1
  65. package/dist/types/endpoints/v1/illust/recommended.d.ts +0 -104
  66. package/dist/types/endpoints/v1/illust/recommended.d.ts.map +0 -1
  67. package/dist/types/endpoints/v1/illust/recommended.js +0 -44
  68. package/dist/types/endpoints/v1/illust/recommended.js.map +0 -1
  69. package/dist/types/endpoints/v1/illust/series.d.ts +0 -45
  70. package/dist/types/endpoints/v1/illust/series.d.ts.map +0 -1
  71. package/dist/types/endpoints/v1/illust/series.js +0 -31
  72. package/dist/types/endpoints/v1/illust/series.js.map +0 -1
  73. package/dist/types/endpoints/v1/illust/ugoira/metadata.d.ts +0 -25
  74. package/dist/types/endpoints/v1/illust/ugoira/metadata.d.ts.map +0 -1
  75. package/dist/types/endpoints/v1/illust/ugoira/metadata.js +0 -20
  76. package/dist/types/endpoints/v1/illust/ugoira/metadata.js.map +0 -1
  77. package/dist/types/endpoints/v1/manga/recommended.d.ts +0 -72
  78. package/dist/types/endpoints/v1/manga/recommended.d.ts.map +0 -1
  79. package/dist/types/endpoints/v1/manga/recommended.js +0 -33
  80. package/dist/types/endpoints/v1/manga/recommended.js.map +0 -1
  81. package/dist/types/endpoints/v1/novel/bookmark/delete.d.ts +0 -14
  82. package/dist/types/endpoints/v1/novel/bookmark/delete.d.ts.map +0 -1
  83. package/dist/types/endpoints/v1/novel/bookmark/delete.js +0 -3
  84. package/dist/types/endpoints/v1/novel/bookmark/delete.js.map +0 -1
  85. package/dist/types/endpoints/v1/novel/ranking.d.ts +0 -47
  86. package/dist/types/endpoints/v1/novel/ranking.d.ts.map +0 -1
  87. package/dist/types/endpoints/v1/novel/ranking.js +0 -39
  88. package/dist/types/endpoints/v1/novel/ranking.js.map +0 -1
  89. package/dist/types/endpoints/v1/novel/recommended.d.ts +0 -72
  90. package/dist/types/endpoints/v1/novel/recommended.d.ts.map +0 -1
  91. package/dist/types/endpoints/v1/novel/recommended.js +0 -32
  92. package/dist/types/endpoints/v1/novel/recommended.js.map +0 -1
  93. package/dist/types/endpoints/v1/novel/related.d.ts +0 -37
  94. package/dist/types/endpoints/v1/novel/related.d.ts.map +0 -1
  95. package/dist/types/endpoints/v1/novel/related.js +0 -24
  96. package/dist/types/endpoints/v1/novel/related.js.map +0 -1
  97. package/dist/types/endpoints/v1/search/illust.d.ts +0 -109
  98. package/dist/types/endpoints/v1/search/illust.d.ts.map +0 -1
  99. package/dist/types/endpoints/v1/search/illust.js +0 -40
  100. package/dist/types/endpoints/v1/search/illust.js.map +0 -1
  101. package/dist/types/endpoints/v1/search/novel.d.ts +0 -103
  102. package/dist/types/endpoints/v1/search/novel.d.ts.map +0 -1
  103. package/dist/types/endpoints/v1/search/novel.js +0 -38
  104. package/dist/types/endpoints/v1/search/novel.js.map +0 -1
  105. package/dist/types/endpoints/v1/user/bookmarks/illust.d.ts +0 -48
  106. package/dist/types/endpoints/v1/user/bookmarks/illust.d.ts.map +0 -1
  107. package/dist/types/endpoints/v1/user/bookmarks/illust.js +0 -31
  108. package/dist/types/endpoints/v1/user/bookmarks/illust.js.map +0 -1
  109. package/dist/types/endpoints/v1/user/bookmarks/novel.d.ts +0 -44
  110. package/dist/types/endpoints/v1/user/bookmarks/novel.d.ts.map +0 -1
  111. package/dist/types/endpoints/v1/user/bookmarks/novel.js +0 -28
  112. package/dist/types/endpoints/v1/user/bookmarks/novel.js.map +0 -1
  113. package/dist/types/endpoints/v1/user/detail.d.ts +0 -44
  114. package/dist/types/endpoints/v1/user/detail.d.ts.map +0 -1
  115. package/dist/types/endpoints/v1/user/detail.js +0 -26
  116. package/dist/types/endpoints/v1/user/detail.js.map +0 -1
  117. package/dist/types/endpoints/v1/user/follow/add.d.ts +0 -24
  118. package/dist/types/endpoints/v1/user/follow/add.d.ts.map +0 -1
  119. package/dist/types/endpoints/v1/user/follow/add.js +0 -3
  120. package/dist/types/endpoints/v1/user/follow/add.js.map +0 -1
  121. package/dist/types/endpoints/v1/user/follow/delete.d.ts +0 -14
  122. package/dist/types/endpoints/v1/user/follow/delete.d.ts.map +0 -1
  123. package/dist/types/endpoints/v1/user/follow/delete.js +0 -3
  124. package/dist/types/endpoints/v1/user/follow/delete.js.map +0 -1
  125. package/dist/types/endpoints/v1/user/following.d.ts +0 -38
  126. package/dist/types/endpoints/v1/user/following.d.ts.map +0 -1
  127. package/dist/types/endpoints/v1/user/following.js +0 -26
  128. package/dist/types/endpoints/v1/user/following.js.map +0 -1
  129. package/dist/types/endpoints/v1/user/illusts.d.ts +0 -51
  130. package/dist/types/endpoints/v1/user/illusts.d.ts.map +0 -1
  131. package/dist/types/endpoints/v1/user/illusts.js +0 -31
  132. package/dist/types/endpoints/v1/user/illusts.js.map +0 -1
  133. package/dist/types/endpoints/v1/user/novels.d.ts +0 -43
  134. package/dist/types/endpoints/v1/user/novels.d.ts.map +0 -1
  135. package/dist/types/endpoints/v1/user/novels.js +0 -29
  136. package/dist/types/endpoints/v1/user/novels.js.map +0 -1
  137. package/dist/types/endpoints/v2/illust/bookmark/add.d.ts +0 -28
  138. package/dist/types/endpoints/v2/illust/bookmark/add.d.ts.map +0 -1
  139. package/dist/types/endpoints/v2/illust/bookmark/add.js +0 -3
  140. package/dist/types/endpoints/v2/illust/bookmark/add.js.map +0 -1
  141. package/dist/types/endpoints/v2/illust/related.d.ts +0 -48
  142. package/dist/types/endpoints/v2/illust/related.d.ts.map +0 -1
  143. package/dist/types/endpoints/v2/illust/related.js +0 -32
  144. package/dist/types/endpoints/v2/illust/related.js.map +0 -1
  145. package/dist/types/endpoints/v2/novel/bookmark/add.d.ts +0 -27
  146. package/dist/types/endpoints/v2/novel/bookmark/add.d.ts.map +0 -1
  147. package/dist/types/endpoints/v2/novel/bookmark/add.js +0 -3
  148. package/dist/types/endpoints/v2/novel/bookmark/add.js.map +0 -1
  149. package/dist/types/endpoints/v2/novel/detail.d.ts +0 -25
  150. package/dist/types/endpoints/v2/novel/detail.d.ts.map +0 -1
  151. package/dist/types/endpoints/v2/novel/detail.js +0 -20
  152. package/dist/types/endpoints/v2/novel/detail.js.map +0 -1
  153. package/dist/types/endpoints/v2/novel/series.d.ts +0 -49
  154. package/dist/types/endpoints/v2/novel/series.d.ts.map +0 -1
  155. package/dist/types/endpoints/v2/novel/series.js +0 -31
  156. package/dist/types/endpoints/v2/novel/series.js.map +0 -1
  157. package/dist/types/endpoints/webview/v2/novel.d.ts +0 -21
  158. package/dist/types/endpoints/webview/v2/novel.d.ts.map +0 -1
  159. package/dist/types/endpoints/webview/v2/novel.js +0 -18
  160. package/dist/types/endpoints/webview/v2/novel.js.map +0 -1
  161. package/dist/types/error-response.d.ts +0 -31
  162. package/dist/types/error-response.d.ts.map +0 -1
  163. package/dist/types/error-response.js +0 -3
  164. package/dist/types/error-response.js.map +0 -1
  165. package/dist/types/errors.d.ts +0 -7
  166. package/dist/types/errors.d.ts.map +0 -1
  167. package/dist/types/errors.js +0 -14
  168. package/dist/types/errors.js.map +0 -1
  169. package/dist/types/pixiv-common.d.ts +0 -103
  170. package/dist/types/pixiv-common.d.ts.map +0 -1
  171. package/dist/types/pixiv-common.js +0 -68
  172. package/dist/types/pixiv-common.js.map +0 -1
  173. package/dist/types/pixiv-illust-series.d.ts +0 -56
  174. package/dist/types/pixiv-illust-series.d.ts.map +0 -1
  175. package/dist/types/pixiv-illust-series.js +0 -26
  176. package/dist/types/pixiv-illust-series.js.map +0 -1
  177. package/dist/types/pixiv-illust.d.ts +0 -180
  178. package/dist/types/pixiv-illust.d.ts.map +0 -1
  179. package/dist/types/pixiv-illust.js +0 -56
  180. package/dist/types/pixiv-illust.js.map +0 -1
  181. package/dist/types/pixiv-novel-series.d.ts +0 -84
  182. package/dist/types/pixiv-novel-series.d.ts.map +0 -1
  183. package/dist/types/pixiv-novel-series.js +0 -43
  184. package/dist/types/pixiv-novel-series.js.map +0 -1
  185. package/dist/types/pixiv-novel.d.ts +0 -131
  186. package/dist/types/pixiv-novel.d.ts.map +0 -1
  187. package/dist/types/pixiv-novel.js +0 -44
  188. package/dist/types/pixiv-novel.js.map +0 -1
  189. package/dist/types/pixiv-ugoira.d.ts +0 -50
  190. package/dist/types/pixiv-ugoira.d.ts.map +0 -1
  191. package/dist/types/pixiv-ugoira.js +0 -34
  192. package/dist/types/pixiv-ugoira.js.map +0 -1
  193. package/dist/types/pixiv-user.d.ts +0 -212
  194. package/dist/types/pixiv-user.d.ts.map +0 -1
  195. package/dist/types/pixiv-user.js +0 -118
  196. package/dist/types/pixiv-user.js.map +0 -1
  197. package/dist/utils.d.ts +0 -3
  198. package/dist/utils.d.ts.map +0 -1
  199. package/dist/utils.js +0 -15
  200. package/dist/utils.js.map +0 -1
  201. package/dist/utils.test.d.ts +0 -2
  202. package/dist/utils.test.d.ts.map +0 -1
  203. package/dist/utils.test.js +0 -15
  204. package/dist/utils.test.js.map +0 -1
@@ -1,468 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* eslint-disable unicorn/consistent-function-scoping */
4
- /* eslint-disable @typescript-eslint/unbound-method */
5
- const typeorm_1 = require("typeorm");
6
- const index_1 = require("./index");
7
- const response_entity_1 = require("./response-entity");
8
- // Mock the DataSource
9
- jest.mock('typeorm', () => {
10
- const originalModule = jest.requireActual('typeorm');
11
- const mockDataSource = {
12
- initialize: jest.fn().mockResolvedValue(null),
13
- runMigrations: jest.fn().mockResolvedValue(null),
14
- synchronize: jest.fn().mockResolvedValue(null),
15
- destroy: jest.fn().mockResolvedValue(null),
16
- isInitialized: false,
17
- migrations: [],
18
- };
19
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
20
- return {
21
- __esModule: true,
22
- ...originalModule,
23
- DataSource: jest.fn(() => mockDataSource),
24
- };
25
- });
26
- // Mock the DBResponse
27
- jest.mock('./response-entity', () => {
28
- // Mock response object
29
- const mockResponseObj = {
30
- id: 1,
31
- method: 'GET',
32
- endpoint: '/test',
33
- url: 'https://example.com',
34
- urlHash: 'hash',
35
- requestHeaders: null,
36
- requestBody: null,
37
- responseType: 'JSON',
38
- statusCode: 200,
39
- responseHeaders: null,
40
- responseBody: '{}',
41
- createdAt: new Date(),
42
- };
43
- // Mock the save method
44
- const mockSave = jest.fn().mockResolvedValue({ ...mockResponseObj });
45
- // Mock query builder
46
- const mockQueryBuilder = {
47
- where: jest.fn().mockReturnThis(),
48
- groupBy: jest.fn().mockReturnThis(),
49
- select: jest.fn().mockReturnThis(),
50
- getRawMany: jest.fn().mockResolvedValue([
51
- { method: 'GET', endpoint: '/test1', statusCode: 200, count: 3 },
52
- { method: 'POST', endpoint: '/test2', statusCode: 201, count: 2 },
53
- ]),
54
- };
55
- // Create a mock object that has both a constructor and class methods
56
- const MockDBResponseClass = jest.fn().mockImplementation(function () {
57
- return {
58
- ...mockResponseObj,
59
- save: mockSave,
60
- };
61
- });
62
- // Add static methods
63
- MockDBResponseClass.find = jest
64
- .fn()
65
- .mockResolvedValue([{ ...mockResponseObj }]);
66
- MockDBResponseClass.count = jest.fn().mockResolvedValue(5);
67
- MockDBResponseClass.createQueryBuilder = jest
68
- .fn()
69
- .mockReturnValue(mockQueryBuilder);
70
- return {
71
- __esModule: true,
72
- DBResponse: MockDBResponseClass,
73
- };
74
- });
75
- describe('ResponseDatabase', () => {
76
- let responseDB;
77
- let mockDataSource;
78
- beforeEach(() => {
79
- jest.clearAllMocks();
80
- // Clear environment variables used for testing
81
- delete process.env.RESPONSE_DB_HOSTNAME;
82
- delete process.env.RESPONSE_DB_PORT;
83
- delete process.env.RESPONSE_DB_USERNAME;
84
- delete process.env.RESPONSE_DB_PASSWORD;
85
- delete process.env.RESPONSE_DB_DATABASE;
86
- responseDB = new index_1.ResponseDatabase({
87
- hostname: 'localhost',
88
- port: '3306',
89
- username: 'testuser',
90
- password: 'testpass',
91
- database: 'testdb',
92
- });
93
- // Get the mocked DataSource
94
- mockDataSource = responseDB.getDataSource();
95
- });
96
- describe('constructor', () => {
97
- it('should use options from constructor parameters', () => {
98
- // Declare a variable and verify the result instead of using new only for the side effect
99
- const testDB = new index_1.ResponseDatabase({
100
- hostname: 'custom-host',
101
- port: '1234',
102
- username: 'custom-user',
103
- password: 'custom-pass',
104
- database: 'custom-db',
105
- });
106
- expect(testDB).toBeDefined();
107
- expect(typeorm_1.DataSource).toHaveBeenCalledWith(expect.objectContaining({
108
- host: 'custom-host',
109
- port: 1234,
110
- username: 'custom-user',
111
- password: 'custom-pass',
112
- database: 'custom-db',
113
- }));
114
- });
115
- it('should use options from environment variables', () => {
116
- process.env.RESPONSE_DB_HOSTNAME = 'env-host';
117
- process.env.RESPONSE_DB_PORT = '5678';
118
- process.env.RESPONSE_DB_USERNAME = 'env-user';
119
- process.env.RESPONSE_DB_PASSWORD = 'env-pass';
120
- process.env.RESPONSE_DB_DATABASE = 'env-db';
121
- // Declare a variable and verify the result instead of using new only for the side effect
122
- const testDB = new index_1.ResponseDatabase();
123
- expect(testDB).toBeDefined();
124
- expect(typeorm_1.DataSource).toHaveBeenCalledWith(expect.objectContaining({
125
- host: 'env-host',
126
- port: 5678,
127
- username: 'env-user',
128
- password: 'env-pass',
129
- database: 'env-db',
130
- }));
131
- });
132
- it('should throw error when port is invalid', () => {
133
- expect(() => new index_1.ResponseDatabase({ port: 'invalid' })).toThrow('Responses database port is invalid');
134
- expect(() => new index_1.ResponseDatabase({ port: '-1' })).toThrow('Responses database port is invalid');
135
- expect(() => new index_1.ResponseDatabase({ port: '0' })).toThrow('Responses database port is invalid');
136
- });
137
- });
138
- describe('init', () => {
139
- let originalPrintDebug;
140
- beforeEach(() => {
141
- // Mock printDebug to suppress log output during the test
142
- originalPrintDebug = index_1.ResponseDatabase.printDebug;
143
- index_1.ResponseDatabase.printDebug = jest.fn();
144
- });
145
- afterEach(() => {
146
- // Restore after the test
147
- index_1.ResponseDatabase.printDebug = originalPrintDebug;
148
- });
149
- it('should return true when initialization succeeds', async () => {
150
- mockDataSource.isInitialized = false;
151
- mockDataSource.initialize.mockResolvedValueOnce(null);
152
- const result = await responseDB.init();
153
- expect(mockDataSource.initialize).toHaveBeenCalled();
154
- expect(result).toBe(true);
155
- });
156
- it('should return true if already initialized', async () => {
157
- mockDataSource.isInitialized = true;
158
- const result = await responseDB.init();
159
- expect(mockDataSource.initialize).not.toHaveBeenCalled();
160
- expect(result).toBe(true);
161
- });
162
- it('should return false when initialization fails', async () => {
163
- mockDataSource.isInitialized = false;
164
- mockDataSource.initialize.mockRejectedValueOnce(new Error('Init error'));
165
- const result = await responseDB.init();
166
- expect(mockDataSource.initialize).toHaveBeenCalled();
167
- expect(result).toBe(false);
168
- });
169
- // Additional test to improve coverage - the case that executes line 252
170
- it('should correctly handle initialization error and return false', async () => {
171
- mockDataSource.isInitialized = false;
172
- const initError = new Error('Database connection failed');
173
- mockDataSource.initialize.mockRejectedValueOnce(initError);
174
- // Further spy on printDebug to confirm it was actually called
175
- const printDebugSpy = jest.spyOn(index_1.ResponseDatabase, 'printDebug');
176
- const result = await responseDB.init();
177
- // Confirm it fails within the case and returns false
178
- expect(result).toBe(false);
179
- // Confirm printDebug was called with the error message
180
- expect(printDebugSpy).toHaveBeenCalledWith('Responses database initialization failed', initError);
181
- printDebugSpy.mockRestore();
182
- });
183
- });
184
- describe('migrate', () => {
185
- it('should run migrations when there are migrations', async () => {
186
- mockDataSource.isInitialized = true;
187
- mockDataSource.migrations = ['migration1', 'migration2'];
188
- await responseDB.migrate();
189
- expect(mockDataSource.runMigrations).toHaveBeenCalled();
190
- });
191
- it('should not run migrations when there are no migrations', async () => {
192
- mockDataSource.isInitialized = true;
193
- mockDataSource.migrations = [];
194
- await responseDB.migrate();
195
- expect(mockDataSource.runMigrations).not.toHaveBeenCalled();
196
- });
197
- it('should throw error when not initialized', async () => {
198
- mockDataSource.isInitialized = false;
199
- await expect(responseDB.migrate()).rejects.toThrow('Responses database is not initialized');
200
- expect(mockDataSource.runMigrations).not.toHaveBeenCalled();
201
- });
202
- });
203
- describe('sync', () => {
204
- it('should synchronize schema', async () => {
205
- mockDataSource.isInitialized = true;
206
- await responseDB.sync();
207
- expect(mockDataSource.synchronize).toHaveBeenCalled();
208
- });
209
- it('should throw error when not initialized', async () => {
210
- mockDataSource.isInitialized = false;
211
- await expect(responseDB.sync()).rejects.toThrow('Responses database is not initialized');
212
- expect(mockDataSource.synchronize).not.toHaveBeenCalled();
213
- });
214
- });
215
- describe('addResponse', () => {
216
- it('should add a response when initialized', async () => {
217
- mockDataSource.isInitialized = true;
218
- const response = await responseDB.addResponse({
219
- method: 'GET',
220
- endpoint: '/test',
221
- url: 'https://example.com',
222
- requestHeaders: null,
223
- requestBody: null,
224
- responseType: 'JSON',
225
- statusCode: 200,
226
- responseHeaders: null,
227
- responseBody: '{}',
228
- });
229
- expect(response).toBeDefined();
230
- expect(response?.method).toBe('GET');
231
- expect(response?.endpoint).toBe('/test');
232
- });
233
- it('should throw error when not initialized', async () => {
234
- mockDataSource.isInitialized = false;
235
- await expect(responseDB.addResponse({
236
- method: 'GET',
237
- endpoint: '/test',
238
- url: 'https://example.com',
239
- requestHeaders: null,
240
- requestBody: null,
241
- responseType: 'JSON',
242
- statusCode: 200,
243
- responseHeaders: null,
244
- responseBody: '{}',
245
- })).rejects.toThrow('Responses database is not initialized');
246
- });
247
- });
248
- describe('getResponses', () => {
249
- beforeEach(() => {
250
- mockDataSource.isInitialized = true;
251
- const mockResponses = [
252
- { id: 1, method: 'GET', endpoint: '/test1', statusCode: 200 },
253
- { id: 2, method: 'POST', endpoint: '/test2', statusCode: 201 },
254
- ];
255
- // Mock DBResponse.find
256
- jest.spyOn(response_entity_1.DBResponse, 'find').mockResolvedValue(mockResponses);
257
- });
258
- it('should get all responses when endpoint is not specified', async () => {
259
- await responseDB.getResponses();
260
- expect(response_entity_1.DBResponse.find).toHaveBeenCalledWith({
261
- where: {
262
- createdAt: expect.any(Object),
263
- },
264
- order: { id: 'DESC' },
265
- });
266
- });
267
- it('should get responses for specific endpoint', async () => {
268
- const endpoint = {
269
- method: 'GET',
270
- endpoint: '/test',
271
- statusCode: 200,
272
- };
273
- await responseDB.getResponses(endpoint);
274
- expect(response_entity_1.DBResponse.find).toHaveBeenCalledWith({
275
- where: [
276
- {
277
- method: 'GET',
278
- endpoint: '/test',
279
- statusCode: 200,
280
- createdAt: expect.any(Object),
281
- },
282
- ],
283
- order: { id: 'DESC' },
284
- });
285
- });
286
- it('should get responses for multiple endpoints', async () => {
287
- const endpoints = [
288
- { method: 'GET', endpoint: '/test1', statusCode: 200 },
289
- { method: 'POST', endpoint: '/test2', statusCode: 201 },
290
- ];
291
- await responseDB.getResponses(endpoints);
292
- expect(response_entity_1.DBResponse.find).toHaveBeenCalledWith({
293
- where: [
294
- { method: 'GET', endpoint: '/test1', statusCode: 200 },
295
- { method: 'POST', endpoint: '/test2', statusCode: 201 },
296
- ],
297
- order: { id: 'DESC' },
298
- });
299
- });
300
- it('should apply pagination when specified', async () => {
301
- await responseDB.getResponses(undefined, { page: 2, limit: 10 });
302
- expect(response_entity_1.DBResponse.find).toHaveBeenCalledWith({
303
- where: {
304
- createdAt: expect.any(Object),
305
- },
306
- order: { id: 'DESC' },
307
- skip: 10,
308
- take: 10,
309
- });
310
- });
311
- it('should throw error when pagination parameters are invalid', async () => {
312
- await expect(responseDB.getResponses(undefined, { page: 0, limit: 10 })).rejects.toThrow('Responses database range is invalid (page: 0, limit: 10)');
313
- await expect(responseDB.getResponses(undefined, { page: 1, limit: 0 })).rejects.toThrow('Responses database range is invalid (page: 1, limit: 0)');
314
- });
315
- it('should throw error when not initialized', async () => {
316
- mockDataSource.isInitialized = false;
317
- await expect(responseDB.getResponses()).rejects.toThrow('Responses database is not initialized');
318
- });
319
- });
320
- describe('getResponseCount', () => {
321
- beforeEach(() => {
322
- mockDataSource.isInitialized = true;
323
- jest.spyOn(response_entity_1.DBResponse, 'count').mockResolvedValue(5);
324
- });
325
- it('should get count of all responses when endpoint is not specified', async () => {
326
- const count = await responseDB.getResponseCount();
327
- expect(response_entity_1.DBResponse.count).toHaveBeenCalledWith({
328
- where: {
329
- createdAt: expect.any(Object),
330
- },
331
- });
332
- expect(count).toBe(5);
333
- });
334
- it('should get count for specific endpoint', async () => {
335
- const endpoint = {
336
- method: 'GET',
337
- endpoint: '/test',
338
- statusCode: 200,
339
- };
340
- const count = await responseDB.getResponseCount(endpoint);
341
- expect(response_entity_1.DBResponse.count).toHaveBeenCalledWith({
342
- where: [
343
- {
344
- method: 'GET',
345
- endpoint: '/test',
346
- statusCode: 200,
347
- createdAt: expect.any(Object),
348
- },
349
- ],
350
- });
351
- expect(count).toBe(5);
352
- });
353
- it('should throw error when not initialized', async () => {
354
- mockDataSource.isInitialized = false;
355
- await expect(responseDB.getResponseCount()).rejects.toThrow('Responses database is not initialized');
356
- });
357
- });
358
- describe('getEndpoints', () => {
359
- beforeEach(() => {
360
- mockDataSource.isInitialized = true;
361
- const mockEndpoints = [
362
- { method: 'GET', endpoint: '/test1', statusCode: 200, count: 3 },
363
- { method: 'POST', endpoint: '/test2', statusCode: 201, count: 2 },
364
- ];
365
- const mockQueryBuilder = {
366
- where: jest.fn().mockReturnThis(),
367
- groupBy: jest.fn().mockReturnThis(),
368
- select: jest.fn().mockReturnThis(),
369
- getRawMany: jest.fn().mockResolvedValue(mockEndpoints),
370
- };
371
- jest
372
- .spyOn(response_entity_1.DBResponse, 'createQueryBuilder')
373
- .mockReturnValue(mockQueryBuilder);
374
- });
375
- it('should get all endpoints', async () => {
376
- const endpoints = await responseDB.getEndpoints();
377
- expect(response_entity_1.DBResponse.createQueryBuilder).toHaveBeenCalled();
378
- expect(endpoints).toEqual([
379
- { method: 'GET', endpoint: '/test1', statusCode: 200, count: 3 },
380
- { method: 'POST', endpoint: '/test2', statusCode: 201, count: 2 },
381
- ]);
382
- });
383
- it('should throw error when not initialized', async () => {
384
- mockDataSource.isInitialized = false;
385
- await expect(responseDB.getEndpoints()).rejects.toThrow('Responses database is not initialized');
386
- });
387
- });
388
- describe('close', () => {
389
- it('should close the database connection when initialized', async () => {
390
- mockDataSource.isInitialized = true;
391
- await responseDB.close();
392
- expect(mockDataSource.destroy).toHaveBeenCalled();
393
- });
394
- it('should do nothing when not initialized', async () => {
395
- mockDataSource.isInitialized = false;
396
- await responseDB.close();
397
- expect(mockDataSource.destroy).not.toHaveBeenCalled();
398
- });
399
- });
400
- describe('isInitialized', () => {
401
- it('should return true when database is initialized', () => {
402
- mockDataSource.isInitialized = true;
403
- expect(responseDB.isInitialized()).toBe(true);
404
- });
405
- it('should return false when database is not initialized', () => {
406
- mockDataSource.isInitialized = false;
407
- expect(responseDB.isInitialized()).toBe(false);
408
- });
409
- });
410
- describe('getDataSource', () => {
411
- it('should return data source', () => {
412
- const dataSource = responseDB.getDataSource();
413
- expect(dataSource).toBe(mockDataSource);
414
- });
415
- });
416
- describe('parsePort', () => {
417
- // Helper function for testing private methods
418
- const testParsePort = (port) => {
419
- // @ts-expect-error access to a private method
420
- return responseDB.parsePort(port);
421
- };
422
- it('should return default port when port is undefined', () => {
423
- expect(testParsePort(undefined)).toBe(3306);
424
- });
425
- it('should parse valid port', () => {
426
- expect(testParsePort('1234')).toBe(1234);
427
- });
428
- it('should throw error on invalid port', () => {
429
- expect(() => testParsePort('invalid')).toThrow('Responses database port is invalid');
430
- expect(() => testParsePort('-1')).toThrow('Responses database port is invalid');
431
- expect(() => testParsePort('0')).toThrow('Responses database port is invalid');
432
- });
433
- });
434
- describe('printDebug', () => {
435
- let consoleDebugSpy;
436
- let consoleErrorSpy;
437
- beforeEach(() => {
438
- consoleDebugSpy = jest.spyOn(console, 'debug').mockImplementation();
439
- consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation();
440
- });
441
- afterEach(() => {
442
- consoleDebugSpy.mockRestore();
443
- consoleErrorSpy.mockRestore();
444
- });
445
- it('should print debug message in development environment', () => {
446
- process.env.NODE_ENV = 'development';
447
- index_1.ResponseDatabase.printDebug('Debug message');
448
- expect(consoleDebugSpy).toHaveBeenCalledWith('[PixivTs@ResponseDatabase] Debug message');
449
- });
450
- it('should print debug message in test environment', () => {
451
- process.env.NODE_ENV = 'test';
452
- index_1.ResponseDatabase.printDebug('Debug message');
453
- expect(consoleDebugSpy).toHaveBeenCalledWith('[PixivTs@ResponseDatabase] Debug message');
454
- });
455
- it('should print error message with error object', () => {
456
- process.env.NODE_ENV = 'test';
457
- const error = new Error('Test error');
458
- index_1.ResponseDatabase.printDebug('Error message', error);
459
- expect(consoleErrorSpy).toHaveBeenCalledWith('[PixivTs@ResponseDatabase] Error message', error);
460
- });
461
- it('should not print in production environment', () => {
462
- process.env.NODE_ENV = 'production';
463
- index_1.ResponseDatabase.printDebug('Debug message');
464
- expect(consoleDebugSpy).not.toHaveBeenCalled();
465
- });
466
- });
467
- });
468
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/saving-responses/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { BaseEntity } from 'typeorm';
2
- export declare class DBResponse extends BaseEntity {
3
- id: number;
4
- method: string;
5
- endpoint: string;
6
- url: string | null;
7
- urlHash: string;
8
- requestHeaders: string | null;
9
- requestBody: string | null;
10
- responseType: string;
11
- statusCode: number;
12
- responseHeaders: string | null;
13
- responseBody: string;
14
- createdAt: Date;
15
- }
16
- //# sourceMappingURL=response-entity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response-entity.d.ts","sourceRoot":"","sources":["../../src/saving-responses/response-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKX,MAAM,SAAS,CAAA;AAEhB,qBAIa,UAAW,SAAQ,UAAU;IAKxC,EAAE,EAAG,MAAM,CAAA;IAOX,MAAM,EAAG,MAAM,CAAA;IAOf,QAAQ,EAAG,MAAM,CAAA;IAOjB,GAAG,EAAG,MAAM,GAAG,IAAI,CAAA;IAOnB,OAAO,EAAG,MAAM,CAAA;IAOhB,cAAc,EAAG,MAAM,GAAG,IAAI,CAAA;IAO9B,WAAW,EAAG,MAAM,GAAG,IAAI,CAAA;IAO3B,YAAY,EAAG,MAAM,CAAA;IAMrB,UAAU,EAAG,MAAM,CAAA;IAOnB,eAAe,EAAG,MAAM,GAAG,IAAI,CAAA;IAM/B,YAAY,EAAG,MAAM,CAAA;IAOrB,SAAS,EAAG,IAAI,CAAA;CACjB"}
@@ -1,101 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.DBResponse = void 0;
10
- const typeorm_1 = require("typeorm");
11
- let DBResponse = class DBResponse extends typeorm_1.BaseEntity {
12
- };
13
- exports.DBResponse = DBResponse;
14
- __decorate([
15
- (0, typeorm_1.PrimaryGeneratedColumn)('increment', {
16
- type: 'int',
17
- comment: 'Response ID',
18
- })
19
- ], DBResponse.prototype, "id", void 0);
20
- __decorate([
21
- (0, typeorm_1.Column)({
22
- type: 'varchar',
23
- length: 10,
24
- comment: 'Endpoint method',
25
- })
26
- ], DBResponse.prototype, "method", void 0);
27
- __decorate([
28
- (0, typeorm_1.Column)({
29
- type: 'varchar',
30
- length: 255,
31
- comment: 'Endpoint name',
32
- })
33
- ], DBResponse.prototype, "endpoint", void 0);
34
- __decorate([
35
- (0, typeorm_1.Column)({
36
- type: 'text',
37
- comment: 'Request URL',
38
- nullable: true,
39
- })
40
- ], DBResponse.prototype, "url", void 0);
41
- __decorate([
42
- (0, typeorm_1.Column)({
43
- type: 'varchar',
44
- length: 255,
45
- comment: 'Hash value of the request URL',
46
- })
47
- ], DBResponse.prototype, "urlHash", void 0);
48
- __decorate([
49
- (0, typeorm_1.Column)({
50
- type: 'longtext',
51
- comment: 'Request headers',
52
- nullable: true,
53
- })
54
- ], DBResponse.prototype, "requestHeaders", void 0);
55
- __decorate([
56
- (0, typeorm_1.Column)({
57
- type: 'longtext',
58
- comment: 'Request body',
59
- nullable: true,
60
- })
61
- ], DBResponse.prototype, "requestBody", void 0);
62
- __decorate([
63
- (0, typeorm_1.Column)({
64
- type: 'varchar',
65
- length: 10,
66
- comment: 'Response type',
67
- })
68
- ], DBResponse.prototype, "responseType", void 0);
69
- __decorate([
70
- (0, typeorm_1.Column)({
71
- type: 'int',
72
- comment: 'Response status code',
73
- })
74
- ], DBResponse.prototype, "statusCode", void 0);
75
- __decorate([
76
- (0, typeorm_1.Column)({
77
- type: 'longtext',
78
- comment: 'Response headers',
79
- nullable: true,
80
- })
81
- ], DBResponse.prototype, "responseHeaders", void 0);
82
- __decorate([
83
- (0, typeorm_1.Column)({
84
- type: 'longtext',
85
- comment: 'Response body',
86
- })
87
- ], DBResponse.prototype, "responseBody", void 0);
88
- __decorate([
89
- (0, typeorm_1.Column)({
90
- type: 'datetime',
91
- comment: 'Date and time the record was created',
92
- precision: 3,
93
- })
94
- ], DBResponse.prototype, "createdAt", void 0);
95
- exports.DBResponse = DBResponse = __decorate([
96
- (0, typeorm_1.Entity)('responses'),
97
- (0, typeorm_1.Index)(['method', 'endpoint', 'statusCode', 'createdAt', 'urlHash'], {
98
- unique: true,
99
- })
100
- ], DBResponse);
101
- //# sourceMappingURL=response-entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"response-entity.js","sourceRoot":"","sources":["../../src/saving-responses/response-entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,qCAMgB;AAMT,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,oBAAU;CAiFzC,CAAA;AAjFY,gCAAU;AAKrB;IAJC,IAAA,gCAAsB,EAAC,WAAW,EAAE;QACnC,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,aAAa;KACvB,CAAC;sCACS;AAOX;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,iBAAiB;KAC3B,CAAC;0CACa;AAOf;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,eAAe;KACzB,CAAC;4CACe;AAOjB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,IAAI;KACf,CAAC;uCACiB;AAOnB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,+BAA+B;KACzC,CAAC;2CACc;AAOhB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,IAAI;KACf,CAAC;kDAC4B;AAO9B;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;+CACyB;AAO3B;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,eAAe;KACzB,CAAC;gDACmB;AAMrB;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,sBAAsB;KAChC,CAAC;8CACiB;AAOnB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,IAAI;KACf,CAAC;mDAC6B;AAM/B;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,eAAe;KACzB,CAAC;gDACmB;AAOrB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,sCAAsC;QAC/C,SAAS,EAAE,CAAC;KACb,CAAC;6CACc;qBAhFL,UAAU;IAJtB,IAAA,gBAAM,EAAC,WAAW,CAAC;IACnB,IAAA,eAAK,EAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;QACnE,MAAM,EAAE,IAAI;KACb,CAAC;GACW,UAAU,CAiFtB"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Request for POST /v1/illust/bookmark/delete
3
- */
4
- export interface PostV1IllustBookmarkDeleteRequest {
5
- /**
6
- * Illust ID
7
- */
8
- illust_id: string;
9
- }
10
- /**
11
- * Response for POST /v1/illust/bookmark/delete
12
- */
13
- export type PostV1IllustBookmarkDeleteResponse = Record<string, never>;
14
- //# sourceMappingURL=delete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../../src/types/endpoints/v1/illust/bookmark/delete.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAChD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../../src/types/endpoints/v1/illust/bookmark/delete.ts"],"names":[],"mappings":""}