@chanomhub/sdk 1.2.0 → 1.2.2
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/dist/__tests__/imageUrl.test.js +38 -13
- package/dist/__tests__/imageUrl.test.js.map +1 -1
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/examples/article-revisions.d.ts +2 -0
- package/dist/examples/article-revisions.d.ts.map +1 -0
- package/dist/examples/article-revisions.js +70 -0
- package/dist/examples/article-revisions.js.map +1 -0
- package/dist/examples/manage-article.d.ts +2 -0
- package/dist/examples/manage-article.d.ts.map +1 -0
- package/dist/examples/manage-article.js +62 -0
- package/dist/examples/manage-article.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/repositories/articleRepository.d.ts +17 -3
- package/dist/repositories/articleRepository.d.ts.map +1 -1
- package/dist/repositories/articleRepository.js +74 -1
- package/dist/repositories/articleRepository.js.map +1 -1
- package/dist/transforms/imageUrl.d.ts +9 -0
- package/dist/transforms/imageUrl.d.ts.map +1 -1
- package/dist/transforms/imageUrl.js +33 -0
- package/dist/transforms/imageUrl.js.map +1 -1
- package/dist/types/article.d.ts +79 -0
- package/dist/types/article.d.ts.map +1 -1
- package/package.json +12 -12
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const vitest_1 = require("vitest");
|
|
4
4
|
const imageUrl_1 = require("../transforms/imageUrl");
|
|
5
|
-
const CDN_URL = 'https://cdn.chanomhub.com';
|
|
5
|
+
const CDN_URL = 'https://cdn.chanomhub.com/cdn-cgi/image/format=auto';
|
|
6
|
+
const STORAGE_URL = 'https://cdn.chanomhub.com';
|
|
6
7
|
(0, vitest_1.describe)('resolveImageUrl', () => {
|
|
7
8
|
(0, vitest_1.it)('should return null for null input', () => {
|
|
8
9
|
(0, vitest_1.expect)((0, imageUrl_1.resolveImageUrl)(null, CDN_URL)).toBeNull();
|
|
@@ -19,10 +20,10 @@ const CDN_URL = 'https://cdn.chanomhub.com';
|
|
|
19
20
|
(0, vitest_1.expect)((0, imageUrl_1.resolveImageUrl)(url, CDN_URL)).toBe(url);
|
|
20
21
|
});
|
|
21
22
|
(0, vitest_1.it)('should prepend CDN URL for filename only', () => {
|
|
22
|
-
(0, vitest_1.expect)((0, imageUrl_1.resolveImageUrl)('abc.jpg', CDN_URL)).toBe(
|
|
23
|
+
(0, vitest_1.expect)((0, imageUrl_1.resolveImageUrl)('abc.jpg', CDN_URL)).toBe(`${CDN_URL}/abc.jpg`);
|
|
23
24
|
});
|
|
24
25
|
(0, vitest_1.it)('should handle filenames with paths', () => {
|
|
25
|
-
(0, vitest_1.expect)((0, imageUrl_1.resolveImageUrl)('uploads/abc.jpg', CDN_URL)).toBe(
|
|
26
|
+
(0, vitest_1.expect)((0, imageUrl_1.resolveImageUrl)('uploads/abc.jpg', CDN_URL)).toBe(`${CDN_URL}/uploads/abc.jpg`);
|
|
26
27
|
});
|
|
27
28
|
});
|
|
28
29
|
(0, vitest_1.describe)('transformImageUrlsDeep', () => {
|
|
@@ -39,10 +40,10 @@ const CDN_URL = 'https://cdn.chanomhub.com';
|
|
|
39
40
|
title: 'Test Article',
|
|
40
41
|
};
|
|
41
42
|
const result = (0, imageUrl_1.transformImageUrlsDeep)(data, CDN_URL);
|
|
42
|
-
(0, vitest_1.expect)(result.mainImage).toBe(
|
|
43
|
-
(0, vitest_1.expect)(result.coverImage).toBe(
|
|
44
|
-
(0, vitest_1.expect)(result.backgroundImage).toBe(
|
|
45
|
-
(0, vitest_1.expect)(result.image).toBe(
|
|
43
|
+
(0, vitest_1.expect)(result.mainImage).toBe(`${CDN_URL}/main.jpg`);
|
|
44
|
+
(0, vitest_1.expect)(result.coverImage).toBe(`${CDN_URL}/cover.jpg`);
|
|
45
|
+
(0, vitest_1.expect)(result.backgroundImage).toBe(`${CDN_URL}/bg.jpg`);
|
|
46
|
+
(0, vitest_1.expect)(result.image).toBe(`${CDN_URL}/profile.jpg`);
|
|
46
47
|
(0, vitest_1.expect)(result.title).toBe('Test Article'); // Non-image field unchanged
|
|
47
48
|
});
|
|
48
49
|
(0, vitest_1.it)('should not transform already full URLs', () => {
|
|
@@ -57,8 +58,8 @@ const CDN_URL = 'https://cdn.chanomhub.com';
|
|
|
57
58
|
images: [{ url: 'image1.jpg' }, { url: 'image2.jpg' }],
|
|
58
59
|
};
|
|
59
60
|
const result = (0, imageUrl_1.transformImageUrlsDeep)(data, CDN_URL);
|
|
60
|
-
(0, vitest_1.expect)(result.images[0].url).toBe(
|
|
61
|
-
(0, vitest_1.expect)(result.images[1].url).toBe(
|
|
61
|
+
(0, vitest_1.expect)(result.images[0].url).toBe(`${CDN_URL}/image1.jpg`);
|
|
62
|
+
(0, vitest_1.expect)(result.images[1].url).toBe(`${CDN_URL}/image2.jpg`);
|
|
62
63
|
});
|
|
63
64
|
(0, vitest_1.it)('should recursively transform nested objects', () => {
|
|
64
65
|
const data = {
|
|
@@ -70,14 +71,38 @@ const CDN_URL = 'https://cdn.chanomhub.com';
|
|
|
70
71
|
},
|
|
71
72
|
};
|
|
72
73
|
const result = (0, imageUrl_1.transformImageUrlsDeep)(data, CDN_URL);
|
|
73
|
-
(0, vitest_1.expect)(result.article.mainImage).toBe(
|
|
74
|
-
(0, vitest_1.expect)(result.article.author.image).toBe(
|
|
74
|
+
(0, vitest_1.expect)(result.article.mainImage).toBe(`${CDN_URL}/article.jpg`);
|
|
75
|
+
(0, vitest_1.expect)(result.article.author.image).toBe(`${CDN_URL}/author.jpg`);
|
|
75
76
|
});
|
|
76
77
|
(0, vitest_1.it)('should handle arrays at root level', () => {
|
|
77
78
|
const data = [{ mainImage: 'img1.jpg' }, { mainImage: 'img2.jpg' }];
|
|
78
79
|
const result = (0, imageUrl_1.transformImageUrlsDeep)(data, CDN_URL);
|
|
79
|
-
(0, vitest_1.expect)(result[0].mainImage).toBe(
|
|
80
|
-
(0, vitest_1.expect)(result[1].mainImage).toBe(
|
|
80
|
+
(0, vitest_1.expect)(result[0].mainImage).toBe(`${CDN_URL}/img1.jpg`);
|
|
81
|
+
(0, vitest_1.expect)(result[1].mainImage).toBe(`${CDN_URL}/img2.jpg`);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
(0, vitest_1.describe)('getFallbackUrl', () => {
|
|
85
|
+
(0, vitest_1.it)('should return null for null/undefined input', () => {
|
|
86
|
+
(0, vitest_1.expect)((0, imageUrl_1.getFallbackUrl)(null, CDN_URL)).toBeNull();
|
|
87
|
+
(0, vitest_1.expect)((0, imageUrl_1.getFallbackUrl)(undefined, CDN_URL)).toBeNull();
|
|
88
|
+
});
|
|
89
|
+
(0, vitest_1.it)('should return filename as-is if just filename', () => {
|
|
90
|
+
(0, vitest_1.expect)((0, imageUrl_1.getFallbackUrl)('abc.jpg', CDN_URL)).toBe('abc.jpg');
|
|
91
|
+
});
|
|
92
|
+
(0, vitest_1.it)('should strip CDN URL from full URL', () => {
|
|
93
|
+
const fullUrl = `${CDN_URL}/abc.jpg`;
|
|
94
|
+
(0, vitest_1.expect)((0, imageUrl_1.getFallbackUrl)(fullUrl, CDN_URL)).toBe('abc.jpg');
|
|
95
|
+
});
|
|
96
|
+
(0, vitest_1.it)('should handle optional storageUrl', () => {
|
|
97
|
+
const fullUrl = `${CDN_URL}/abc.jpg`;
|
|
98
|
+
(0, vitest_1.expect)((0, imageUrl_1.getFallbackUrl)(fullUrl, CDN_URL, STORAGE_URL)).toBe(`${STORAGE_URL}/abc.jpg`);
|
|
99
|
+
});
|
|
100
|
+
(0, vitest_1.it)('should return other external URLs as-is', () => {
|
|
101
|
+
const url = 'https://other-cdn.com/image.jpg';
|
|
102
|
+
(0, vitest_1.expect)((0, imageUrl_1.getFallbackUrl)(url, CDN_URL, STORAGE_URL)).toBe(url);
|
|
103
|
+
});
|
|
104
|
+
(0, vitest_1.it)('should prepend storageUrl to filename if provided', () => {
|
|
105
|
+
(0, vitest_1.expect)((0, imageUrl_1.getFallbackUrl)('abc.jpg', CDN_URL, STORAGE_URL)).toBe(`${STORAGE_URL}/abc.jpg`);
|
|
81
106
|
});
|
|
82
107
|
});
|
|
83
108
|
//# sourceMappingURL=imageUrl.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageUrl.test.js","sourceRoot":"","sources":["../../__tests__/imageUrl.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"imageUrl.test.js","sourceRoot":"","sources":["../../__tests__/imageUrl.test.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -86,7 +86,6 @@ function createRestClient(config) {
|
|
|
86
86
|
return async function restFetch(endpoint, options = {}) {
|
|
87
87
|
const { method = 'GET', body } = options;
|
|
88
88
|
const headers = {
|
|
89
|
-
'Content-Type': 'application/json',
|
|
90
89
|
Accept: 'application/json',
|
|
91
90
|
};
|
|
92
91
|
if (config.token) {
|
|
@@ -98,6 +97,7 @@ function createRestClient(config) {
|
|
|
98
97
|
cache: 'no-store', // REST calls are typically mutations, no caching
|
|
99
98
|
};
|
|
100
99
|
if (body) {
|
|
100
|
+
headers['Content-Type'] = 'application/json';
|
|
101
101
|
fetchOptions.body = JSON.stringify(body);
|
|
102
102
|
}
|
|
103
103
|
try {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export interface ChanomhubConfig {
|
|
|
6
6
|
apiUrl: string;
|
|
7
7
|
/** CDN base URL for images */
|
|
8
8
|
cdnUrl: string;
|
|
9
|
+
/** Original storage base URL (fallback) */
|
|
10
|
+
storageUrl?: string;
|
|
9
11
|
/** Authentication token (optional) */
|
|
10
12
|
token?: string;
|
|
11
13
|
/** Default cache duration in seconds (0 = no cache) */
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC5B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC5B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,EAAE,eAK5B,CAAC;AAEF,0BAA0B;AAC1B,MAAM,MAAM,aAAa,GACnB,OAAO,GACP,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,cAAc,GACd,gBAAgB,CAAC;AAEvB,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAChB,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,eAAe,GACf,SAAS,GACT,UAAU,GACV,OAAO,GACP,aAAa,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.DEFAULT_CONFIG = void 0;
|
|
|
7
7
|
exports.DEFAULT_CONFIG = {
|
|
8
8
|
apiUrl: 'https://api.chanomhub.com',
|
|
9
9
|
cdnUrl: 'https://cdn.chanomhub.com/cdn-cgi/image/format=auto',
|
|
10
|
+
storageUrl: 'https://cdn.chanomhub.com', // Fallback to raw CDN URL
|
|
10
11
|
defaultCacheSeconds: 3600,
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAmBU,QAAA,cAAc,GAAoB;IAC3C,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,qDAAqD;IAC7D,UAAU,EAAE,2BAA2B,EAAE,0BAA0B;IACnE,mBAAmB,EAAE,IAAI;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article-revisions.d.ts","sourceRoot":"","sources":["../../examples/article-revisions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const index_1 = require("../index");
|
|
4
|
+
async function main() {
|
|
5
|
+
// NOTE: This requires a valid token to work
|
|
6
|
+
const token = process.env.CHANOMHUB_TOKEN;
|
|
7
|
+
if (!token) {
|
|
8
|
+
console.error('Please set CHANOMHUB_TOKEN env var');
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
const client = (0, index_1.createChanomhubClient)({ token });
|
|
12
|
+
try {
|
|
13
|
+
console.log('--- Creating Draft Article ---');
|
|
14
|
+
const newArticle = {
|
|
15
|
+
title: 'Revision Test Article',
|
|
16
|
+
slug: 'rev-test-' + Date.now(),
|
|
17
|
+
description: 'Version 1 Description',
|
|
18
|
+
body: 'Version 1 Body',
|
|
19
|
+
language: 'en',
|
|
20
|
+
status: 'DRAFT',
|
|
21
|
+
};
|
|
22
|
+
const article = await client.articles.create(newArticle);
|
|
23
|
+
console.log(`Created article: ${article.slug} [Status: ${article.status}]`);
|
|
24
|
+
console.log('\n--- Updating Article (Version 2) ---');
|
|
25
|
+
const updated1 = await client.articles.update(article.slug, {
|
|
26
|
+
description: 'Version 2 Description',
|
|
27
|
+
body: 'Version 2 Body',
|
|
28
|
+
});
|
|
29
|
+
console.log(`Updated article to version 2 [Status: ${updated1.status}]`);
|
|
30
|
+
console.log('\n--- Updating Article (Version 3) ---');
|
|
31
|
+
await client.articles.update(article.slug, {
|
|
32
|
+
description: 'Version 3 Description',
|
|
33
|
+
body: 'Version 3 Body',
|
|
34
|
+
});
|
|
35
|
+
console.log('Updated article to version 3');
|
|
36
|
+
console.log('\n--- Fetching Revisions ---');
|
|
37
|
+
const revisions = await client.articles.getRevisions(article.slug);
|
|
38
|
+
console.log(`Found ${revisions.total} revisions`);
|
|
39
|
+
if (revisions.total === 0) {
|
|
40
|
+
console.log('Note: No revisions found. This is expected for DRAFT articles or unapproved updates.');
|
|
41
|
+
console.log('Skipping comparison and restore tests.');
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
revisions.items.forEach(rev => {
|
|
45
|
+
console.log(`- v${rev.version} by ${rev.author.name} at ${rev.createdAt}`);
|
|
46
|
+
});
|
|
47
|
+
if (revisions.items.length >= 2) {
|
|
48
|
+
console.log('\n--- Comparing Versions (v1 vs v3) ---');
|
|
49
|
+
// Assuming revisions are ordered latest first, so v3 is index 0, v1 is index 2?
|
|
50
|
+
// Actually version is explicit number
|
|
51
|
+
const diff = await client.articles.compareVersions(article.slug, 1, 3);
|
|
52
|
+
console.log('Diff Stats:', JSON.stringify(diff.stats, null, 2));
|
|
53
|
+
console.log('Description Diff:', diff.descriptionDiff);
|
|
54
|
+
}
|
|
55
|
+
console.log('\n--- Restoring Version 1 ---');
|
|
56
|
+
const restored = await client.articles.restoreRevision(article.slug, 1);
|
|
57
|
+
console.log('Restored to version 1. New version:', restored.version);
|
|
58
|
+
}
|
|
59
|
+
console.log('\n--- Cleaning Up ---');
|
|
60
|
+
await client.articles.delete(article.slug);
|
|
61
|
+
console.log('Deleted article');
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
console.error('Error:', error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (require.main === module) {
|
|
68
|
+
main();
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=article-revisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article-revisions.js","sourceRoot":"","sources":["../../examples/article-revisions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage-article.d.ts","sourceRoot":"","sources":["../../examples/manage-article.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const index_1 = require("../index");
|
|
4
|
+
async function main() {
|
|
5
|
+
// NOTE: This requires a valid token to work
|
|
6
|
+
const token = process.env.CHANOMHUB_TOKEN;
|
|
7
|
+
if (!token) {
|
|
8
|
+
console.error('Please set CHANOMHUB_TOKEN env var');
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
const client = (0, index_1.createChanomhubClient)({ token });
|
|
12
|
+
const newArticle = {
|
|
13
|
+
title: 'Test Article SDK',
|
|
14
|
+
slug: 'test-article-sdk-' + Date.now(),
|
|
15
|
+
description: 'Test description',
|
|
16
|
+
body: 'Test body content',
|
|
17
|
+
language: 'en',
|
|
18
|
+
ver: '1.0.0',
|
|
19
|
+
status: 'DRAFT',
|
|
20
|
+
engine: 'RENPY',
|
|
21
|
+
// Metadata fields
|
|
22
|
+
tags: ['Hentai', 'Visual Novel'],
|
|
23
|
+
categories: ['Game'],
|
|
24
|
+
platforms: ['Windows', 'Android'],
|
|
25
|
+
creator: 'Awesome Studio', // Creator / Studio name
|
|
26
|
+
};
|
|
27
|
+
try {
|
|
28
|
+
console.log('Creating article...');
|
|
29
|
+
const created = await client.articles.create(newArticle);
|
|
30
|
+
console.log('Created article:', JSON.stringify(created, null, 2));
|
|
31
|
+
console.log('Updating article...');
|
|
32
|
+
const updated = await client.articles.update(created.slug, {
|
|
33
|
+
description: 'Updated description',
|
|
34
|
+
});
|
|
35
|
+
console.log('Updated article:', JSON.stringify(updated, null, 2));
|
|
36
|
+
console.log('Fetching full article details (what you get on web page load)...');
|
|
37
|
+
const fullArticle = await client.articles.getBySlug(created.slug);
|
|
38
|
+
if (fullArticle) {
|
|
39
|
+
console.log('Full Article Data:');
|
|
40
|
+
console.log('- Title:', fullArticle.title);
|
|
41
|
+
console.log('- Tags:', fullArticle.tags);
|
|
42
|
+
console.log('- Categories:', fullArticle.categories);
|
|
43
|
+
console.log('- Platforms:', fullArticle.platforms);
|
|
44
|
+
console.log('- Creators:', fullArticle.creators);
|
|
45
|
+
console.log('- Engine:', fullArticle.engine);
|
|
46
|
+
console.log('- Author:', fullArticle.author);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
console.error('Failed to fetch full article');
|
|
50
|
+
}
|
|
51
|
+
console.log('Deleting article...');
|
|
52
|
+
await client.articles.delete(created.slug);
|
|
53
|
+
console.log('Deleted article');
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.error('Error:', error);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (require.main === module) {
|
|
60
|
+
main();
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=manage-article.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage-article.js","sourceRoot":"","sources":["../../examples/manage-article.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ import { type ChanomhubConfig } from './config';
|
|
|
36
36
|
export * from './types';
|
|
37
37
|
export * from './config';
|
|
38
38
|
export * from './errors';
|
|
39
|
-
export { resolveImageUrl } from './transforms/imageUrl';
|
|
39
|
+
export { resolveImageUrl, getFallbackUrl } from './transforms/imageUrl';
|
|
40
40
|
/** Chanomhub SDK Client interface */
|
|
41
41
|
export interface ChanomhubClient {
|
|
42
42
|
/** Article operations */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EAMH,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhE,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EAMH,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhE,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC5B,yBAAyB;IACzB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,2BAA2B;IAC3B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,8BAA8B;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,wBAAwB;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,qEAAqE;IACrE,IAAI,EAAE,cAAc,CAAC;IACrB,6CAA6C;IAC7C,OAAO,EAAE,cAAc,CAAC;IACxB,wBAAwB;IACxB,MAAM,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GAAG,eAAe,CAuB5F;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACtC,eAAe,CAMjB;AAGD,eAAe,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -46,7 +46,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
46
46
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
47
47
|
};
|
|
48
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.resolveImageUrl = void 0;
|
|
49
|
+
exports.getFallbackUrl = exports.resolveImageUrl = void 0;
|
|
50
50
|
exports.createChanomhubClient = createChanomhubClient;
|
|
51
51
|
exports.createAuthenticatedClient = createAuthenticatedClient;
|
|
52
52
|
const client_1 = require("./client");
|
|
@@ -58,6 +58,7 @@ __exportStar(require("./config"), exports);
|
|
|
58
58
|
__exportStar(require("./errors"), exports);
|
|
59
59
|
var imageUrl_1 = require("./transforms/imageUrl");
|
|
60
60
|
Object.defineProperty(exports, "resolveImageUrl", { enumerable: true, get: function () { return imageUrl_1.resolveImageUrl; } });
|
|
61
|
+
Object.defineProperty(exports, "getFallbackUrl", { enumerable: true, get: function () { return imageUrl_1.getFallbackUrl; } });
|
|
61
62
|
/**
|
|
62
63
|
* Creates a Chanomhub API client
|
|
63
64
|
*
|
|
@@ -87,7 +88,7 @@ function createChanomhubClient(config = {}) {
|
|
|
87
88
|
};
|
|
88
89
|
const graphql = (0, client_1.createGraphQLClient)(fullConfig);
|
|
89
90
|
const rest = (0, client_1.createRestClient)(fullConfig);
|
|
90
|
-
const articles = (0, repositories_1.createArticleRepository)(graphql);
|
|
91
|
+
const articles = (0, repositories_1.createArticleRepository)(graphql, rest);
|
|
91
92
|
const favorites = (0, repositories_1.createFavoritesRepository)(rest, fullConfig);
|
|
92
93
|
const users = (0, repositories_1.createUsersRepository)(rest);
|
|
93
94
|
const search = (0, repositories_1.createSearchRepository)(graphql);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;;;;;;;;;;;AA+DH,sDAuBC;AAUD,8DASC;AAvGD,qCAAsF;AACtF,iDAWwB;AACxB,qCAAgE;AAEhE,kBAAkB;AAClB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;;;;;;;;;;;AA+DH,sDAuBC;AAUD,8DASC;AAvGD,qCAAsF;AACtF,iDAWwB;AACxB,qCAAgE;AAEhE,kBAAkB;AAClB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,kDAAwE;AAA/D,2GAAA,eAAe,OAAA;AAAE,0GAAA,cAAc,OAAA;AAoBxC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,qBAAqB,CAAC,SAAmC,EAAE;IACvE,MAAM,UAAU,GAAoB;QAChC,GAAG,uBAAc;QACjB,GAAG,MAAM;KACZ,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,4BAAmB,EAAC,UAAU,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAA,yBAAgB,EAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAA,sCAAuB,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAA,wCAAyB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAA,oCAAqB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAA,qCAAsB,EAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAA,mCAAoB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEpD,OAAO;QACH,QAAQ;QACR,SAAS;QACT,KAAK;QACL,MAAM;QACN,IAAI;QACJ,OAAO;QACP,MAAM,EAAE,UAAU;KACrB,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACrC,KAAa,EACb,SAAmC,EAAE;IAErC,OAAO,qBAAqB,CAAC;QACzB,GAAG,MAAM;QACT,KAAK;QACL,mBAAmB,EAAE,CAAC,EAAE,2CAA2C;KACtE,CAAC,CAAC;AACP,CAAC;AAED,iBAAiB;AACjB,kBAAe,qBAAqB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Chanomhub SDK - Article Repository
|
|
3
3
|
*/
|
|
4
|
-
import type { GraphQLFetcher } from '../client';
|
|
5
|
-
import type { Article, ArticleListItem, ArticleListOptions, ArticleWithDownloads } from '../types/article';
|
|
4
|
+
import type { GraphQLFetcher, RestFetcher } from '../client';
|
|
5
|
+
import type { Article, ArticleListItem, ArticleListOptions, ArticleWithDownloads, NewArticleDTO, UpdateArticleDTO, Revision, RevisionDetail, CompareResult } from '../types/article';
|
|
6
6
|
import type { PaginatedResponse } from '../types/common';
|
|
7
7
|
export interface ArticleRepository {
|
|
8
8
|
/** Get list of articles */
|
|
@@ -25,9 +25,23 @@ export interface ArticleRepository {
|
|
|
25
25
|
getBySlug(slug: string, language?: string): Promise<Article | null>;
|
|
26
26
|
/** Get article with downloads */
|
|
27
27
|
getWithDownloads(slug: string, language?: string): Promise<ArticleWithDownloads>;
|
|
28
|
+
/** Create a new article */
|
|
29
|
+
create(data: NewArticleDTO): Promise<Article>;
|
|
30
|
+
/** Update an article */
|
|
31
|
+
update(slug: string, data: UpdateArticleDTO): Promise<Article>;
|
|
32
|
+
/** Delete an article */
|
|
33
|
+
delete(slug: string): Promise<void>;
|
|
34
|
+
/** Get revisions for an article */
|
|
35
|
+
getRevisions(slug: string): Promise<PaginatedResponse<Revision>>;
|
|
36
|
+
/** Get specific revision details */
|
|
37
|
+
getRevision(slug: string, version: number): Promise<RevisionDetail>;
|
|
38
|
+
/** Compare two versions */
|
|
39
|
+
compareVersions(slug: string, v1: number, v2: number): Promise<CompareResult>;
|
|
40
|
+
/** Restore article to a specific version */
|
|
41
|
+
restoreRevision(slug: string, version: number): Promise<RevisionDetail>;
|
|
28
42
|
}
|
|
29
43
|
/**
|
|
30
44
|
* Creates an article repository with the given GraphQL client
|
|
31
45
|
*/
|
|
32
|
-
export declare function createArticleRepository(fetcher: GraphQLFetcher): ArticleRepository;
|
|
46
|
+
export declare function createArticleRepository(fetcher: GraphQLFetcher, rest: RestFetcher): ArticleRepository;
|
|
33
47
|
//# sourceMappingURL=articleRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"articleRepository.d.ts","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"articleRepository.d.ts","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EACR,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,WAAW,iBAAiB;IAC9B,2BAA2B;IAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEjE,sDAAsD;IACtD,eAAe,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3F,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE1F,+BAA+B;IAC/B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE1F,iCAAiC;IACjC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAEpE,iCAAiC;IACjC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjF,2BAA2B;IAC3B,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,wBAAwB;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D,wBAAwB;IACxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,mCAAmC;IACnC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjE,oCAAoC;IACpC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpE,2BAA2B;IAC3B,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9E,4CAA4C;IAC5C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,WAAW,GAClB,iBAAiB,CAoYnB"}
|
|
@@ -8,7 +8,73 @@ const fields_1 = require("../utils/fields");
|
|
|
8
8
|
/**
|
|
9
9
|
* Creates an article repository with the given GraphQL client
|
|
10
10
|
*/
|
|
11
|
-
function createArticleRepository(fetcher) {
|
|
11
|
+
function createArticleRepository(fetcher, rest) {
|
|
12
|
+
async function create(data) {
|
|
13
|
+
const res = await rest('/api/articles', {
|
|
14
|
+
method: 'POST',
|
|
15
|
+
body: data,
|
|
16
|
+
});
|
|
17
|
+
if (res.error || !res.data) {
|
|
18
|
+
throw new Error(res.error || 'Failed to create article');
|
|
19
|
+
}
|
|
20
|
+
return res.data.article;
|
|
21
|
+
}
|
|
22
|
+
async function update(slug, data) {
|
|
23
|
+
const res = await rest(`/api/articles/${slug}`, {
|
|
24
|
+
method: 'PUT',
|
|
25
|
+
body: { article: data },
|
|
26
|
+
});
|
|
27
|
+
if (res.error || !res.data) {
|
|
28
|
+
throw new Error(res.error || 'Failed to update article');
|
|
29
|
+
}
|
|
30
|
+
return res.data.article;
|
|
31
|
+
}
|
|
32
|
+
async function remove(slug) {
|
|
33
|
+
const res = await rest(`/api/articles/${slug}`, {
|
|
34
|
+
method: 'DELETE',
|
|
35
|
+
});
|
|
36
|
+
if (res.error) {
|
|
37
|
+
throw new Error(res.error || 'Failed to delete article');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function getRevisions(slug) {
|
|
41
|
+
const res = await rest(`/api/articles/${slug}/revisions`);
|
|
42
|
+
if (res.error || !res.data) {
|
|
43
|
+
throw new Error(res.error || 'Failed to get revisions');
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
items: res.data.revisions,
|
|
47
|
+
total: res.data.total,
|
|
48
|
+
page: 1,
|
|
49
|
+
pageSize: res.data.total,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
async function getRevision(slug, version) {
|
|
53
|
+
const res = await rest(`/api/articles/${slug}/revisions/${version}`);
|
|
54
|
+
if (res.error || !res.data) {
|
|
55
|
+
throw new Error(res.error || 'Failed to get revision');
|
|
56
|
+
}
|
|
57
|
+
return res.data;
|
|
58
|
+
}
|
|
59
|
+
async function compareVersions(slug, v1, v2) {
|
|
60
|
+
// Note: query parameters should be handled, but rest client is simple string concatenation for now
|
|
61
|
+
// Assuming rest client doesn't support query params in options yet, appending manually
|
|
62
|
+
const res = await rest(`/api/articles/${slug}/revisions/compare?v1=${v1}&v2=${v2}`);
|
|
63
|
+
if (res.error || !res.data) {
|
|
64
|
+
throw new Error(res.error || 'Failed to compare versions');
|
|
65
|
+
}
|
|
66
|
+
return res.data;
|
|
67
|
+
}
|
|
68
|
+
async function restoreRevision(slug, version) {
|
|
69
|
+
const res = await rest(`/api/articles/${slug}/revisions/${version}/restore`, {
|
|
70
|
+
method: 'POST',
|
|
71
|
+
body: { message: `Restored from version ${version}` },
|
|
72
|
+
});
|
|
73
|
+
if (res.error || !res.data) {
|
|
74
|
+
throw new Error(res.error || 'Failed to restore revision');
|
|
75
|
+
}
|
|
76
|
+
return res.data;
|
|
77
|
+
}
|
|
12
78
|
async function getAll(options = {}) {
|
|
13
79
|
const { limit = 12, offset = 0, status = 'PUBLISHED', filter = {}, preset, fields, } = options;
|
|
14
80
|
// Build filter string
|
|
@@ -200,6 +266,13 @@ function createArticleRepository(fetcher) {
|
|
|
200
266
|
getByCategory,
|
|
201
267
|
getBySlug,
|
|
202
268
|
getWithDownloads,
|
|
269
|
+
create,
|
|
270
|
+
update,
|
|
271
|
+
delete: remove,
|
|
272
|
+
getRevisions,
|
|
273
|
+
getRevision,
|
|
274
|
+
compareVersions,
|
|
275
|
+
restoreRevision,
|
|
203
276
|
};
|
|
204
277
|
}
|
|
205
278
|
//# sourceMappingURL=articleRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"articleRepository.js","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"articleRepository.js","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,15 @@
|
|
|
10
10
|
* - Handles null/undefined gracefully
|
|
11
11
|
*/
|
|
12
12
|
export declare function resolveImageUrl(imageUrl: string | null | undefined, cdnUrl: string): string | null;
|
|
13
|
+
/**
|
|
14
|
+
* Generates a fallback URL (original source) for an image.
|
|
15
|
+
* Useful when the CDN is unavailable or fails to load.
|
|
16
|
+
*
|
|
17
|
+
* @param imageUrl - The full image URL (potentially from CDN) or filename
|
|
18
|
+
* @param cdnUrl - The CDN base URL to strip (if present)
|
|
19
|
+
* @param storageUrl - The original storage base URL to prepend
|
|
20
|
+
*/
|
|
21
|
+
export declare function getFallbackUrl(imageUrl: string | null | undefined, cdnUrl: string, storageUrl?: string): string | null;
|
|
13
22
|
/**
|
|
14
23
|
* Deep transforms all image URLs in an object/array recursively.
|
|
15
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageUrl.d.ts","sourceRoot":"","sources":["../../transforms/imageUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,MAAM,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAUf;AAKD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAoCpE"}
|
|
1
|
+
{"version":3,"file":"imageUrl.d.ts","sourceRoot":"","sources":["../../transforms/imageUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,MAAM,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAUf;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAyBf;AAKD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAoCpE"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.resolveImageUrl = resolveImageUrl;
|
|
9
|
+
exports.getFallbackUrl = getFallbackUrl;
|
|
9
10
|
exports.transformImageUrlsDeep = transformImageUrlsDeep;
|
|
10
11
|
/**
|
|
11
12
|
* Resolves an image URL.
|
|
@@ -23,6 +24,38 @@ function resolveImageUrl(imageUrl, cdnUrl) {
|
|
|
23
24
|
// Filename only - prepend CDN base URL
|
|
24
25
|
return `${cdnUrl}/${imageUrl}`;
|
|
25
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Generates a fallback URL (original source) for an image.
|
|
29
|
+
* Useful when the CDN is unavailable or fails to load.
|
|
30
|
+
*
|
|
31
|
+
* @param imageUrl - The full image URL (potentially from CDN) or filename
|
|
32
|
+
* @param cdnUrl - The CDN base URL to strip (if present)
|
|
33
|
+
* @param storageUrl - The original storage base URL to prepend
|
|
34
|
+
*/
|
|
35
|
+
function getFallbackUrl(imageUrl, cdnUrl, storageUrl) {
|
|
36
|
+
if (!imageUrl)
|
|
37
|
+
return null;
|
|
38
|
+
let filename = imageUrl;
|
|
39
|
+
// If it's a full CDN URL, strip the CDN prefix
|
|
40
|
+
if (imageUrl.startsWith(cdnUrl)) {
|
|
41
|
+
// Remove cdnUrl and any leading slash
|
|
42
|
+
const relativePath = imageUrl.slice(cdnUrl.length);
|
|
43
|
+
filename = relativePath.startsWith('/') ? relativePath.slice(1) : relativePath;
|
|
44
|
+
}
|
|
45
|
+
else if (imageUrl.startsWith('http://') || imageUrl.startsWith('https://')) {
|
|
46
|
+
// If it's another full URL (not our CDN), return as-is or null?
|
|
47
|
+
// Assume if it's not our CDN, we can't fallback easily unless it's just a filename
|
|
48
|
+
// But if the input was already just a filename, we use it.
|
|
49
|
+
// If it is some other external URL, we probably just return it as is or null.
|
|
50
|
+
// For safety, if it doesn't start with CDN url, and is a full url, we assume it might already be the fallback or external.
|
|
51
|
+
return imageUrl;
|
|
52
|
+
}
|
|
53
|
+
// Prepend storage URL if available
|
|
54
|
+
if (storageUrl) {
|
|
55
|
+
return `${storageUrl}/${filename}`;
|
|
56
|
+
}
|
|
57
|
+
return filename;
|
|
58
|
+
}
|
|
26
59
|
/** Known image field names */
|
|
27
60
|
const IMAGE_FIELDS = new Set(['mainImage', 'backgroundImage', 'coverImage', 'image']);
|
|
28
61
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageUrl.js","sourceRoot":"","sources":["../../transforms/imageUrl.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAQH,0CAaC;AAQD,wDAoCC;
|
|
1
|
+
{"version":3,"file":"imageUrl.js","sourceRoot":"","sources":["../../transforms/imageUrl.ts"],"names":[],"mappings":"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"}
|
package/dist/types/article.d.ts
CHANGED
|
@@ -100,9 +100,88 @@ export interface ArticleListOptions {
|
|
|
100
100
|
/** Custom field selection (overrides preset) */
|
|
101
101
|
fields?: ArticleField[];
|
|
102
102
|
}
|
|
103
|
+
/** DTO for creating a new article */
|
|
104
|
+
export interface NewArticleDTO {
|
|
105
|
+
title: string;
|
|
106
|
+
slug: string;
|
|
107
|
+
description: string;
|
|
108
|
+
body: string;
|
|
109
|
+
language: string;
|
|
110
|
+
/** Game version */
|
|
111
|
+
ver?: string;
|
|
112
|
+
status?: ArticleStatus;
|
|
113
|
+
/** Engine ID or name */
|
|
114
|
+
engine?: string;
|
|
115
|
+
mainImage?: string | null;
|
|
116
|
+
backgroundImage?: string | null;
|
|
117
|
+
coverImage?: string | null;
|
|
118
|
+
otherImages?: string[];
|
|
119
|
+
tags?: string[];
|
|
120
|
+
categories?: string[];
|
|
121
|
+
platforms?: string[];
|
|
122
|
+
creator?: string | null;
|
|
123
|
+
}
|
|
124
|
+
/** DTO for updating an article */
|
|
125
|
+
export interface UpdateArticleDTO {
|
|
126
|
+
title?: string;
|
|
127
|
+
slug?: string;
|
|
128
|
+
description?: string;
|
|
129
|
+
body?: string;
|
|
130
|
+
ver?: string;
|
|
131
|
+
status?: ArticleStatus;
|
|
132
|
+
engine?: string;
|
|
133
|
+
mainImage?: string | null;
|
|
134
|
+
backgroundImage?: string | null;
|
|
135
|
+
coverImage?: string | null;
|
|
136
|
+
otherImages?: string[];
|
|
137
|
+
tags?: string[];
|
|
138
|
+
categories?: string[];
|
|
139
|
+
platforms?: string[];
|
|
140
|
+
creator?: string | null;
|
|
141
|
+
}
|
|
103
142
|
/** Article with downloads response */
|
|
104
143
|
export interface ArticleWithDownloads {
|
|
105
144
|
article: Article | null;
|
|
106
145
|
downloads: Download[] | null;
|
|
107
146
|
}
|
|
147
|
+
/** Diff statistics */
|
|
148
|
+
export interface DiffStats {
|
|
149
|
+
additions: number;
|
|
150
|
+
deletions: number;
|
|
151
|
+
}
|
|
152
|
+
/** Revision author */
|
|
153
|
+
export interface RevisionAuthor {
|
|
154
|
+
id: number;
|
|
155
|
+
name: string;
|
|
156
|
+
}
|
|
157
|
+
/** Revision summary */
|
|
158
|
+
export interface Revision {
|
|
159
|
+
version: number;
|
|
160
|
+
author: RevisionAuthor;
|
|
161
|
+
message?: string;
|
|
162
|
+
createdAt: string;
|
|
163
|
+
stats: DiffStats;
|
|
164
|
+
summary: string;
|
|
165
|
+
}
|
|
166
|
+
/** Diff line for parsed body diff */
|
|
167
|
+
export interface DiffLine {
|
|
168
|
+
type: 'add' | 'remove' | 'context';
|
|
169
|
+
content: string;
|
|
170
|
+
lineNumber?: number;
|
|
171
|
+
}
|
|
172
|
+
/** Detailed revision with diffs */
|
|
173
|
+
export interface RevisionDetail extends Revision {
|
|
174
|
+
titleDiff?: string;
|
|
175
|
+
descriptionDiff?: string;
|
|
176
|
+
bodyDiff?: string;
|
|
177
|
+
parsedBodyDiff?: DiffLine[];
|
|
178
|
+
}
|
|
179
|
+
/** Comparison result between two versions */
|
|
180
|
+
export interface CompareResult {
|
|
181
|
+
stats: DiffStats;
|
|
182
|
+
titleDiff?: string;
|
|
183
|
+
descriptionDiff?: string;
|
|
184
|
+
bodyDiff?: string;
|
|
185
|
+
parsedBodyDiff?: DiffLine[];
|
|
186
|
+
}
|
|
108
187
|
//# sourceMappingURL=article.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../types/article.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../types/article.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chanomhub/sdk",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "ChanomHub SDK",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -48,23 +48,23 @@
|
|
|
48
48
|
"author": "",
|
|
49
49
|
"license": "ISC",
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@supabase/supabase-js": "^2.
|
|
52
|
-
"@types/node": "^25.0.
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
54
|
-
"@typescript-eslint/parser": "^8.
|
|
55
|
-
"@vitest/coverage-v8": "^4.0.
|
|
51
|
+
"@supabase/supabase-js": "^2.93.2",
|
|
52
|
+
"@types/node": "^25.0.10",
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "^8.54.0",
|
|
54
|
+
"@typescript-eslint/parser": "^8.54.0",
|
|
55
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
56
56
|
"eslint": "^9.39.2",
|
|
57
57
|
"eslint-config-prettier": "^10.1.8",
|
|
58
|
-
"eslint-plugin-prettier": "^5.5.
|
|
58
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
59
59
|
"msw": "^2.12.7",
|
|
60
|
-
"next": "^16.1.
|
|
61
|
-
"prettier": "^3.
|
|
60
|
+
"next": "^16.1.6",
|
|
61
|
+
"prettier": "^3.8.1",
|
|
62
62
|
"starlight-typedoc": "^0.21.5",
|
|
63
|
-
"typedoc": "^0.28.
|
|
63
|
+
"typedoc": "^0.28.16",
|
|
64
64
|
"typedoc-plugin-markdown": "^4.9.0",
|
|
65
65
|
"typescript": "^5.9.3",
|
|
66
|
-
"typescript-eslint": "^8.
|
|
67
|
-
"vitest": "^4.0.
|
|
66
|
+
"typescript-eslint": "^8.54.0",
|
|
67
|
+
"vitest": "^4.0.18"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"@supabase/supabase-js": ">=2.0.0",
|