Skip to content

Commit 5d89edb

Browse files
Merge pull request #3 from mongodb-js/MCP-152
feat: Add NAPI wrapper for deleteDeployment
2 parents f68a95a + 9ddf617 commit 5d89edb

File tree

4 files changed

+25
-5
lines changed

4 files changed

+25
-5
lines changed

__test__/index.spec.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import test from 'ava'
22

33
import { Client } from '../index'
44

5-
test('smoke test: list deployments', async (t) => {
5+
test('smoke test', async (t) => {
66
let client: Client | null = null
77

88
try {
@@ -20,8 +20,16 @@ test('smoke test: list deployments', async (t) => {
2020
return
2121
}
2222

23+
// TODO: Implement once createDeployment is added
24+
// let deploymentName = "test_deployment"
25+
// await client.createDeployment(...)
26+
2327
// List deployments
2428
// We don't care about the number, we're just testing that the method doesn't fail
2529
await client.listDeployments()
30+
31+
// TODO: Uncommment when createDeployment is added
32+
// await client.deleteDeployment(deploymentName)
33+
2634
t.pass()
2735
})

index.d.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
export declare class Client {
44
static connect(): Client
55
listDeployments(): Promise<Array<Deployment>>
6+
deleteDeployment(deploymentName: string): Promise<void>
67
}
78

89
export declare const enum BindingType {
910
Loopback = 'Loopback',
1011
AnyInterface = 'AnyInterface',
11-
Specific = 'Specific',
12+
Specific = 'Specific'
1213
}
1314

1415
export interface CreationSource {
@@ -19,7 +20,8 @@ export interface CreationSource {
1920
export declare const enum CreationSourceType {
2021
AtlasCLI = 'AtlasCLI',
2122
Container = 'Container',
22-
Other = 'Other',
23+
MCP = 'MCP',
24+
Other = 'Other'
2325
}
2426

2527
export interface Deployment {
@@ -50,7 +52,7 @@ export interface MongoDbPortBinding {
5052

5153
export declare const enum MongodbType {
5254
Community = 'Community',
53-
Enterprise = 'Enterprise',
55+
Enterprise = 'Enterprise'
5456
}
5557

5658
export declare const enum State {
@@ -60,5 +62,5 @@ export declare const enum State {
6062
Paused = 'Paused',
6163
Removing = 'Removing',
6264
Restarting = 'Restarting',
63-
Running = 'Running',
65+
Running = 'Running'
6466
}

src/lib.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,13 @@ impl Client {
3636
.context("list deployments")
3737
.map(|deployments| deployments.into_iter().map(|d| d.into()).collect())
3838
}
39+
40+
#[napi]
41+
pub async fn delete_deployment(&self, deployment_name: String) -> Result<()> {
42+
self
43+
.client
44+
.delete_deployment(&deployment_name)
45+
.await
46+
.context("delete deployments")
47+
}
3948
}

src/models/list_deployments.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ pub struct CreationSource {
7777
pub enum CreationSourceType {
7878
AtlasCLI,
7979
Container,
80+
MCP,
8081
Other,
8182
}
8283

0 commit comments

Comments
 (0)