@meowpanel/api 0.8.0 → 0.9.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.
@@ -11,6 +11,7 @@ export interface SystemData {
11
11
  permissions?: string[];
12
12
  created_at: ISODate;
13
13
  updated_at: ISODate;
14
+ disabled_at?: ISODate | null;
14
15
  }
15
16
  /**
16
17
  * A non-user identity (bootstrap or automation) that owns API keys.
@@ -32,6 +33,8 @@ export declare class System extends ReactiveResource {
32
33
  createdAt: Date;
33
34
  /** When this system was last updated. */
34
35
  updatedAt: Date;
36
+ /** When this system was disabled, or null if active. */
37
+ disabledAt: Date | null;
35
38
  /** @internal */
36
39
  constructor(data: SystemData);
37
40
  /** Apply raw API data to this system instance, updating all mutable fields. */
@@ -116,6 +119,10 @@ export declare class SystemsNamespace extends ResourceNamespace<System, SystemEv
116
119
  create(payload: CreateSystemPayload): Promise<System>;
117
120
  /** Update a system's name or description. */
118
121
  update(id: NanoID, payload: UpdateSystemPayload): Promise<System>;
122
+ /** Disable a system, blocking its API keys from authenticating. Keys are kept, so enabling restores them. */
123
+ disable(id: NanoID): Promise<System>;
124
+ /** Re-enable a disabled system. */
125
+ enable(id: NanoID): Promise<System>;
119
126
  /** Delete a system. Fails if it still owns active API keys. */
120
127
  delete(id: NanoID): Promise<void>;
121
128
  /** Manage the API keys owned by a system. */
@@ -1 +1 @@
1
- {"version":3,"file":"systems.d.ts","sourceRoot":"","sources":["../../../src/src/resources/systems.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"systems.d.ts","sourceRoot":"","sources":["../../../src/src/resources/systems.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export class System extends ReactiveResource {
22
22
  createdAt;
23
23
  /** When this system was last updated. */
24
24
  updatedAt;
25
+ /** When this system was disabled, or null if active. */
26
+ disabledAt;
25
27
  /** @internal */
26
28
  constructor(data) {
27
29
  super();
@@ -35,6 +37,7 @@ export class System extends ReactiveResource {
35
37
  this.permissions = data.permissions;
36
38
  this.createdAt = new Date(data.created_at);
37
39
  this.updatedAt = new Date(data.updated_at);
40
+ this.disabledAt = data.disabled_at ? new Date(data.disabled_at) : null;
38
41
  this.notify();
39
42
  }
40
43
  }
@@ -126,6 +129,22 @@ export class SystemsNamespace extends ResourceNamespace {
126
129
  this.emit('updated', system);
127
130
  return system;
128
131
  }
132
+ /** Disable a system, blocking its API keys from authenticating. Keys are kept, so enabling restores them. */
133
+ async disable(id) {
134
+ const data = await this.http.post(`/systems/${id}/disable`);
135
+ const system = new System(data);
136
+ this.upsertCache(system);
137
+ this.emit('updated', system);
138
+ return system;
139
+ }
140
+ /** Re-enable a disabled system. */
141
+ async enable(id) {
142
+ const data = await this.http.post(`/systems/${id}/enable`);
143
+ const system = new System(data);
144
+ this.upsertCache(system);
145
+ this.emit('updated', system);
146
+ return system;
147
+ }
129
148
  /** Delete a system. Fails if it still owns active API keys. */
130
149
  async delete(id) {
131
150
  await this.http.delete(`/systems/${id}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meowpanel/api",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "MeowPanel API client library",
5
5
  "license": "MIT",
6
6
  "main": "./script/mod.js",
@@ -11,6 +11,7 @@ export interface SystemData {
11
11
  permissions?: string[];
12
12
  created_at: ISODate;
13
13
  updated_at: ISODate;
14
+ disabled_at?: ISODate | null;
14
15
  }
15
16
  /**
16
17
  * A non-user identity (bootstrap or automation) that owns API keys.
@@ -32,6 +33,8 @@ export declare class System extends ReactiveResource {
32
33
  createdAt: Date;
33
34
  /** When this system was last updated. */
34
35
  updatedAt: Date;
36
+ /** When this system was disabled, or null if active. */
37
+ disabledAt: Date | null;
35
38
  /** @internal */
36
39
  constructor(data: SystemData);
37
40
  /** Apply raw API data to this system instance, updating all mutable fields. */
@@ -116,6 +119,10 @@ export declare class SystemsNamespace extends ResourceNamespace<System, SystemEv
116
119
  create(payload: CreateSystemPayload): Promise<System>;
117
120
  /** Update a system's name or description. */
118
121
  update(id: NanoID, payload: UpdateSystemPayload): Promise<System>;
122
+ /** Disable a system, blocking its API keys from authenticating. Keys are kept, so enabling restores them. */
123
+ disable(id: NanoID): Promise<System>;
124
+ /** Re-enable a disabled system. */
125
+ enable(id: NanoID): Promise<System>;
119
126
  /** Delete a system. Fails if it still owns active API keys. */
120
127
  delete(id: NanoID): Promise<void>;
121
128
  /** Manage the API keys owned by a system. */
@@ -1 +1 @@
1
- {"version":3,"file":"systems.d.ts","sourceRoot":"","sources":["../../../src/src/resources/systems.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"systems.d.ts","sourceRoot":"","sources":["../../../src/src/resources/systems.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ class System extends reactive_js_1.ReactiveResource {
25
25
  createdAt;
26
26
  /** When this system was last updated. */
27
27
  updatedAt;
28
+ /** When this system was disabled, or null if active. */
29
+ disabledAt;
28
30
  /** @internal */
29
31
  constructor(data) {
30
32
  super();
@@ -38,6 +40,7 @@ class System extends reactive_js_1.ReactiveResource {
38
40
  this.permissions = data.permissions;
39
41
  this.createdAt = new Date(data.created_at);
40
42
  this.updatedAt = new Date(data.updated_at);
43
+ this.disabledAt = data.disabled_at ? new Date(data.disabled_at) : null;
41
44
  this.notify();
42
45
  }
43
46
  }
@@ -131,6 +134,22 @@ class SystemsNamespace extends namespace_js_1.ResourceNamespace {
131
134
  this.emit('updated', system);
132
135
  return system;
133
136
  }
137
+ /** Disable a system, blocking its API keys from authenticating. Keys are kept, so enabling restores them. */
138
+ async disable(id) {
139
+ const data = await this.http.post(`/systems/${id}/disable`);
140
+ const system = new System(data);
141
+ this.upsertCache(system);
142
+ this.emit('updated', system);
143
+ return system;
144
+ }
145
+ /** Re-enable a disabled system. */
146
+ async enable(id) {
147
+ const data = await this.http.post(`/systems/${id}/enable`);
148
+ const system = new System(data);
149
+ this.upsertCache(system);
150
+ this.emit('updated', system);
151
+ return system;
152
+ }
134
153
  /** Delete a system. Fails if it still owns active API keys. */
135
154
  async delete(id) {
136
155
  await this.http.delete(`/systems/${id}`);