Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@

## [Unreleased]

### 2026-03-17
- **Fix**: API キーコマンド (`me api-keys`, `admin api-keys`) のヘルプで表示されるスコープ一覧を、API キーで実際に使用可能な6スコープに修正 (#74)

## [0.6.3] - 2026-03-17

### 2026-03-17
Expand Down
6 changes: 3 additions & 3 deletions src/commands/admin/api-keys.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { loadConfig, saveConfig } from "../../config.js";
import { parseJsonInput } from "../../input.js";
import { printError, printWarning } from "../../output.js";
import { addExamples, addNotes } from "../help.js";
import { SCOPES_HELP_NOTES } from "../../helpers.js";
import { API_KEY_SCOPES_HELP_NOTES } from "../../helpers.js";

function validateOrigins(body: unknown, opts: Record<string, unknown>): void {
// Validate origins if provided via flags
Expand Down Expand Up @@ -174,7 +174,7 @@ export function registerApiKeysCommand(parent: Command): void {
}),
);

addNotes(create, SCOPES_HELP_NOTES);
addNotes(create, API_KEY_SCOPES_HELP_NOTES);

addExamples(create, [
{
Expand Down Expand Up @@ -240,7 +240,7 @@ export function registerApiKeysCommand(parent: Command): void {
),
);

addNotes(update, SCOPES_HELP_NOTES);
addNotes(update, API_KEY_SCOPES_HELP_NOTES);

addExamples(update, [
{
Expand Down
4 changes: 2 additions & 2 deletions src/commands/me-api-keys.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { loadConfig, saveConfig } from "../config.js";
import { parseJsonInput } from "../input.js";
import { printError, printWarning } from "../output.js";
import { addExamples, addNotes } from "./help.js";
import { SCOPES_HELP_NOTES } from "../helpers.js";
import { API_KEY_SCOPES_HELP_NOTES } from "../helpers.js";

export function addMeApiKeysSubcommand(me: Command): void {
const apiKeys = me
Expand Down Expand Up @@ -128,7 +128,7 @@ export function addMeApiKeysSubcommand(me: Command): void {
}),
);

addNotes(create, SCOPES_HELP_NOTES);
addNotes(create, API_KEY_SCOPES_HELP_NOTES);

addExamples(create, [
{
Expand Down
11 changes: 10 additions & 1 deletion src/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { printError, printOutput, printCount } from "./output.js";
import type { ClientResponse, GlobalOptions, OutputFormat } from "./types.js";

/**
* Valid scope values for --scopes option help text.
* Valid scope values for --scopes option help text (OAuth clients).
*/
export const SCOPES_HELP_NOTES = [
"Valid scopes:",
Expand All @@ -18,6 +18,15 @@ export const SCOPES_HELP_NOTES = [
"write:X implies read:X. admin:X implies both read:X and write:X.",
];

/**
* Valid scope values for --scopes option help text (API keys).
*/
export const API_KEY_SCOPES_HELP_NOTES = [
"Valid scopes:",
" read:entities, write:entities, read:subscriptions, write:subscriptions,",
" read:registrations, write:registrations",
];

/**
* Resolve merged options from config + CLI flags.
*/
Expand Down
1 change: 1 addition & 0 deletions tests/admin-api-keys.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn().mockReturnValue({ profile: "default" }),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/admin-oauth-clients.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn(),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/admin-policies.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn(),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/admin-tenants.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn(),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/admin-users.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn(),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/auth.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn(),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/entities.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
}));

vi.mock("../src/input.js", () => ({
Expand Down
1 change: 1 addition & 0 deletions tests/health.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn(),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/me-api-keys.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn().mockReturnValue({ profile: "default" }),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/me-oauth-clients.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn(),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/setup-command-mocks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
}));

vi.mock("../src/input.js", () => ({
Expand Down
1 change: 1 addition & 0 deletions tests/snapshots.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
}));

vi.mock("../src/output.js", () => ({
Expand Down
1 change: 1 addition & 0 deletions tests/temporal.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
resolveOptions: vi.fn(),
}));

Expand Down
1 change: 1 addition & 0 deletions tests/types.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ vi.mock("../src/helpers.js", () => ({
outputResponse: vi.fn(),
withErrorHandler: (fn: (...args: unknown[]) => unknown) => fn,
SCOPES_HELP_NOTES: [],
API_KEY_SCOPES_HELP_NOTES: [],
}));

vi.mock("../src/output.js", () => ({
Expand Down
Loading