@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.
@@ -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('https://cdn.chanomhub.com/abc.jpg');
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('https://cdn.chanomhub.com/uploads/abc.jpg');
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('https://cdn.chanomhub.com/main.jpg');
43
- (0, vitest_1.expect)(result.coverImage).toBe('https://cdn.chanomhub.com/cover.jpg');
44
- (0, vitest_1.expect)(result.backgroundImage).toBe('https://cdn.chanomhub.com/bg.jpg');
45
- (0, vitest_1.expect)(result.image).toBe('https://cdn.chanomhub.com/profile.jpg');
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('https://cdn.chanomhub.com/image1.jpg');
61
- (0, vitest_1.expect)(result.images[1].url).toBe('https://cdn.chanomhub.com/image2.jpg');
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('https://cdn.chanomhub.com/article.jpg');
74
- (0, vitest_1.expect)(result.article.author.image).toBe('https://cdn.chanomhub.com/author.jpg');
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('https://cdn.chanomhub.com/img1.jpg');
80
- (0, vitest_1.expect)(result[1].mainImage).toBe('https://cdn.chanomhub.com/img2.jpg');
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":"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"}
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 {
@@ -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) */
@@ -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,eAI5B,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"}
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
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAiBU,QAAA,cAAc,GAAoB;IAC3C,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,qDAAqD;IAC7D,mBAAmB,EAAE,IAAI;CAC5B,CAAC"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=article-revisions.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=manage-article.d.ts.map
@@ -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 */
@@ -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;AAExD,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"}
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,kDAAwD;AAA/C,2GAAA,eAAe,OAAA;AAoBxB;;;;;;;;;;;;;;;;;;;;;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,CAAC,CAAC;IAClD,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
+ {"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;AAChD,OAAO,KAAK,EACR,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACvB,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;CACpF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAyRlF"}
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":"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"}
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;AA/DD;;;;;GAKG;AACH,SAAgB,eAAe,CAC3B,QAAmC,EACnC,MAAc;IAEd,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,oCAAoC;IACpC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,uCAAuC;IACvC,OAAO,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,8BAA8B;AAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtF;;GAEG;AACH,SAAgB,sBAAsB,CAAI,IAAO,EAAE,MAAc;IAC7D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAErD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;IACzE,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;YACzE,mCAAmC;YACnC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,iFAAiF;iBAC5E,IAAI,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5B,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;wBACjD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,GAAa,EAAE,MAAM,CAAC,EAAE,CAAC;oBACvE,CAAC;oBACD,OAAO,GAAG,CAAC;gBACf,CAAC,CAAC,CAAC;YACP,CAAC;YACD,uCAAuC;iBAClC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACL,CAAC;QAED,OAAO,MAAW,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"imageUrl.js","sourceRoot":"","sources":["../../transforms/imageUrl.ts"],"names":[],"mappings":"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"}
@@ -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":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EACR,MAAM,EACN,QAAQ,EACR,sBAAsB,EACtB,GAAG,EACH,WAAW,EACX,WAAW,EACd,MAAM,UAAU,CAAC;AAElB;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,YAAY,GAClB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,aAAa,GACb,MAAM,GACN,KAAK,GACL,WAAW,GACX,YAAY,GACZ,iBAAiB,GACjB,QAAQ,GACR,MAAM,GACN,WAAW,GACX,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,WAAW,GACX,QAAQ,GACR,gBAAgB,CAAC;AAEvB,wBAAwB;AACxB,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,6BAA6B;AAC7B,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,CAAC,CAAC,EAAE,MAAM,CAAC;CACd;AAED,2BAA2B;AAC3B,MAAM,WAAW,kBAAkB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gDAAgD;IAChD,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAChC"}
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.0",
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.90.1",
52
- "@types/node": "^25.0.6",
53
- "@typescript-eslint/eslint-plugin": "^8.52.0",
54
- "@typescript-eslint/parser": "^8.52.0",
55
- "@vitest/coverage-v8": "^4.0.16",
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.4",
58
+ "eslint-plugin-prettier": "^5.5.5",
59
59
  "msw": "^2.12.7",
60
- "next": "^16.1.1",
61
- "prettier": "^3.7.4",
60
+ "next": "^16.1.6",
61
+ "prettier": "^3.8.1",
62
62
  "starlight-typedoc": "^0.21.5",
63
- "typedoc": "^0.28.15",
63
+ "typedoc": "^0.28.16",
64
64
  "typedoc-plugin-markdown": "^4.9.0",
65
65
  "typescript": "^5.9.3",
66
- "typescript-eslint": "^8.52.0",
67
- "vitest": "^4.0.16"
66
+ "typescript-eslint": "^8.54.0",
67
+ "vitest": "^4.0.18"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "@supabase/supabase-js": ">=2.0.0",