@chanomhub/sdk 1.0.1 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.js CHANGED
@@ -5,7 +5,7 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DEFAULT_CONFIG = void 0;
7
7
  exports.DEFAULT_CONFIG = {
8
- apiUrl: 'https://api.chanomhub.online',
8
+ apiUrl: 'https://api.chanomhub.com',
9
9
  cdnUrl: 'https://cdn.chanomhub.com',
10
10
  defaultCacheSeconds: 3600,
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAaU,QAAA,cAAc,GAAoB;IAC3C,MAAM,EAAE,8BAA8B;IACtC,MAAM,EAAE,2BAA2B;IACnC,mBAAmB,EAAE,IAAI;CAC5B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAaU,QAAA,cAAc,GAAoB;IAC3C,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,2BAA2B;IACnC,mBAAmB,EAAE,IAAI;CAC5B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Chanomhub SDK Demo
3
+ *
4
+ * ตัวอย่างการใช้งาน SDK สำหรับ Chanomhub API
5
+ * รันด้วย: npx ts-node examples/demo.ts
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../examples/demo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ /**
3
+ * Chanomhub SDK Demo
4
+ *
5
+ * ตัวอย่างการใช้งาน SDK สำหรับ Chanomhub API
6
+ * รันด้วย: npx ts-node examples/demo.ts
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const index_1 = require("../index");
10
+ async function main() {
11
+ var _a, _b, _c, _d, _e, _f;
12
+ console.log('🚀 Chanomhub SDK Demo\n');
13
+ console.log('='.repeat(50));
14
+ // ============================================================================
15
+ // 1. สร้าง Client แบบ Public (ไม่ต้อง Login)
16
+ // ============================================================================
17
+ console.log('\n📦 1. สร้าง Client (Public Access)\n');
18
+ const sdk = (0, index_1.createChanomhubClient)();
19
+ console.log('✅ Client created with config:');
20
+ console.log(` API URL: ${sdk.config.apiUrl}`);
21
+ console.log(` CDN URL: ${sdk.config.cdnUrl}`);
22
+ console.log(` Cache: ${sdk.config.defaultCacheSeconds}s`);
23
+ // ============================================================================
24
+ // 2. ดึง Articles ทั้งหมด (Public)
25
+ // ============================================================================
26
+ console.log('\n📝 2. ดึง Articles ทั้งหมด\n');
27
+ try {
28
+ const articles = await sdk.articles.getAll({ limit: 5 });
29
+ console.log(`✅ พบ ${articles.length} บทความ:\n`);
30
+ articles.forEach((article, index) => {
31
+ var _a;
32
+ console.log(` ${index + 1}. ${article.title}`);
33
+ console.log(` Slug: ${article.slug}`);
34
+ console.log(` Author: ${((_a = article.author) === null || _a === void 0 ? void 0 : _a.name) || 'Unknown'}`);
35
+ console.log(` Favorites: ❤️ ${article.favoritesCount}`);
36
+ if (article.mainImage) {
37
+ console.log(` Image: ${(0, index_1.resolveImageUrl)(article.mainImage, sdk.config.cdnUrl)}`);
38
+ }
39
+ console.log();
40
+ });
41
+ }
42
+ catch (error) {
43
+ console.error('❌ Error fetching articles:', error);
44
+ }
45
+ // ============================================================================
46
+ // 3. ดึง Articles ตาม Tag
47
+ // ============================================================================
48
+ console.log('\n🏷️ 3. ดึง Articles ตาม Tag\n');
49
+ try {
50
+ const rengyArticles = await sdk.articles.getByTag('renpy', { limit: 3 });
51
+ console.log(`✅ พบ ${rengyArticles.length} บทความที่มี tag "renpy":\n`);
52
+ rengyArticles.forEach((article) => {
53
+ console.log(` - ${article.title} (${article.slug})`);
54
+ });
55
+ }
56
+ catch (error) {
57
+ console.error('❌ Error fetching articles by tag:', error);
58
+ }
59
+ // ============================================================================
60
+ // 4. ดึง Articles ตาม Platform
61
+ // ============================================================================
62
+ console.log('\n💻 4. ดึง Articles ตาม Platform\n');
63
+ try {
64
+ const windowsArticles = await sdk.articles.getByPlatform('windows', { limit: 3 });
65
+ console.log(`✅ พบ ${windowsArticles.length} บทความสำหรับ "windows":\n`);
66
+ windowsArticles.forEach((article) => {
67
+ console.log(` - ${article.title}`);
68
+ });
69
+ }
70
+ catch (error) {
71
+ console.error('❌ Error fetching articles by platform:', error);
72
+ }
73
+ // ============================================================================
74
+ // 5. ดึง Article ตาม Slug (ข้อมูลเต็ม)
75
+ // ============================================================================
76
+ console.log('\n📖 5. ดึงข้อมูล Article ตาม Slug\n');
77
+ try {
78
+ // ใช้ slug จาก articles ที่ดึงมาก่อนหน้า
79
+ const firstArticles = await sdk.articles.getAll({ limit: 1 });
80
+ if (firstArticles.length > 0) {
81
+ const slug = firstArticles[0].slug;
82
+ console.log(` กำลังดึงข้อมูล: ${slug}\n`);
83
+ const article = await sdk.articles.getBySlug(slug);
84
+ if (article) {
85
+ console.log(`✅ รายละเอียดบทความ:\n`);
86
+ console.log(` Title: ${article.title}`);
87
+ console.log(` Description: ${(_a = article.description) === null || _a === void 0 ? void 0 : _a.substring(0, 100)}...`);
88
+ console.log(` Engine: ${((_b = article.engine) === null || _b === void 0 ? void 0 : _b.name) || 'N/A'}`);
89
+ console.log(` Version: ${article.ver || 'N/A'}`);
90
+ console.log(` Tags: ${((_c = article.tags) === null || _c === void 0 ? void 0 : _c.map((t) => t.name).join(', ')) || 'None'}`);
91
+ console.log(` Platforms: ${((_d = article.platforms) === null || _d === void 0 ? void 0 : _d.map((p) => p.name).join(', ')) || 'None'}`);
92
+ console.log(` Created: ${article.createdAt}`);
93
+ console.log(` Mods: ${((_e = article.mods) === null || _e === void 0 ? void 0 : _e.length) || 0} mods`);
94
+ }
95
+ }
96
+ }
97
+ catch (error) {
98
+ console.error('❌ Error fetching article by slug:', error);
99
+ }
100
+ // ============================================================================
101
+ // 6. ดึง Article พร้อม Downloads
102
+ // ============================================================================
103
+ console.log('\n⬇️ 6. ดึง Article พร้อม Downloads\n');
104
+ try {
105
+ const firstArticles = await sdk.articles.getAll({ limit: 1 });
106
+ if (firstArticles.length > 0) {
107
+ const slug = firstArticles[0].slug;
108
+ const result = await sdk.articles.getWithDownloads(slug);
109
+ if (result.article) {
110
+ console.log(`✅ บทความ: ${result.article.title}\n`);
111
+ if (result.downloads && result.downloads.length > 0) {
112
+ console.log(` 📥 Downloads (${result.downloads.length}):`);
113
+ result.downloads.forEach((dl) => {
114
+ console.log(` - ${dl.name} ${dl.vipOnly ? '(VIP)' : ''}`);
115
+ });
116
+ }
117
+ else {
118
+ console.log(' 📥 ไม่มี downloads');
119
+ }
120
+ if ((_f = result.article.officialDownloadSources) === null || _f === void 0 ? void 0 : _f.length) {
121
+ console.log(` 🔗 Official Sources (${result.article.officialDownloadSources.length}):`);
122
+ result.article.officialDownloadSources.forEach((src) => {
123
+ console.log(` - ${src.name}: ${src.url}`);
124
+ });
125
+ }
126
+ }
127
+ }
128
+ }
129
+ catch (error) {
130
+ console.error('❌ Error fetching article with downloads:', error);
131
+ }
132
+ // ============================================================================
133
+ // 7. ใช้ Field Presets
134
+ // ============================================================================
135
+ console.log('\n🎯 7. ใช้ Field Presets\n');
136
+ try {
137
+ // Minimal preset - เร็วที่สุด เหมาะสำหรับ cards
138
+ console.log(' 📋 Minimal preset (สำหรับ cards):');
139
+ const minimalArticles = await sdk.articles.getAll({
140
+ limit: 2,
141
+ preset: 'minimal',
142
+ });
143
+ minimalArticles.forEach((a) => {
144
+ console.log(` - ${a.title} (id: ${a.id})`);
145
+ });
146
+ // Custom fields
147
+ console.log('\n 🔧 Custom fields (เลือกเอง):');
148
+ const customArticles = await sdk.articles.getAll({
149
+ limit: 2,
150
+ fields: ['id', 'title', 'favoritesCount', 'engine'],
151
+ });
152
+ customArticles.forEach((a) => {
153
+ var _a;
154
+ console.log(` - ${a.title} | ❤️ ${a.favoritesCount} | Engine: ${((_a = a.engine) === null || _a === void 0 ? void 0 : _a.name) || 'N/A'}`);
155
+ });
156
+ }
157
+ catch (error) {
158
+ console.error('❌ Error with presets:', error);
159
+ }
160
+ // ============================================================================
161
+ // 8. สร้าง Client แบบ Authenticated
162
+ // ============================================================================
163
+ console.log('\n🔐 8. Authenticated Client (ตัวอย่าง)\n');
164
+ // ตัวอย่างการสร้าง client แบบ login แล้ว
165
+ const authSdk = (0, index_1.createAuthenticatedClient)('your-jwt-token-here', {
166
+ // สามารถ override config ได้
167
+ defaultCacheSeconds: 0,
168
+ });
169
+ console.log('✅ Authenticated client created:');
170
+ console.log(` Has token: ${!!authSdk.config.token}`);
171
+ console.log(` Cache disabled: ${authSdk.config.defaultCacheSeconds === 0}`);
172
+ // ============================================================================
173
+ // 9. Raw GraphQL Query
174
+ // ============================================================================
175
+ console.log('\n🔮 9. Raw GraphQL Query\n');
176
+ try {
177
+ const query = `
178
+ query CustomQuery {
179
+ articles(limit: 2, status: PUBLISHED) {
180
+ id
181
+ title
182
+ tags {
183
+ name
184
+ }
185
+ }
186
+ }
187
+ `;
188
+ const { data, errors } = await sdk.graphql(query, {}, { operationName: 'CustomQuery' });
189
+ if (data) {
190
+ console.log('✅ Raw GraphQL Result:\n');
191
+ data.articles.forEach((a) => {
192
+ console.log(` - ${a.title}`);
193
+ console.log(` Tags: ${a.tags.map((t) => t.name).join(', ')}`);
194
+ });
195
+ }
196
+ if (errors) {
197
+ console.log('❌ GraphQL Errors:', errors);
198
+ }
199
+ }
200
+ catch (error) {
201
+ console.error('❌ Error with raw query:', error);
202
+ }
203
+ // ============================================================================
204
+ // สรุป
205
+ // ============================================================================
206
+ console.log('\n' + '='.repeat(50));
207
+ console.log('✨ Demo Complete!\n');
208
+ console.log('📚 สรุปการใช้งาน SDK:\n');
209
+ console.log(' 1. createChanomhubClient() - สร้าง client');
210
+ console.log(' 2. sdk.articles.getAll() - ดึง articles ทั้งหมด');
211
+ console.log(' 3. sdk.articles.getByTag() - ดึงตาม tag');
212
+ console.log(' 4. sdk.articles.getByPlatform()- ดึงตาม platform');
213
+ console.log(' 5. sdk.articles.getByCategory()- ดึงตาม category');
214
+ console.log(' 6. sdk.articles.getBySlug() - ดึง article เดียว');
215
+ console.log(' 7. sdk.articles.getWithDownloads() - ดึงพร้อม downloads');
216
+ console.log(' 8. sdk.graphql() - Raw GraphQL query');
217
+ console.log('\n🔗 Docs: https://github.com/Chanomhub/chanomhub-sdk');
218
+ }
219
+ main().catch(console.error);
220
+ //# sourceMappingURL=demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../examples/demo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"articleRepository.d.ts","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,WAAW,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAsH3G,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEjE,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;CAClF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAiLlF"}
1
+ {"version":3,"file":"articleRepository.d.ts","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,WAAW,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAA+B,MAAM,kBAAkB,CAAC;AA6GxI,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEjE,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;CAClF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAiLlF"}
@@ -4,102 +4,79 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createArticleRepository = createArticleRepository;
7
- // GraphQL Fragments for reuse
8
- const ARTICLE_LIST_FIELDS = `
9
- id
10
- title
11
- slug
12
- description
13
- ver
14
- createdAt
15
- updatedAt
16
- mainImage
17
- coverImage
18
- favoritesCount
19
- favorited
20
- status
21
- sequentialCode
22
- engine {
7
+ // ============================================================================
8
+ // Field Presets - Developers can choose the level of detail they need
9
+ // ============================================================================
10
+ /**
11
+ * Field definitions for each preset level
12
+ */
13
+ const FIELD_PRESETS = {
14
+ minimal: ['id', 'title', 'slug', 'mainImage'],
15
+ standard: [
16
+ 'id', 'title', 'slug', 'description', 'ver',
17
+ 'mainImage', 'coverImage',
18
+ 'author', 'tags', 'platforms', 'categories', 'creators', 'engine',
19
+ 'favoritesCount', 'favorited',
20
+ 'createdAt', 'updatedAt', 'status', 'sequentialCode', 'images'
21
+ ],
22
+ full: [
23
+ 'id', 'title', 'slug', 'description', 'body', 'ver',
24
+ 'mainImage', 'coverImage', 'backgroundImage',
25
+ 'author', 'tags', 'platforms', 'categories', 'creators', 'engine',
26
+ 'images',
27
+ 'favoritesCount', 'favorited',
28
+ 'createdAt', 'updatedAt', 'status', 'sequentialCode'
29
+ ],
30
+ };
31
+ /**
32
+ * GraphQL field mappings - converts field names to GraphQL query fragments
33
+ */
34
+ const FIELD_MAPPINGS = {
35
+ id: 'id',
36
+ title: 'title',
37
+ slug: 'slug',
38
+ description: 'description',
39
+ body: 'body',
40
+ ver: 'ver',
41
+ mainImage: 'mainImage',
42
+ coverImage: 'coverImage',
43
+ backgroundImage: 'backgroundImage',
44
+ createdAt: 'createdAt',
45
+ updatedAt: 'updatedAt',
46
+ status: 'status',
47
+ sequentialCode: 'sequentialCode',
48
+ favoritesCount: 'favoritesCount',
49
+ favorited: 'favorited',
50
+ engine: `engine {
23
51
  id
24
52
  name
25
- }
26
- author {
27
- name
28
- image
29
- }
30
- creators {
53
+ }`,
54
+ author: `author {
31
55
  id
32
56
  name
33
- }
34
- tags {
57
+ image
58
+ }`,
59
+ creators: `creators {
35
60
  id
36
61
  name
37
- }
38
- platforms {
62
+ }`,
63
+ tags: `tags {
39
64
  id
40
65
  name
41
- }
42
- categories {
66
+ }`,
67
+ platforms: `platforms {
43
68
  id
44
69
  name
45
- }
46
- images {
47
- id
48
- url
49
- }
50
- `;
51
- const ARTICLE_FULL_FIELDS = `
52
- id
53
- title
54
- slug
55
- description
56
- body
57
- ver
58
- createdAt
59
- updatedAt
60
- status
61
- engine {
70
+ }`,
71
+ categories: `categories {
62
72
  id
63
73
  name
64
- }
65
- mainImage
66
- backgroundImage
67
- coverImage
68
- favorited
69
- favoritesCount
70
- sequentialCode
71
- images {
74
+ }`,
75
+ images: `images {
72
76
  id
73
77
  url
74
- }
75
- author {
76
- name
77
- bio
78
- image
79
- backgroundImage
80
- following
81
- socialMediaLinks {
82
- platform
83
- url
84
- }
85
- }
86
- creators {
87
- id
88
- name
89
- }
90
- tags {
91
- id
92
- name
93
- }
94
- platforms {
95
- id
96
- name
97
- }
98
- categories {
99
- id
100
- name
101
- }
102
- mods {
78
+ }`,
79
+ mods: `mods {
103
80
  id
104
81
  name
105
82
  description
@@ -115,14 +92,25 @@ const ARTICLE_FULL_FIELDS = `
115
92
  id
116
93
  url
117
94
  }
118
- }
119
- `;
95
+ }`,
96
+ };
97
+ /**
98
+ * Builds GraphQL fields query from preset or custom fields
99
+ */
100
+ function buildFieldsQuery(options = {}) {
101
+ const { preset = 'standard', fields } = options;
102
+ const selectedFields = fields !== null && fields !== void 0 ? fields : FIELD_PRESETS[preset];
103
+ return selectedFields
104
+ .map(field => FIELD_MAPPINGS[field])
105
+ .filter(Boolean)
106
+ .join('\n ');
107
+ }
120
108
  /**
121
109
  * Creates an article repository with the given GraphQL client
122
110
  */
123
111
  function createArticleRepository(fetcher) {
124
112
  async function getAll(options = {}) {
125
- const { limit = 12, offset = 0, status = 'PUBLISHED', filter = {} } = options;
113
+ const { limit = 12, offset = 0, status = 'PUBLISHED', filter = {}, preset, fields } = options;
126
114
  // Build filter string
127
115
  const filterParts = [];
128
116
  if (filter.tag)
@@ -136,9 +124,10 @@ function createArticleRepository(fetcher) {
136
124
  if (filter.favorited !== undefined)
137
125
  filterParts.push(`favorited: ${filter.favorited}`);
138
126
  const filterArg = filterParts.length > 0 ? `filter: { ${filterParts.join(', ')} }, ` : '';
127
+ const fieldsQuery = buildFieldsQuery({ preset, fields });
139
128
  const query = `query GetArticles {
140
129
  articles(${filterArg}limit: ${limit}, offset: ${offset}, status: ${status}) {
141
- ${ARTICLE_LIST_FIELDS}
130
+ ${fieldsQuery}
142
131
  }
143
132
  }`;
144
133
  const { data, errors } = await fetcher(query, {}, {
@@ -154,7 +143,7 @@ function createArticleRepository(fetcher) {
154
143
  const { limit = 50 } = options;
155
144
  const query = `query GetArticlesByTag($tag: String!) {
156
145
  articles(filter: { tag: $tag }, status: PUBLISHED, limit: ${limit}) {
157
- ${ARTICLE_LIST_FIELDS}
146
+ ${buildFieldsQuery()}
158
147
  }
159
148
  }`;
160
149
  const { data, errors } = await fetcher(query, { tag }, {
@@ -170,7 +159,7 @@ function createArticleRepository(fetcher) {
170
159
  const { limit = 50 } = options;
171
160
  const query = `query GetArticlesByPlatform($platform: String!) {
172
161
  articles(filter: { platform: $platform }, status: PUBLISHED, limit: ${limit}) {
173
- ${ARTICLE_LIST_FIELDS}
162
+ ${buildFieldsQuery()}
174
163
  }
175
164
  }`;
176
165
  const { data, errors } = await fetcher(query, { platform }, {
@@ -186,7 +175,7 @@ function createArticleRepository(fetcher) {
186
175
  const { limit = 50 } = options;
187
176
  const query = `query GetArticlesByCategory($category: String!) {
188
177
  articles(filter: { category: $category }, status: PUBLISHED, limit: ${limit}) {
189
- ${ARTICLE_LIST_FIELDS}
178
+ ${buildFieldsQuery()}
190
179
  }
191
180
  }`;
192
181
  const { data, errors } = await fetcher(query, { category }, {
@@ -201,7 +190,7 @@ function createArticleRepository(fetcher) {
201
190
  async function getBySlug(slug, language) {
202
191
  const query = `query GetArticleBySlug($slug: String!, $language: String) {
203
192
  article(slug: $slug, language: $language) {
204
- ${ARTICLE_FULL_FIELDS}
193
+ ${buildFieldsQuery({ preset: 'full' })}
205
194
  }
206
195
  }`;
207
196
  const { data, errors } = await fetcher(query, { slug, language }, {
@@ -214,9 +203,9 @@ function createArticleRepository(fetcher) {
214
203
  return data.article || null;
215
204
  }
216
205
  async function getWithDownloads(slug, language) {
217
- const query = `query GetArticleWithDownloads($slug: String!, $language: String, $downloadsArticleId: Int) {
206
+ const query = `query GetArticleWithDownloads($slug: String!, $language: String, $downloadsArticleId: Int!) {
218
207
  article(slug: $slug, language: $language) {
219
- ${ARTICLE_FULL_FIELDS}
208
+ ${buildFieldsQuery({ preset: 'full' })}
220
209
  }
221
210
  downloads(articleId: $downloadsArticleId) {
222
211
  id
@@ -224,7 +213,6 @@ function createArticleRepository(fetcher) {
224
213
  url
225
214
  isActive
226
215
  vipOnly
227
- createdAt
228
216
  }
229
217
  officialDownloadSources(articleId: $downloadsArticleId) {
230
218
  id
@@ -238,7 +226,7 @@ function createArticleRepository(fetcher) {
238
226
  if (!articleResult) {
239
227
  return { article: null, downloads: null };
240
228
  }
241
- const { data, errors } = await fetcher(query, { slug, language, downloadsArticleId: articleResult.id }, { operationName: 'GetArticleWithDownloads' });
229
+ const { data, errors } = await fetcher(query, { slug, language, downloadsArticleId: Number(articleResult.id) }, { operationName: 'GetArticleWithDownloads' });
242
230
  if (errors || !data) {
243
231
  console.error('Failed to fetch article with downloads:', errors);
244
232
  return { article: articleResult, downloads: null };
@@ -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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"}
@@ -3,6 +3,17 @@
3
3
  */
4
4
  import type { ArticleStatus } from '../config';
5
5
  import type { Author, Download, OfficialDownloadSource, Mod, NamedEntity, ImageObject } from './common';
6
+ /**
7
+ * Field preset levels for article queries
8
+ * - minimal: Basic info only (id, title, slug, mainImage) - best for cards/thumbnails
9
+ * - standard: Common fields for list views (default)
10
+ * - full: All available fields including body content
11
+ */
12
+ export type ArticlePreset = 'minimal' | 'standard' | 'full';
13
+ /**
14
+ * Available fields for custom selection
15
+ */
16
+ export type ArticleField = 'id' | 'title' | 'slug' | 'description' | 'body' | 'ver' | 'mainImage' | 'coverImage' | 'backgroundImage' | 'author' | 'tags' | 'platforms' | 'categories' | 'creators' | 'engine' | 'images' | 'mods' | 'favoritesCount' | 'favorited' | 'createdAt' | 'updatedAt' | 'status' | 'sequentialCode';
6
17
  /** Full Article type */
7
18
  export interface Article {
8
19
  id: number;
@@ -78,6 +89,10 @@ export interface ArticleListOptions {
78
89
  offset?: number;
79
90
  status?: ArticleStatus;
80
91
  filter?: ArticleFilter;
92
+ /** Field preset level (default: 'standard') */
93
+ preset?: ArticlePreset;
94
+ /** Custom field selection (overrides preset) */
95
+ fields?: ArticleField[];
81
96
  }
82
97
  /** Article with downloads response */
83
98
  export interface ArticleWithDownloads {
@@ -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.0.1",
3
+ "version": "1.0.4",
4
4
  "description": "ChanomHub SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -46,4 +46,4 @@
46
46
  "peerDependencies": {
47
47
  "next": ">=13.0.0"
48
48
  }
49
- }
49
+ }