@trokky/client 2.0.3
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/README.md +833 -0
- package/dist/cache/manager.d.ts +47 -0
- package/dist/cache/manager.d.ts.map +1 -0
- package/dist/cache/manager.js +100 -0
- package/dist/cache/manager.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +159 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/client.d.ts +221 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +310 -0
- package/dist/client.js.map +1 -0
- package/dist/document/client.d.ts +57 -0
- package/dist/document/client.d.ts.map +1 -0
- package/dist/document/client.js +176 -0
- package/dist/document/client.js.map +1 -0
- package/dist/generator/document-generator.d.ts +50 -0
- package/dist/generator/document-generator.d.ts.map +1 -0
- package/dist/generator/document-generator.js +329 -0
- package/dist/generator/document-generator.js.map +1 -0
- package/dist/generator/index.d.ts +121 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +559 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/http/client.d.ts +117 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/client.js +411 -0
- package/dist/http/client.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/media/helper.d.ts +89 -0
- package/dist/media/helper.d.ts.map +1 -0
- package/dist/media/helper.js +197 -0
- package/dist/media/helper.js.map +1 -0
- package/dist/media/url-builder.d.ts +142 -0
- package/dist/media/url-builder.d.ts.map +1 -0
- package/dist/media/url-builder.js +280 -0
- package/dist/media/url-builder.js.map +1 -0
- package/dist/query/builder.d.ts +270 -0
- package/dist/query/builder.d.ts.map +1 -0
- package/dist/query/builder.js +731 -0
- package/dist/query/builder.js.map +1 -0
- package/dist/query/index.d.ts +6 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +5 -0
- package/dist/query/index.js.map +1 -0
- package/dist/react/hooks.d.ts +42 -0
- package/dist/react/hooks.d.ts.map +1 -0
- package/dist/react/hooks.js +59 -0
- package/dist/react/hooks.js.map +1 -0
- package/dist/react/index.d.ts +6 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +6 -0
- package/dist/react/index.js.map +1 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +8 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/media-proxy.d.ts +102 -0
- package/dist/server/media-proxy.d.ts.map +1 -0
- package/dist/server/media-proxy.js +160 -0
- package/dist/server/media-proxy.js.map +1 -0
- package/dist/shortcodes/index.d.ts +11 -0
- package/dist/shortcodes/index.d.ts.map +1 -0
- package/dist/shortcodes/index.js +10 -0
- package/dist/shortcodes/index.js.map +1 -0
- package/dist/shortcodes/parser.d.ts +32 -0
- package/dist/shortcodes/parser.d.ts.map +1 -0
- package/dist/shortcodes/parser.js +88 -0
- package/dist/shortcodes/parser.js.map +1 -0
- package/dist/shortcodes/resolver.d.ts +57 -0
- package/dist/shortcodes/resolver.d.ts.map +1 -0
- package/dist/shortcodes/resolver.js +97 -0
- package/dist/shortcodes/resolver.js.map +1 -0
- package/dist/shortcodes/types.d.ts +17 -0
- package/dist/shortcodes/types.d.ts.map +1 -0
- package/dist/shortcodes/types.js +6 -0
- package/dist/shortcodes/types.js.map +1 -0
- package/dist/types/index.d.ts +134 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +101 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Manager
|
|
3
|
+
* Simple in-memory cache with TTL support
|
|
4
|
+
*/
|
|
5
|
+
export declare class CacheManager {
|
|
6
|
+
private defaultMaxAge;
|
|
7
|
+
private cache;
|
|
8
|
+
private cleanupInterval;
|
|
9
|
+
constructor(defaultMaxAge?: number);
|
|
10
|
+
/**
|
|
11
|
+
* Get cached data
|
|
12
|
+
*/
|
|
13
|
+
get<T>(key: string): T | null;
|
|
14
|
+
/**
|
|
15
|
+
* Set cached data with optional TTL
|
|
16
|
+
*/
|
|
17
|
+
set<T>(key: string, data: T, maxAge?: number): void;
|
|
18
|
+
/**
|
|
19
|
+
* Delete cached data
|
|
20
|
+
*/
|
|
21
|
+
delete(key: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Clear all cached data
|
|
24
|
+
*/
|
|
25
|
+
clear(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Check if key exists and is not expired
|
|
28
|
+
*/
|
|
29
|
+
has(key: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Get cache size
|
|
32
|
+
*/
|
|
33
|
+
size(): number;
|
|
34
|
+
/**
|
|
35
|
+
* Generate cache key for API requests
|
|
36
|
+
*/
|
|
37
|
+
generateKey(endpoint: string, params?: any): string;
|
|
38
|
+
/**
|
|
39
|
+
* Remove expired entries
|
|
40
|
+
*/
|
|
41
|
+
private cleanup;
|
|
42
|
+
/**
|
|
43
|
+
* Destroy cache manager and cleanup interval
|
|
44
|
+
*/
|
|
45
|
+
destroy(): void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,qBAAa,YAAY;IAIX,OAAO,CAAC,aAAa;IAHjC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,eAAe,CAA8B;gBAEjC,aAAa,GAAE,MAAe;IAOlD;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAa7B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAUnD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM;IAcnD;;OAEG;IACH,OAAO,CAAC,OAAO;IAUf;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Manager
|
|
3
|
+
* Simple in-memory cache with TTL support
|
|
4
|
+
*/
|
|
5
|
+
export class CacheManager {
|
|
6
|
+
constructor(defaultMaxAge = 300000) {
|
|
7
|
+
this.defaultMaxAge = defaultMaxAge;
|
|
8
|
+
this.cache = new Map();
|
|
9
|
+
this.cleanupInterval = null;
|
|
10
|
+
// Start cleanup every minute
|
|
11
|
+
this.cleanupInterval = setInterval(() => {
|
|
12
|
+
this.cleanup();
|
|
13
|
+
}, 60000);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get cached data
|
|
17
|
+
*/
|
|
18
|
+
get(key) {
|
|
19
|
+
const entry = this.cache.get(key);
|
|
20
|
+
if (!entry)
|
|
21
|
+
return null;
|
|
22
|
+
// Check if expired
|
|
23
|
+
if (Date.now() - entry.timestamp > entry.maxAge) {
|
|
24
|
+
this.cache.delete(key);
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return entry.data;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Set cached data with optional TTL
|
|
31
|
+
*/
|
|
32
|
+
set(key, data, maxAge) {
|
|
33
|
+
const entry = {
|
|
34
|
+
data,
|
|
35
|
+
timestamp: Date.now(),
|
|
36
|
+
maxAge: maxAge || this.defaultMaxAge
|
|
37
|
+
};
|
|
38
|
+
this.cache.set(key, entry);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Delete cached data
|
|
42
|
+
*/
|
|
43
|
+
delete(key) {
|
|
44
|
+
return this.cache.delete(key);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Clear all cached data
|
|
48
|
+
*/
|
|
49
|
+
clear() {
|
|
50
|
+
this.cache.clear();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Check if key exists and is not expired
|
|
54
|
+
*/
|
|
55
|
+
has(key) {
|
|
56
|
+
return this.get(key) !== null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get cache size
|
|
60
|
+
*/
|
|
61
|
+
size() {
|
|
62
|
+
return this.cache.size;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Generate cache key for API requests
|
|
66
|
+
*/
|
|
67
|
+
generateKey(endpoint, params) {
|
|
68
|
+
const base = endpoint.replace(/^\/+|\/+$/g, ''); // Remove leading/trailing slashes
|
|
69
|
+
if (!params)
|
|
70
|
+
return base;
|
|
71
|
+
// Sort params for consistent keys
|
|
72
|
+
const sortedParams = Object.keys(params)
|
|
73
|
+
.sort()
|
|
74
|
+
.map(key => `${key}=${JSON.stringify(params[key])}`)
|
|
75
|
+
.join('&');
|
|
76
|
+
return `${base}?${sortedParams}`;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Remove expired entries
|
|
80
|
+
*/
|
|
81
|
+
cleanup() {
|
|
82
|
+
const now = Date.now();
|
|
83
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
84
|
+
if (now - entry.timestamp > entry.maxAge) {
|
|
85
|
+
this.cache.delete(key);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Destroy cache manager and cleanup interval
|
|
91
|
+
*/
|
|
92
|
+
destroy() {
|
|
93
|
+
if (this.cleanupInterval) {
|
|
94
|
+
clearInterval(this.cleanupInterval);
|
|
95
|
+
this.cleanupInterval = null;
|
|
96
|
+
}
|
|
97
|
+
this.clear();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/cache/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Trokky Client CLI
|
|
4
|
+
* Command-line tool for generating types and test data
|
|
5
|
+
*/
|
|
6
|
+
import { program } from 'commander';
|
|
7
|
+
import { TypeGenerator, generateTypesFromPath } from '../generator/index.js';
|
|
8
|
+
import { DocumentGenerator } from '../generator/document-generator.js';
|
|
9
|
+
// Types command
|
|
10
|
+
program
|
|
11
|
+
.command('generate-types')
|
|
12
|
+
.description('Generate TypeScript types from Trokky schemas')
|
|
13
|
+
.option('-p, --schema-path <path>', 'Local path to schemas directory (e.g., ../cms/schemas)')
|
|
14
|
+
.option('-u, --schema-url <url>', 'Schema URL to fetch from (alternative to --schema-path)')
|
|
15
|
+
.option('-o, --output-dir <dir>', 'Output directory for generated types', './src/types/trokky')
|
|
16
|
+
.option('-n, --namespace <name>', 'TypeScript namespace', 'Trokky')
|
|
17
|
+
.option('-e, --extension <ext>', 'File extension (ts|d.ts)', 'ts')
|
|
18
|
+
.option('--no-validation', 'Skip validation schema generation')
|
|
19
|
+
.option('-t, --auth-token <token>', 'Authentication token (for --schema-url)')
|
|
20
|
+
.option('--username <username>', 'Username for authentication (for --schema-url)')
|
|
21
|
+
.option('--password <password>', 'Password for authentication (for --schema-url)')
|
|
22
|
+
.action(async (options) => {
|
|
23
|
+
try {
|
|
24
|
+
// Prefer local schema path over URL
|
|
25
|
+
if (options.schemaPath) {
|
|
26
|
+
console.log(`Reading schemas from: ${options.schemaPath}`);
|
|
27
|
+
await generateTypesFromPath({
|
|
28
|
+
schemaPath: options.schemaPath,
|
|
29
|
+
outputDir: options.outputDir,
|
|
30
|
+
namespace: options.namespace,
|
|
31
|
+
fileExtension: options.extension,
|
|
32
|
+
includeValidation: options.validation
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
else if (options.schemaUrl) {
|
|
36
|
+
console.log(`Fetching schemas from: ${options.schemaUrl}`);
|
|
37
|
+
const generatorOptions = {
|
|
38
|
+
schemaUrl: options.schemaUrl,
|
|
39
|
+
outputDir: options.outputDir,
|
|
40
|
+
namespace: options.namespace,
|
|
41
|
+
fileExtension: options.extension,
|
|
42
|
+
includeValidation: options.validation,
|
|
43
|
+
authToken: options.authToken,
|
|
44
|
+
username: options.username,
|
|
45
|
+
password: options.password
|
|
46
|
+
};
|
|
47
|
+
const generator = new TypeGenerator(generatorOptions);
|
|
48
|
+
await generator.generateFromUrl();
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.error('Error: Please provide either --schema-path or --schema-url');
|
|
52
|
+
console.log('\nExamples:');
|
|
53
|
+
console.log(' npx trokky-client generate-types --schema-path ../cms/schemas -o ./src/types/cms');
|
|
54
|
+
console.log(' npx trokky-client generate-types --schema-url http://localhost:3000/api/collections -o ./src/types/cms');
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
console.log('TypeScript types generated successfully!');
|
|
58
|
+
console.log(`Output: ${options.outputDir}`);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error('Failed to generate types:', error);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
// Documents command
|
|
66
|
+
program
|
|
67
|
+
.command('generate-documents')
|
|
68
|
+
.description('Generate test documents with faker.js')
|
|
69
|
+
.option('-u, --schema-url <url>', 'Schema URL to fetch from')
|
|
70
|
+
.option('-o, --output-dir <dir>', 'Output directory for generated documents', './generated')
|
|
71
|
+
.option('-c, --count <number>', 'Number of documents per schema', '10')
|
|
72
|
+
.option('-l, --locale <locale>', 'Faker locale', 'en')
|
|
73
|
+
.option('-s, --seed <number>', 'Random seed for consistent generation')
|
|
74
|
+
.option('-f, --format <format>', 'Output format (json|typescript|both)', 'json')
|
|
75
|
+
.option('--no-references', 'Skip reference field generation')
|
|
76
|
+
.action(async (options) => {
|
|
77
|
+
try {
|
|
78
|
+
const generatorOptions = {
|
|
79
|
+
schemaUrl: options.schemaUrl,
|
|
80
|
+
outputDir: options.outputDir,
|
|
81
|
+
count: parseInt(options.count),
|
|
82
|
+
locale: options.locale,
|
|
83
|
+
seed: options.seed ? parseInt(options.seed) : undefined,
|
|
84
|
+
format: options.format,
|
|
85
|
+
generateReferences: options.references
|
|
86
|
+
};
|
|
87
|
+
const generator = new DocumentGenerator(generatorOptions);
|
|
88
|
+
const documents = await generator.generateFromUrl();
|
|
89
|
+
console.log('✅ Test documents generated successfully!');
|
|
90
|
+
console.log(`📊 Generated collections:`);
|
|
91
|
+
for (const [collection, docs] of Object.entries(documents)) {
|
|
92
|
+
console.log(` • ${collection}: ${docs.length} documents`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.error('❌ Failed to generate documents:', error);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
// Combined command
|
|
101
|
+
program
|
|
102
|
+
.command('generate-all')
|
|
103
|
+
.description('Generate both types and test documents')
|
|
104
|
+
.option('-u, --schema-url <url>', 'Schema URL to fetch from')
|
|
105
|
+
.option('--types-dir <dir>', 'Types output directory', './src/types/trokky')
|
|
106
|
+
.option('--docs-dir <dir>', 'Documents output directory', './generated')
|
|
107
|
+
.option('-c, --count <number>', 'Number of documents per schema', '10')
|
|
108
|
+
.option('-l, --locale <locale>', 'Faker locale', 'en')
|
|
109
|
+
.option('-s, --seed <number>', 'Random seed for consistent generation')
|
|
110
|
+
.action(async (options) => {
|
|
111
|
+
try {
|
|
112
|
+
console.log('🚀 Generating TypeScript types...');
|
|
113
|
+
// Generate types
|
|
114
|
+
const typeGenerator = new TypeGenerator({
|
|
115
|
+
schemaUrl: options.schemaUrl,
|
|
116
|
+
outputDir: options.typesDir,
|
|
117
|
+
namespace: 'Trokky',
|
|
118
|
+
fileExtension: 'ts',
|
|
119
|
+
includeValidation: true
|
|
120
|
+
});
|
|
121
|
+
await typeGenerator.generateFromUrl();
|
|
122
|
+
console.log('✅ Types generated!');
|
|
123
|
+
console.log('🚀 Generating test documents...');
|
|
124
|
+
// Generate documents
|
|
125
|
+
const docGenerator = new DocumentGenerator({
|
|
126
|
+
schemaUrl: options.schemaUrl,
|
|
127
|
+
outputDir: options.docsDir,
|
|
128
|
+
count: parseInt(options.count),
|
|
129
|
+
locale: options.locale,
|
|
130
|
+
seed: options.seed ? parseInt(options.seed) : undefined,
|
|
131
|
+
format: 'both',
|
|
132
|
+
generateReferences: true
|
|
133
|
+
});
|
|
134
|
+
const documents = await docGenerator.generateFromUrl();
|
|
135
|
+
console.log('✅ Everything generated successfully!');
|
|
136
|
+
console.log('\n📋 Summary:');
|
|
137
|
+
console.log(` 📁 Types: ${options.typesDir}`);
|
|
138
|
+
console.log(` 📁 Documents: ${options.docsDir}`);
|
|
139
|
+
console.log(` 📊 Collections: ${Object.keys(documents).length}`);
|
|
140
|
+
for (const [collection, docs] of Object.entries(documents)) {
|
|
141
|
+
console.log(` • ${collection}: ${docs.length} documents`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
console.error('❌ Failed to generate:', error);
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
// Version and help
|
|
150
|
+
program
|
|
151
|
+
.version('0.1.0')
|
|
152
|
+
.description('Trokky Client CLI - Generate types and test data from schemas');
|
|
153
|
+
// Parse arguments
|
|
154
|
+
program.parse();
|
|
155
|
+
// Show help if no command provided
|
|
156
|
+
if (!process.argv.slice(2).length) {
|
|
157
|
+
program.outputHelp();
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main Trokky Client
|
|
3
|
+
* High-level client that orchestrates all SDK functionality
|
|
4
|
+
*/
|
|
5
|
+
import { HttpClient } from './http/client.js';
|
|
6
|
+
import { CacheManager } from './cache/manager.js';
|
|
7
|
+
import { DocumentClient } from './document/client.js';
|
|
8
|
+
import { MediaHelper } from './media/helper.js';
|
|
9
|
+
import { ShortcodeResolver } from './shortcodes/resolver.js';
|
|
10
|
+
import { QueryBuilder, SingletonBuilder } from './query/builder.js';
|
|
11
|
+
import { ImageUrlBuilder } from './media/url-builder.js';
|
|
12
|
+
import type { ClientConfig, AuthConfig, AuthTokens, QueryOptions, DocumentResult, CollectionResult, MediaResult, BaseDocument, MediaFieldValue } from './types/index.js';
|
|
13
|
+
export declare class TrokkyClient {
|
|
14
|
+
readonly http: HttpClient;
|
|
15
|
+
readonly cache: CacheManager;
|
|
16
|
+
readonly documents: DocumentClient;
|
|
17
|
+
readonly media: MediaHelper;
|
|
18
|
+
readonly shortcodes: ShortcodeResolver;
|
|
19
|
+
constructor(config: ClientConfig);
|
|
20
|
+
/**
|
|
21
|
+
* Authenticate with username and password
|
|
22
|
+
*/
|
|
23
|
+
authenticate(credentials: AuthConfig): Promise<AuthTokens>;
|
|
24
|
+
/**
|
|
25
|
+
* Refresh authentication token
|
|
26
|
+
*/
|
|
27
|
+
refreshAuth(): Promise<AuthTokens>;
|
|
28
|
+
/**
|
|
29
|
+
* Logout and clear tokens
|
|
30
|
+
*/
|
|
31
|
+
logout(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Check if client is authenticated
|
|
34
|
+
*/
|
|
35
|
+
isAuthenticated(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Get current authentication tokens
|
|
38
|
+
*/
|
|
39
|
+
getTokens(): AuthTokens | null;
|
|
40
|
+
/**
|
|
41
|
+
* Set authentication tokens
|
|
42
|
+
*/
|
|
43
|
+
setTokens(tokens: AuthTokens): void;
|
|
44
|
+
/**
|
|
45
|
+
* Set API token for authentication (alternative to JWT)
|
|
46
|
+
*/
|
|
47
|
+
setApiToken(token: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Get current API token
|
|
50
|
+
*/
|
|
51
|
+
getApiToken(): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Clear API token
|
|
54
|
+
*/
|
|
55
|
+
clearApiToken(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Get document by ID
|
|
58
|
+
*/
|
|
59
|
+
getDocument<T extends BaseDocument>(type: string, id: string, useCache?: boolean): Promise<DocumentResult<T>>;
|
|
60
|
+
/**
|
|
61
|
+
* Query documents
|
|
62
|
+
*/
|
|
63
|
+
queryDocuments<T extends BaseDocument>(type: string, options?: QueryOptions, useCache?: boolean): Promise<CollectionResult<T>>;
|
|
64
|
+
/**
|
|
65
|
+
* Create new document
|
|
66
|
+
*/
|
|
67
|
+
createDocument<T extends BaseDocument>(type: string, data: Omit<T, '_id' | '_type' | '_createdAt' | '_updatedAt' | '_version'>): Promise<DocumentResult<T>>;
|
|
68
|
+
/**
|
|
69
|
+
* Update document
|
|
70
|
+
*/
|
|
71
|
+
updateDocument<T extends BaseDocument>(type: string, id: string, data: Partial<Omit<T, '_id' | '_type' | '_createdAt' | '_updatedAt' | '_version'>>): Promise<DocumentResult<T>>;
|
|
72
|
+
/**
|
|
73
|
+
* Replace document
|
|
74
|
+
*/
|
|
75
|
+
replaceDocument<T extends BaseDocument>(type: string, id: string, data: Omit<T, '_id' | '_type' | '_createdAt' | '_updatedAt' | '_version'>): Promise<DocumentResult<T>>;
|
|
76
|
+
/**
|
|
77
|
+
* Delete document
|
|
78
|
+
*/
|
|
79
|
+
deleteDocument(type: string, id: string): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Search documents
|
|
82
|
+
*/
|
|
83
|
+
searchDocuments<T extends BaseDocument>(type: string, searchTerm: string, fields?: string[], options?: Omit<QueryOptions, 'filter'>): Promise<CollectionResult<T>>;
|
|
84
|
+
/**
|
|
85
|
+
* Count documents
|
|
86
|
+
*/
|
|
87
|
+
countDocuments(type: string, filter?: Record<string, any>): Promise<number>;
|
|
88
|
+
/**
|
|
89
|
+
* Check if document exists
|
|
90
|
+
*/
|
|
91
|
+
documentExists(type: string, id: string): Promise<boolean>;
|
|
92
|
+
/**
|
|
93
|
+
* Upload file
|
|
94
|
+
*/
|
|
95
|
+
uploadFile(file: File | Buffer, filename?: string): Promise<MediaResult>;
|
|
96
|
+
/**
|
|
97
|
+
* Get media by ID
|
|
98
|
+
*/
|
|
99
|
+
getMedia(id: string): Promise<MediaResult>;
|
|
100
|
+
/**
|
|
101
|
+
* Delete media
|
|
102
|
+
*/
|
|
103
|
+
deleteMedia(id: string): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* List API tokens
|
|
106
|
+
*/
|
|
107
|
+
listApiTokens(): Promise<any>;
|
|
108
|
+
/**
|
|
109
|
+
* Create API token
|
|
110
|
+
*/
|
|
111
|
+
createApiToken(data: any): Promise<any>;
|
|
112
|
+
/**
|
|
113
|
+
* Get API token by ID
|
|
114
|
+
*/
|
|
115
|
+
getApiTokenById(id: string): Promise<any>;
|
|
116
|
+
/**
|
|
117
|
+
* Update API token
|
|
118
|
+
*/
|
|
119
|
+
updateApiToken(id: string, data: any): Promise<any>;
|
|
120
|
+
/**
|
|
121
|
+
* Delete API token
|
|
122
|
+
*/
|
|
123
|
+
deleteApiToken(id: string): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Resolve shortcodes in content to HTML
|
|
126
|
+
* Converts environment-agnostic shortcodes to actual HTML for display
|
|
127
|
+
*/
|
|
128
|
+
resolveContent(content: string): string;
|
|
129
|
+
/**
|
|
130
|
+
* Check if content contains shortcodes
|
|
131
|
+
*/
|
|
132
|
+
hasShortcodes(content: string): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Extract media dependencies from content
|
|
135
|
+
* Useful for preloading or understanding content requirements
|
|
136
|
+
*/
|
|
137
|
+
extractContentMedia(content: string): import("./index.js").TrokkyImageShortcode[];
|
|
138
|
+
/**
|
|
139
|
+
* Preload all media in content for faster rendering
|
|
140
|
+
*/
|
|
141
|
+
preloadContentMedia(content: string): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Test API connection
|
|
144
|
+
*/
|
|
145
|
+
ping(): Promise<{
|
|
146
|
+
status: string;
|
|
147
|
+
timestamp: string;
|
|
148
|
+
}>;
|
|
149
|
+
/**
|
|
150
|
+
* Get API health status
|
|
151
|
+
*/
|
|
152
|
+
health(): Promise<{
|
|
153
|
+
status: string;
|
|
154
|
+
services: Record<string, string>;
|
|
155
|
+
}>;
|
|
156
|
+
/**
|
|
157
|
+
* Clear client cache
|
|
158
|
+
*/
|
|
159
|
+
clearCache(): void;
|
|
160
|
+
/**
|
|
161
|
+
* Get cache statistics
|
|
162
|
+
*/
|
|
163
|
+
getCacheStats(): {
|
|
164
|
+
size: number;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Destroy client and cleanup resources
|
|
168
|
+
*/
|
|
169
|
+
destroy(): void;
|
|
170
|
+
/**
|
|
171
|
+
* Start a fluent query for a collection type
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* const articles = await client
|
|
176
|
+
* .from('article')
|
|
177
|
+
* .published()
|
|
178
|
+
* .expand('category')
|
|
179
|
+
* .sort({ _createdAt: 'desc' })
|
|
180
|
+
* .limit(10)
|
|
181
|
+
* .fetch()
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
from<T extends BaseDocument = BaseDocument>(type: string): QueryBuilder<T>;
|
|
185
|
+
/**
|
|
186
|
+
* Fetch a singleton document (e.g., homepage, settings)
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```typescript
|
|
190
|
+
* const homepage = await client.singleton('homepage').fetch()
|
|
191
|
+
* const settings = await client.singleton('settings', 'site-settings').fetch()
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
singleton<T extends BaseDocument = BaseDocument>(type: string, id?: string): SingletonBuilder<T>;
|
|
195
|
+
/**
|
|
196
|
+
* Create an image URL builder for a media field
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* const url = client.imageUrl(article.featuredImage)
|
|
201
|
+
* .width(800)
|
|
202
|
+
* .height(400)
|
|
203
|
+
* .format('webp')
|
|
204
|
+
* .url()
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
imageUrl(source: MediaFieldValue | string | null | undefined): ImageUrlBuilder;
|
|
208
|
+
/**
|
|
209
|
+
* Create a reusable image URL builder factory
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* const urlFor = client.createImageUrlBuilder()
|
|
214
|
+
* const url = urlFor(article.image).width(800).url()
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
createImageUrlBuilder(options?: {
|
|
218
|
+
proxyPath?: string;
|
|
219
|
+
}): (source: MediaFieldValue | string | null | undefined) => ImageUrlBuilder;
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|