kibela-api-client 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +134 -142
- package/dist/cli/_error-handler.d.ts.map +1 -1
- package/dist/cli/_error-handler.js +5 -8
- package/dist/cli/_error-handler.js.map +1 -1
- package/dist/cli/_validators.d.ts +15 -38
- package/dist/cli/_validators.d.ts.map +1 -1
- package/dist/cli/_validators.js +148 -49
- package/dist/cli/_validators.js.map +1 -1
- package/dist/cli/commands/all.d.ts +3 -0
- package/dist/cli/commands/all.d.ts.map +1 -0
- package/dist/cli/commands/all.js +59 -0
- package/dist/cli/commands/all.js.map +1 -0
- package/dist/cli/commands/config.d.ts +6 -2
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +67 -62
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/get.d.ts +3 -0
- package/dist/cli/commands/get.d.ts.map +1 -0
- package/dist/cli/commands/get.js +152 -0
- package/dist/cli/commands/get.js.map +1 -0
- package/dist/cli/commands/groups-simple.d.ts +3 -0
- package/dist/cli/commands/groups-simple.d.ts.map +1 -0
- package/dist/cli/commands/groups-simple.js +39 -0
- package/dist/cli/commands/groups-simple.js.map +1 -0
- package/dist/cli/commands/new.d.ts +3 -0
- package/dist/cli/commands/new.d.ts.map +1 -0
- package/dist/cli/commands/new.js +168 -0
- package/dist/cli/commands/new.js.map +1 -0
- package/dist/cli/commands/set.d.ts +3 -0
- package/dist/cli/commands/set.d.ts.map +1 -0
- package/dist/cli/commands/set.js +96 -0
- package/dist/cli/commands/set.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +3 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +143 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/users-simple.d.ts +3 -0
- package/dist/cli/commands/users-simple.d.ts.map +1 -0
- package/dist/cli/commands/users-simple.js +61 -0
- package/dist/cli/commands/users-simple.js.map +1 -0
- package/dist/cli/commands/users.d.ts +2 -2
- package/dist/cli/commands/users.d.ts.map +1 -1
- package/dist/cli/commands/users.js +50 -65
- package/dist/cli/commands/users.js.map +1 -1
- package/dist/cli/config.js +7 -7
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/index.js +29 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/frontmatter.d.ts +3 -0
- package/dist/cli/utils/frontmatter.d.ts.map +1 -0
- package/dist/cli/utils/frontmatter.js +89 -0
- package/dist/cli/utils/frontmatter.js.map +1 -0
- package/dist/cli/utils.d.ts +2 -2
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +7 -13
- package/dist/cli/utils.js.map +1 -1
- package/dist/client/index.js +2 -2
- package/dist/client/index.js.map +1 -1
- package/dist/core/cli/command.d.ts +45 -0
- package/dist/core/cli/command.d.ts.map +1 -0
- package/dist/core/cli/command.js +237 -0
- package/dist/core/cli/command.js.map +1 -0
- package/dist/core/env.d.ts +9 -0
- package/dist/core/env.d.ts.map +1 -0
- package/dist/core/env.js +96 -0
- package/dist/core/env.js.map +1 -0
- package/dist/core/graphql/client.d.ts +29 -0
- package/dist/core/graphql/client.d.ts.map +1 -0
- package/dist/core/graphql/client.js +41 -0
- package/dist/core/graphql/client.js.map +1 -0
- package/dist/core/http/client.d.ts +16 -0
- package/dist/core/http/client.d.ts.map +1 -0
- package/dist/core/http/client.js +87 -0
- package/dist/core/http/client.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +25 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/terminal/colors.d.ts +29 -0
- package/dist/core/terminal/colors.d.ts.map +1 -0
- package/dist/core/terminal/colors.js +66 -0
- package/dist/core/terminal/colors.js.map +1 -0
- package/dist/core/terminal/prompt.d.ts +22 -0
- package/dist/core/terminal/prompt.d.ts.map +1 -0
- package/dist/core/terminal/prompt.js +189 -0
- package/dist/core/terminal/prompt.js.map +1 -0
- package/dist/core/terminal/spinner.d.ts +17 -0
- package/dist/core/terminal/spinner.d.ts.map +1 -0
- package/dist/core/terminal/spinner.js +79 -0
- package/dist/core/terminal/spinner.js.map +1 -0
- package/dist/core/validation/validator.d.ts +26 -0
- package/dist/core/validation/validator.d.ts.map +1 -0
- package/dist/core/validation/validator.js +100 -0
- package/dist/core/validation/validator.js.map +1 -0
- package/dist/queries/notes.d.ts +10 -1
- package/dist/queries/notes.d.ts.map +1 -1
- package/dist/queries/notes.js +13 -13
- package/dist/queries/notes.js.map +1 -1
- package/dist/sync/frontmatter.d.ts +30 -0
- package/dist/sync/frontmatter.d.ts.map +1 -0
- package/dist/sync/frontmatter.js +123 -0
- package/dist/sync/frontmatter.js.map +1 -0
- package/dist/sync/index.d.ts +3 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +19 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/sync-client.d.ts +17 -0
- package/dist/sync/sync-client.d.ts.map +1 -0
- package/dist/sync/sync-client.js +158 -0
- package/dist/sync/sync-client.js.map +1 -0
- package/package.json +2 -12
package/dist/cli/_validators.js
CHANGED
@@ -2,62 +2,161 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.ErrorResponseSchema = exports.NoteResponseSchema = exports.EnvSchema = exports.UpdateNoteInputSchema = exports.CreateNoteInputSchema = exports.ConfigSchema = void 0;
|
4
4
|
exports.validateConfig = validateConfig;
|
5
|
+
exports.validateUpdateNoteInput = validateUpdateNoteInput;
|
6
|
+
exports.validateEnv = validateEnv;
|
5
7
|
exports.sanitizeToken = sanitizeToken;
|
6
|
-
const
|
8
|
+
const validator_1 = require("../core/validation/validator");
|
7
9
|
// Configuration validation
|
8
|
-
exports.ConfigSchema =
|
9
|
-
team:
|
10
|
-
|
11
|
-
|
10
|
+
exports.ConfigSchema = {
|
11
|
+
team: {
|
12
|
+
type: 'string',
|
13
|
+
required: true,
|
14
|
+
min: 1,
|
15
|
+
validate: (value) => value.trim() === '' ? 'Team name is required' : null,
|
16
|
+
},
|
17
|
+
token: {
|
18
|
+
type: 'string',
|
19
|
+
required: true,
|
20
|
+
min: 1,
|
21
|
+
validate: (value) => value.trim() === '' ? 'API token is required' : null,
|
22
|
+
},
|
23
|
+
};
|
12
24
|
// Note input validation
|
13
|
-
exports.CreateNoteInputSchema =
|
14
|
-
title:
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
}
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
exports.CreateNoteInputSchema = {
|
26
|
+
title: {
|
27
|
+
type: 'string',
|
28
|
+
required: true,
|
29
|
+
min: 1,
|
30
|
+
validate: (value) => value.trim() === '' ? 'Title is required' : null,
|
31
|
+
},
|
32
|
+
content: {
|
33
|
+
type: 'string',
|
34
|
+
required: true,
|
35
|
+
min: 1,
|
36
|
+
validate: (value) => value.trim() === '' ? 'Content is required' : null,
|
37
|
+
},
|
38
|
+
coediting: {
|
39
|
+
type: 'boolean',
|
40
|
+
required: false,
|
41
|
+
},
|
42
|
+
groupIds: {
|
43
|
+
type: 'array',
|
44
|
+
required: false,
|
45
|
+
items: { type: 'string' },
|
46
|
+
},
|
47
|
+
draft: {
|
48
|
+
type: 'boolean',
|
49
|
+
required: false,
|
50
|
+
},
|
51
|
+
};
|
52
|
+
exports.UpdateNoteInputSchema = {
|
53
|
+
title: {
|
54
|
+
type: 'string',
|
55
|
+
required: false,
|
56
|
+
min: 1,
|
57
|
+
},
|
58
|
+
content: {
|
59
|
+
type: 'string',
|
60
|
+
required: false,
|
61
|
+
min: 1,
|
62
|
+
},
|
63
|
+
coediting: {
|
64
|
+
type: 'boolean',
|
65
|
+
required: false,
|
66
|
+
},
|
67
|
+
groupIds: {
|
68
|
+
type: 'array',
|
69
|
+
required: false,
|
70
|
+
items: { type: 'string' },
|
71
|
+
},
|
72
|
+
draft: {
|
73
|
+
type: 'boolean',
|
74
|
+
required: false,
|
75
|
+
},
|
76
|
+
};
|
29
77
|
// Environment variable validation
|
30
|
-
exports.EnvSchema =
|
31
|
-
KIBELA_TEAM:
|
32
|
-
|
33
|
-
|
34
|
-
}
|
35
|
-
|
36
|
-
|
78
|
+
exports.EnvSchema = {
|
79
|
+
KIBELA_TEAM: {
|
80
|
+
type: 'string',
|
81
|
+
required: false,
|
82
|
+
},
|
83
|
+
KIBELA_TOKEN: {
|
84
|
+
type: 'string',
|
85
|
+
required: false,
|
86
|
+
},
|
87
|
+
};
|
37
88
|
// API response validation
|
38
|
-
exports.NoteResponseSchema =
|
39
|
-
id:
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
}
|
51
|
-
|
89
|
+
exports.NoteResponseSchema = {
|
90
|
+
id: {
|
91
|
+
type: 'string',
|
92
|
+
required: true,
|
93
|
+
},
|
94
|
+
title: {
|
95
|
+
type: 'string',
|
96
|
+
required: true,
|
97
|
+
},
|
98
|
+
content: {
|
99
|
+
type: 'string',
|
100
|
+
required: true,
|
101
|
+
},
|
102
|
+
url: {
|
103
|
+
type: 'string',
|
104
|
+
required: true,
|
105
|
+
},
|
106
|
+
};
|
107
|
+
exports.ErrorResponseSchema = {
|
108
|
+
errors: {
|
109
|
+
type: 'array',
|
110
|
+
required: true,
|
111
|
+
items: {
|
112
|
+
type: 'object',
|
113
|
+
properties: {
|
114
|
+
message: {
|
115
|
+
type: 'string',
|
116
|
+
required: true,
|
117
|
+
},
|
118
|
+
extensions: {
|
119
|
+
type: 'object',
|
120
|
+
required: false,
|
121
|
+
properties: {
|
122
|
+
code: {
|
123
|
+
type: 'string',
|
124
|
+
required: false,
|
125
|
+
},
|
126
|
+
},
|
127
|
+
},
|
128
|
+
},
|
129
|
+
},
|
130
|
+
},
|
131
|
+
};
|
52
132
|
// Validation helpers
|
53
133
|
function validateConfig(team, token) {
|
54
|
-
const
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
134
|
+
const errors = validator_1.Validator.validate({ team: team || '', token: token || '' }, exports.ConfigSchema);
|
135
|
+
if (errors.length > 0) {
|
136
|
+
const errorMessages = errors.map(e => e.message).join(', ');
|
137
|
+
return { isValid: false, error: errorMessages };
|
138
|
+
}
|
139
|
+
return { isValid: true };
|
140
|
+
}
|
141
|
+
function validateUpdateNoteInput(data) {
|
142
|
+
const errors = validator_1.Validator.validate(data, exports.UpdateNoteInputSchema);
|
143
|
+
// Additional validation: at least one field must be provided
|
144
|
+
if (!data.title && !data.content && data.coediting === undefined &&
|
145
|
+
!data.groupIds && data.draft === undefined) {
|
146
|
+
return { isValid: false, error: 'At least one field must be provided' };
|
147
|
+
}
|
148
|
+
if (errors.length > 0) {
|
149
|
+
const errorMessages = errors.map(e => e.message).join(', ');
|
150
|
+
return { isValid: false, error: errorMessages };
|
151
|
+
}
|
152
|
+
return { isValid: true };
|
153
|
+
}
|
154
|
+
function validateEnv(env) {
|
155
|
+
const errors = validator_1.Validator.validate(env, exports.EnvSchema);
|
156
|
+
// No additional validation needed for single token
|
157
|
+
if (errors.length > 0) {
|
158
|
+
const errorMessages = errors.map(e => e.message).join(', ');
|
159
|
+
return { isValid: false, error: errorMessages };
|
61
160
|
}
|
62
161
|
return { isValid: true };
|
63
162
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"_validators.js","sourceRoot":"","sources":["../../src/cli/_validators.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"_validators.js","sourceRoot":"","sources":["../../src/cli/_validators.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOjD,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoDjD"}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.allCommand = allCommand;
|
4
|
+
const config_1 = require("./config");
|
5
|
+
const sync_client_1 = require("../../sync/sync-client");
|
6
|
+
const spinner_1 = require("../../core/terminal/spinner");
|
7
|
+
const colors_1 = require("../../core/terminal/colors");
|
8
|
+
const utils_1 = require("../utils");
|
9
|
+
function allCommand(program) {
|
10
|
+
program
|
11
|
+
.option('-d, --dir <dir>', 'Directory to save notes', './notes')
|
12
|
+
.option('-l, --limit <number>', 'Limit number of notes')
|
13
|
+
.option('--list', 'List only without downloading')
|
14
|
+
.option('--group <groupId>', 'Filter by group ID')
|
15
|
+
.action(async ({ options }) => {
|
16
|
+
const spinner = new spinner_1.Spinner('Fetching all notes from Kibela...');
|
17
|
+
try {
|
18
|
+
spinner.start();
|
19
|
+
if (options.list) {
|
20
|
+
// List mode
|
21
|
+
const client = (0, utils_1.getClient)();
|
22
|
+
const limit = options.limit ? parseInt(options.limit, 10) : 20;
|
23
|
+
let notes;
|
24
|
+
if (options.group) {
|
25
|
+
const result = await client.notes.listByGroup(options.group, { first: limit });
|
26
|
+
notes = result.notes.nodes;
|
27
|
+
}
|
28
|
+
else {
|
29
|
+
const result = await client.notes.list({ first: limit });
|
30
|
+
notes = result.nodes;
|
31
|
+
}
|
32
|
+
spinner.stop();
|
33
|
+
console.log(`\nFound ${notes.length} notes:\n`);
|
34
|
+
notes.forEach((note) => {
|
35
|
+
const updatedAt = new Date(note.contentUpdatedAt).toLocaleDateString();
|
36
|
+
console.log(`${colors_1.colors.cyan(note.id)} - ${colors_1.colors.bold(note.title)}`);
|
37
|
+
console.log(` Author: ${note.author?.account || 'Unknown'}, Updated: ${updatedAt}`);
|
38
|
+
console.log(` URL: ${colors_1.colors.blue(note.url)}\n`);
|
39
|
+
});
|
40
|
+
}
|
41
|
+
else {
|
42
|
+
// Download mode
|
43
|
+
const config = await (0, config_1.getConfig)();
|
44
|
+
const client = new sync_client_1.SyncClient({
|
45
|
+
team: config.team,
|
46
|
+
token: config.token,
|
47
|
+
dir: options.dir,
|
48
|
+
});
|
49
|
+
await client.pull();
|
50
|
+
spinner.succeed(`All notes downloaded to ${options.dir}`);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
catch (error) {
|
54
|
+
spinner.fail(`Failed: ${error instanceof Error ? error.message : error}`);
|
55
|
+
process.exit(1);
|
56
|
+
}
|
57
|
+
});
|
58
|
+
}
|
59
|
+
//# sourceMappingURL=all.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../../src/cli/commands/all.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,7 @@
|
|
1
|
-
import { Command } from '
|
2
|
-
export declare
|
1
|
+
import { Command } from '../../core/cli/command';
|
2
|
+
export declare function configCommand(program: Command): void;
|
3
|
+
export declare function getConfig(): Promise<{
|
4
|
+
team: string;
|
5
|
+
token: string;
|
6
|
+
}>;
|
3
7
|
//# sourceMappingURL=config.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOjD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2EpD;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAY1E"}
|
@@ -1,81 +1,86 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.configCommand =
|
7
|
-
|
8
|
-
const
|
3
|
+
exports.configCommand = configCommand;
|
4
|
+
exports.getConfig = getConfig;
|
5
|
+
const prompt_1 = require("../../core/terminal/prompt");
|
9
6
|
const config_1 = require("../config");
|
10
7
|
const utils_1 = require("../utils");
|
11
8
|
const _error_handler_1 = require("../_error-handler");
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
(
|
23
|
-
|
24
|
-
|
9
|
+
const _validators_1 = require("../_validators");
|
10
|
+
function configCommand(program) {
|
11
|
+
program
|
12
|
+
.option('-t, --team <team>', 'Set team name')
|
13
|
+
.option('-k, --token <token>', 'Set API token')
|
14
|
+
.option('--show', 'Show current configuration')
|
15
|
+
.option('--clear', 'Clear all configuration')
|
16
|
+
.action((0, _error_handler_1.wrapAsyncCommand)(async ({ options }) => {
|
17
|
+
if (options.show) {
|
18
|
+
const config = config_1.ConfigManager.load();
|
19
|
+
if (config.team || config.token) {
|
20
|
+
(0, utils_1.info)('Current configuration:');
|
21
|
+
console.log(` Team: ${config.team || '(not set)'}`);
|
22
|
+
console.log(` Token: ${config.token ? (0, utils_1.displayToken)(config.token) : '(not set)'}`);
|
23
|
+
}
|
24
|
+
else {
|
25
|
+
(0, utils_1.info)('No configuration found.');
|
26
|
+
}
|
27
|
+
return;
|
25
28
|
}
|
26
|
-
|
27
|
-
(0,
|
29
|
+
if (options.clear) {
|
30
|
+
const confirm = await (0, prompt_1.prompt)({
|
31
|
+
type: 'confirm',
|
32
|
+
message: 'Are you sure you want to clear all configuration?',
|
33
|
+
default: false
|
34
|
+
});
|
35
|
+
if (confirm) {
|
36
|
+
config_1.ConfigManager.clear();
|
37
|
+
(0, utils_1.success)('Configuration cleared.');
|
38
|
+
}
|
39
|
+
return;
|
28
40
|
}
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
const response = await (0, prompts_1.default)({
|
33
|
-
type: 'confirm',
|
34
|
-
name: 'confirm',
|
35
|
-
message: 'Are you sure you want to clear all configuration?',
|
36
|
-
initial: false
|
37
|
-
});
|
38
|
-
if (response.confirm) {
|
39
|
-
config_1.ConfigManager.clear();
|
40
|
-
(0, utils_1.success)('Configuration cleared.');
|
41
|
+
if (options.team) {
|
42
|
+
config_1.ConfigManager.set('team', options.team);
|
43
|
+
(0, utils_1.success)(`Team set to: ${options.team}`);
|
41
44
|
}
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
(
|
47
|
-
|
48
|
-
|
49
|
-
config_1.ConfigManager.set('token', options.token);
|
50
|
-
(0, utils_1.success)('API token saved.');
|
51
|
-
}
|
52
|
-
if (!options.team && !options.token) {
|
53
|
-
const currentConfig = config_1.ConfigManager.load();
|
54
|
-
const questions = [
|
55
|
-
{
|
45
|
+
if (options.token) {
|
46
|
+
config_1.ConfigManager.set('token', options.token);
|
47
|
+
(0, utils_1.success)('API token saved.');
|
48
|
+
}
|
49
|
+
if (!options.team && !options.token) {
|
50
|
+
const currentConfig = config_1.ConfigManager.load();
|
51
|
+
const team = await (0, prompt_1.prompt)({
|
56
52
|
type: 'text',
|
57
|
-
name: 'team',
|
58
53
|
message: 'Enter your Kibela team name:',
|
59
|
-
|
54
|
+
default: currentConfig.team || '',
|
60
55
|
validate: (value) => value.length > 0 || 'Team name is required'
|
61
|
-
}
|
62
|
-
{
|
56
|
+
});
|
57
|
+
if (!team) {
|
58
|
+
(0, utils_1.error)('Configuration cancelled.');
|
59
|
+
return;
|
60
|
+
}
|
61
|
+
const token = await (0, prompt_1.prompt)({
|
63
62
|
type: 'password',
|
64
|
-
name: 'token',
|
65
63
|
message: 'Enter your Kibela API token:',
|
66
64
|
validate: (value) => value.length > 0 || 'API token is required'
|
65
|
+
});
|
66
|
+
if (!token) {
|
67
|
+
(0, utils_1.error)('Configuration cancelled.');
|
68
|
+
return;
|
67
69
|
}
|
68
|
-
|
69
|
-
|
70
|
-
if (response.team && response.token) {
|
71
|
-
config_1.ConfigManager.set('team', response.team);
|
72
|
-
config_1.ConfigManager.set('token', response.token);
|
70
|
+
config_1.ConfigManager.set('team', team);
|
71
|
+
config_1.ConfigManager.set('token', token);
|
73
72
|
(0, utils_1.success)('Configuration saved successfully!');
|
74
|
-
(0, utils_1.info)(`You can now use the Kibela CLI with team: ${
|
75
|
-
}
|
76
|
-
else {
|
77
|
-
(0, utils_1.error)('Configuration cancelled.');
|
73
|
+
(0, utils_1.info)(`You can now use the Kibela CLI with team: ${team}`);
|
78
74
|
}
|
75
|
+
}));
|
76
|
+
}
|
77
|
+
async function getConfig() {
|
78
|
+
const team = config_1.ConfigManager.get('team');
|
79
|
+
const token = config_1.ConfigManager.get('token');
|
80
|
+
const validation = (0, _validators_1.validateConfig)(team, token);
|
81
|
+
if (!validation.isValid) {
|
82
|
+
throw new Error(`Configuration error: ${validation.error}\nRun "kibela config" to set up your credentials.`);
|
79
83
|
}
|
80
|
-
}
|
84
|
+
return { team: team, token: token };
|
85
|
+
}
|
81
86
|
//# sourceMappingURL=config.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAQjD,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiHjD"}
|