@meowpanel/api 0.3.0 → 0.5.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/esm/mod.d.ts +37 -16
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +25 -7
- package/esm/src/client.d.ts +48 -11
- package/esm/src/client.d.ts.map +1 -1
- package/esm/src/client.js +53 -12
- package/esm/src/http.d.ts +2 -2
- package/esm/src/http.d.ts.map +1 -1
- package/esm/src/http.js +5 -2
- package/esm/src/namespace.d.ts +1 -1
- package/esm/src/namespace.js +1 -1
- package/esm/src/resources/account.d.ts +50 -19
- package/esm/src/resources/account.d.ts.map +1 -1
- package/esm/src/resources/account.js +51 -13
- package/esm/src/resources/api-keys.d.ts +16 -24
- package/esm/src/resources/api-keys.d.ts.map +1 -1
- package/esm/src/resources/api-keys.js +16 -20
- package/esm/src/resources/auth.d.ts +70 -4
- package/esm/src/resources/auth.d.ts.map +1 -1
- package/esm/src/resources/auth.js +47 -4
- package/esm/src/resources/eggs.d.ts +261 -22
- package/esm/src/resources/eggs.d.ts.map +1 -1
- package/esm/src/resources/eggs.js +261 -25
- package/esm/src/resources/features.d.ts +35 -0
- package/esm/src/resources/features.d.ts.map +1 -0
- package/esm/src/resources/features.js +21 -0
- package/esm/src/resources/hosts.d.ts +151 -21
- package/esm/src/resources/hosts.d.ts.map +1 -1
- package/esm/src/resources/hosts.js +143 -10
- package/esm/src/resources/logs.d.ts +39 -0
- package/esm/src/resources/logs.d.ts.map +1 -0
- package/esm/src/resources/logs.js +38 -0
- package/esm/src/resources/nodes.d.ts +108 -33
- package/esm/src/resources/nodes.d.ts.map +1 -1
- package/esm/src/resources/nodes.js +116 -24
- package/esm/src/resources/permissions.d.ts +45 -0
- package/esm/src/resources/permissions.d.ts.map +1 -0
- package/esm/src/resources/permissions.js +26 -0
- package/esm/src/resources/request-logs.d.ts +91 -0
- package/esm/src/resources/request-logs.d.ts.map +1 -0
- package/esm/src/resources/request-logs.js +70 -0
- package/esm/src/resources/roles.d.ts +128 -0
- package/esm/src/resources/roles.d.ts.map +1 -0
- package/esm/src/resources/roles.js +142 -0
- package/esm/src/resources/server-groups.d.ts +141 -7
- package/esm/src/resources/server-groups.d.ts.map +1 -1
- package/esm/src/resources/server-groups.js +157 -8
- package/esm/src/resources/servers/activity.d.ts +50 -8
- package/esm/src/resources/servers/activity.d.ts.map +1 -1
- package/esm/src/resources/servers/activity.js +54 -13
- package/esm/src/resources/servers/allocations.d.ts +3 -3
- package/esm/src/resources/servers/allocations.d.ts.map +1 -1
- package/esm/src/resources/servers/allocations.js +7 -7
- package/esm/src/resources/servers/backups.d.ts +46 -0
- package/esm/src/resources/servers/backups.d.ts.map +1 -0
- package/esm/src/resources/servers/backups.js +43 -0
- package/esm/src/resources/servers/connection.d.ts +33 -13
- package/esm/src/resources/servers/connection.d.ts.map +1 -1
- package/esm/src/resources/servers/connection.js +32 -11
- package/esm/src/resources/servers/features.d.ts +81 -0
- package/esm/src/resources/servers/features.d.ts.map +1 -0
- package/esm/src/resources/servers/features.js +60 -0
- package/esm/src/resources/servers/files.d.ts +41 -53
- package/esm/src/resources/servers/files.d.ts.map +1 -1
- package/esm/src/resources/servers/files.js +74 -116
- package/esm/src/resources/servers/index.d.ts +46 -27
- package/esm/src/resources/servers/index.d.ts.map +1 -1
- package/esm/src/resources/servers/index.js +26 -12
- package/esm/src/resources/servers/jobs.d.ts +88 -0
- package/esm/src/resources/servers/jobs.d.ts.map +1 -0
- package/esm/src/resources/servers/jobs.js +115 -0
- package/esm/src/resources/servers/node-client.d.ts +33 -0
- package/esm/src/resources/servers/node-client.d.ts.map +1 -0
- package/esm/src/resources/servers/node-client.js +61 -0
- package/esm/src/resources/servers/profiles.d.ts +83 -18
- package/esm/src/resources/servers/profiles.d.ts.map +1 -1
- package/esm/src/resources/servers/profiles.js +78 -11
- package/esm/src/resources/servers/server.d.ts +13 -28
- package/esm/src/resources/servers/server.d.ts.map +1 -1
- package/esm/src/resources/servers/server.js +21 -37
- package/esm/src/resources/servers/sftp.d.ts +12 -19
- package/esm/src/resources/servers/sftp.d.ts.map +1 -1
- package/esm/src/resources/servers/sftp.js +10 -14
- package/esm/src/resources/servers/sub-users.d.ts +99 -0
- package/esm/src/resources/servers/sub-users.d.ts.map +1 -0
- package/esm/src/resources/servers/sub-users.js +94 -0
- package/esm/src/resources/servers/types.d.ts +30 -28
- package/esm/src/resources/servers/types.d.ts.map +1 -1
- package/esm/src/resources/systems.d.ts +124 -0
- package/esm/src/resources/systems.d.ts.map +1 -0
- package/esm/src/resources/systems.js +139 -0
- package/esm/src/resources/users.d.ts +330 -0
- package/esm/src/resources/users.d.ts.map +1 -0
- package/esm/src/resources/users.js +280 -0
- package/esm/src/types.d.ts +18 -1
- package/esm/src/types.d.ts.map +1 -1
- package/esm/src/types.js +11 -0
- package/package.json +1 -1
- package/script/mod.d.ts +37 -16
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +50 -5
- package/script/src/client.d.ts +48 -11
- package/script/src/client.d.ts.map +1 -1
- package/script/src/client.js +53 -12
- package/script/src/http.d.ts +2 -2
- package/script/src/http.d.ts.map +1 -1
- package/script/src/http.js +5 -2
- package/script/src/namespace.d.ts +1 -1
- package/script/src/namespace.js +1 -1
- package/script/src/resources/account.d.ts +50 -19
- package/script/src/resources/account.d.ts.map +1 -1
- package/script/src/resources/account.js +50 -12
- package/script/src/resources/api-keys.d.ts +16 -24
- package/script/src/resources/api-keys.d.ts.map +1 -1
- package/script/src/resources/api-keys.js +15 -19
- package/script/src/resources/auth.d.ts +70 -4
- package/script/src/resources/auth.d.ts.map +1 -1
- package/script/src/resources/auth.js +47 -4
- package/script/src/resources/eggs.d.ts +261 -22
- package/script/src/resources/eggs.d.ts.map +1 -1
- package/script/src/resources/eggs.js +267 -26
- package/script/src/resources/features.d.ts +35 -0
- package/script/src/resources/features.d.ts.map +1 -0
- package/script/src/resources/features.js +25 -0
- package/script/src/resources/hosts.d.ts +151 -21
- package/script/src/resources/hosts.d.ts.map +1 -1
- package/script/src/resources/hosts.js +144 -10
- package/script/src/resources/logs.d.ts +39 -0
- package/script/src/resources/logs.d.ts.map +1 -0
- package/script/src/resources/logs.js +42 -0
- package/script/src/resources/nodes.d.ts +108 -33
- package/script/src/resources/nodes.d.ts.map +1 -1
- package/script/src/resources/nodes.js +117 -24
- package/script/src/resources/permissions.d.ts +45 -0
- package/script/src/resources/permissions.d.ts.map +1 -0
- package/script/src/resources/permissions.js +31 -0
- package/script/src/resources/request-logs.d.ts +91 -0
- package/script/src/resources/request-logs.d.ts.map +1 -0
- package/script/src/resources/request-logs.js +75 -0
- package/script/src/resources/roles.d.ts +128 -0
- package/script/src/resources/roles.d.ts.map +1 -0
- package/script/src/resources/roles.js +148 -0
- package/script/src/resources/server-groups.d.ts +141 -7
- package/script/src/resources/server-groups.d.ts.map +1 -1
- package/script/src/resources/server-groups.js +158 -8
- package/script/src/resources/servers/activity.d.ts +50 -8
- package/script/src/resources/servers/activity.d.ts.map +1 -1
- package/script/src/resources/servers/activity.js +54 -12
- package/script/src/resources/servers/allocations.d.ts +3 -3
- package/script/src/resources/servers/allocations.d.ts.map +1 -1
- package/script/src/resources/servers/allocations.js +7 -7
- package/script/src/resources/servers/backups.d.ts +46 -0
- package/script/src/resources/servers/backups.d.ts.map +1 -0
- package/script/src/resources/servers/backups.js +47 -0
- package/script/src/resources/servers/connection.d.ts +33 -13
- package/script/src/resources/servers/connection.d.ts.map +1 -1
- package/script/src/resources/servers/connection.js +32 -11
- package/script/src/resources/servers/features.d.ts +81 -0
- package/script/src/resources/servers/features.d.ts.map +1 -0
- package/script/src/resources/servers/features.js +64 -0
- package/script/src/resources/servers/files.d.ts +41 -53
- package/script/src/resources/servers/files.d.ts.map +1 -1
- package/script/src/resources/servers/files.js +74 -116
- package/script/src/resources/servers/index.d.ts +46 -27
- package/script/src/resources/servers/index.d.ts.map +1 -1
- package/script/src/resources/servers/index.js +26 -12
- package/script/src/resources/servers/jobs.d.ts +88 -0
- package/script/src/resources/servers/jobs.d.ts.map +1 -0
- package/script/src/resources/servers/jobs.js +120 -0
- package/script/src/resources/servers/node-client.d.ts +33 -0
- package/script/src/resources/servers/node-client.d.ts.map +1 -0
- package/script/src/resources/servers/node-client.js +65 -0
- package/script/src/resources/servers/profiles.d.ts +83 -18
- package/script/src/resources/servers/profiles.d.ts.map +1 -1
- package/script/src/resources/servers/profiles.js +77 -10
- package/script/src/resources/servers/server.d.ts +13 -28
- package/script/src/resources/servers/server.d.ts.map +1 -1
- package/script/src/resources/servers/server.js +21 -37
- package/script/src/resources/servers/sftp.d.ts +12 -19
- package/script/src/resources/servers/sftp.d.ts.map +1 -1
- package/script/src/resources/servers/sftp.js +10 -14
- package/script/src/resources/servers/sub-users.d.ts +99 -0
- package/script/src/resources/servers/sub-users.d.ts.map +1 -0
- package/script/src/resources/servers/sub-users.js +99 -0
- package/script/src/resources/servers/types.d.ts +30 -28
- package/script/src/resources/servers/types.d.ts.map +1 -1
- package/script/src/resources/systems.d.ts +124 -0
- package/script/src/resources/systems.d.ts.map +1 -0
- package/script/src/resources/systems.js +145 -0
- package/script/src/resources/users.d.ts +330 -0
- package/script/src/resources/users.d.ts.map +1 -0
- package/script/src/resources/users.js +287 -0
- package/script/src/types.d.ts +18 -1
- package/script/src/types.d.ts.map +1 -1
- package/script/src/types.js +12 -0
- package/esm/src/resources/members.d.ts +0 -138
- package/esm/src/resources/members.d.ts.map +0 -1
- package/esm/src/resources/members.js +0 -122
- package/script/src/resources/members.d.ts +0 -138
- package/script/src/resources/members.d.ts.map +0 -1
- package/script/src/resources/members.js +0 -127
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import type { HttpClient } from '../http.js';
|
|
2
|
-
import { ResourceNamespace } from '../namespace.js';
|
|
3
|
-
import { ReactiveResource } from '../reactive.js';
|
|
4
|
-
import type { IncludeOptions, ResourceWith } from '../types.js';
|
|
5
|
-
import { type ISODate, type NanoID, type Paginated } from '../types.js';
|
|
6
|
-
/** Raw API response shape for a member (user). @internal */
|
|
7
|
-
export interface MemberData {
|
|
8
|
-
id: string;
|
|
9
|
-
issuer_type: 'user';
|
|
10
|
-
email: string;
|
|
11
|
-
nickname: string | null;
|
|
12
|
-
avatar_uri: string | null;
|
|
13
|
-
display?: {
|
|
14
|
-
language: string | null;
|
|
15
|
-
theme: string | null;
|
|
16
|
-
} | null;
|
|
17
|
-
permissions?: string[];
|
|
18
|
-
created_at: ISODate;
|
|
19
|
-
updated_at: ISODate;
|
|
20
|
-
}
|
|
21
|
-
/** Display preferences for a member. */
|
|
22
|
-
export interface MemberDisplay {
|
|
23
|
-
/** The member's preferred UI language code. */
|
|
24
|
-
language: string | null;
|
|
25
|
-
/** The member's preferred UI theme identifier. */
|
|
26
|
-
theme: string | null;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* A MeowPanel user account (member).
|
|
30
|
-
*
|
|
31
|
-
* Retrieved via {@link MembersNamespace.get} or {@link MembersNamespace.list}.
|
|
32
|
-
*/
|
|
33
|
-
export declare class Member extends ReactiveResource {
|
|
34
|
-
/** The member's unique NanoID. */
|
|
35
|
-
readonly id: NanoID;
|
|
36
|
-
/** Always `'user'` for member accounts. */
|
|
37
|
-
issuerType: 'user';
|
|
38
|
-
/** The member's login email address. */
|
|
39
|
-
email: string;
|
|
40
|
-
/** The member's display nickname. */
|
|
41
|
-
nickname: string | null;
|
|
42
|
-
/** URL of the member's avatar image, or `null` if no avatar is set. */
|
|
43
|
-
avatarUri: string | null;
|
|
44
|
-
/** Display preferences (language and theme). */
|
|
45
|
-
display: MemberDisplay | null | undefined;
|
|
46
|
-
/** The member's assigned permission scopes. */
|
|
47
|
-
permissions: string[] | undefined;
|
|
48
|
-
/** When this member account was created. */
|
|
49
|
-
createdAt: Date;
|
|
50
|
-
/** When this member account was last updated. */
|
|
51
|
-
updatedAt: Date;
|
|
52
|
-
/** @internal */
|
|
53
|
-
constructor(data: MemberData);
|
|
54
|
-
/**
|
|
55
|
-
* Apply raw API data to this member instance, updating all mutable fields.
|
|
56
|
-
*
|
|
57
|
-
* Called by the constructor and by {@link MembersNamespace.update} to update the instance in-place.
|
|
58
|
-
*/
|
|
59
|
-
applyData(data: MemberData): void;
|
|
60
|
-
}
|
|
61
|
-
/** Fields that can be updated on a member. All fields are optional. */
|
|
62
|
-
export interface UpdateMemberPayload {
|
|
63
|
-
/** New email address for the member. */
|
|
64
|
-
email?: string;
|
|
65
|
-
/** New display nickname. */
|
|
66
|
-
nickname?: string;
|
|
67
|
-
/** Display preference updates. */
|
|
68
|
-
display?: {
|
|
69
|
-
/** UI language code, or `null` to clear. */
|
|
70
|
-
language?: string | null;
|
|
71
|
-
/** UI theme identifier, or `null` to clear. */
|
|
72
|
-
theme?: string | null;
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
/** Valid include keys for member endpoints. */
|
|
76
|
-
export type MemberInclude = 'display' | 'permissions';
|
|
77
|
-
/** Maps each {@link MemberInclude} key to the field(s) it guarantees on the {@link Member} instance. */
|
|
78
|
-
interface MemberIncludeMap {
|
|
79
|
-
display: {
|
|
80
|
-
display: MemberDisplay | null;
|
|
81
|
-
};
|
|
82
|
-
permissions: {
|
|
83
|
-
permissions: string[];
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
/** A {@link Member} with specific include fields guaranteed to be populated. */
|
|
87
|
-
export type MemberWith<I extends readonly MemberInclude[] = []> = ResourceWith<Member, MemberIncludeMap, I>;
|
|
88
|
-
/** Typed events emitted by {@link MembersNamespace}. */
|
|
89
|
-
export interface MemberEvents {
|
|
90
|
-
/** Fired after a member is successfully updated. */
|
|
91
|
-
updated: Member;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Namespace for member (user) management.
|
|
95
|
-
*
|
|
96
|
-
* Access via `api.members`.
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* ```ts ignore
|
|
100
|
-
* // Reactive store
|
|
101
|
-
* // {#each $api.members as member} ... {/each}
|
|
102
|
-
*
|
|
103
|
-
* // Imperative
|
|
104
|
-
* const members = await api.members.list();
|
|
105
|
-
* const member = await api.members.get(id);
|
|
106
|
-
* await api.members.update(id, { nickname: 'newname' });
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
export declare class MembersNamespace extends ResourceNamespace<Member, MemberEvents> {
|
|
110
|
-
/** @internal */
|
|
111
|
-
constructor(http: HttpClient);
|
|
112
|
-
/**
|
|
113
|
-
* Fetch a paginated list of all members.
|
|
114
|
-
*
|
|
115
|
-
* @param opts Pagination, search, and include options.
|
|
116
|
-
*/
|
|
117
|
-
list<const I extends readonly MemberInclude[] = []>(opts?: {
|
|
118
|
-
page?: number;
|
|
119
|
-
perPage?: number;
|
|
120
|
-
search?: string;
|
|
121
|
-
} & IncludeOptions<MemberInclude, I>): Promise<Paginated<MemberWith<I>>>;
|
|
122
|
-
/**
|
|
123
|
-
* Fetch a single member by ID.
|
|
124
|
-
*
|
|
125
|
-
* @param id The member's NanoID.
|
|
126
|
-
* @param opts Include options.
|
|
127
|
-
*/
|
|
128
|
-
get<const I extends readonly MemberInclude[] = []>(id: NanoID, opts?: IncludeOptions<MemberInclude, I>): Promise<MemberWith<I>>;
|
|
129
|
-
/**
|
|
130
|
-
* Update a member's profile fields.
|
|
131
|
-
*
|
|
132
|
-
* @param id The member's NanoID.
|
|
133
|
-
* @param payload The fields to update.
|
|
134
|
-
*/
|
|
135
|
-
update(id: NanoID, payload: UpdateMemberPayload): Promise<Member>;
|
|
136
|
-
}
|
|
137
|
-
export {};
|
|
138
|
-
//# sourceMappingURL=members.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/src/resources/members.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MembersNamespace = exports.Member = void 0;
|
|
4
|
-
const namespace_js_1 = require("../namespace.js");
|
|
5
|
-
const reactive_js_1 = require("../reactive.js");
|
|
6
|
-
const types_js_1 = require("../types.js");
|
|
7
|
-
/**
|
|
8
|
-
* A MeowPanel user account (member).
|
|
9
|
-
*
|
|
10
|
-
* Retrieved via {@link MembersNamespace.get} or {@link MembersNamespace.list}.
|
|
11
|
-
*/
|
|
12
|
-
class Member extends reactive_js_1.ReactiveResource {
|
|
13
|
-
/** The member's unique NanoID. */
|
|
14
|
-
id;
|
|
15
|
-
/** Always `'user'` for member accounts. */
|
|
16
|
-
issuerType;
|
|
17
|
-
/** The member's login email address. */
|
|
18
|
-
email;
|
|
19
|
-
/** The member's display nickname. */
|
|
20
|
-
nickname;
|
|
21
|
-
/** URL of the member's avatar image, or `null` if no avatar is set. */
|
|
22
|
-
avatarUri;
|
|
23
|
-
/** Display preferences (language and theme). */
|
|
24
|
-
display;
|
|
25
|
-
/** The member's assigned permission scopes. */
|
|
26
|
-
permissions;
|
|
27
|
-
/** When this member account was created. */
|
|
28
|
-
createdAt;
|
|
29
|
-
/** When this member account was last updated. */
|
|
30
|
-
updatedAt;
|
|
31
|
-
/** @internal */
|
|
32
|
-
constructor(data) {
|
|
33
|
-
super();
|
|
34
|
-
this.id = (0, types_js_1.toNanoID)(data.id);
|
|
35
|
-
this.issuerType = data.issuer_type;
|
|
36
|
-
this.applyData(data);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Apply raw API data to this member instance, updating all mutable fields.
|
|
40
|
-
*
|
|
41
|
-
* Called by the constructor and by {@link MembersNamespace.update} to update the instance in-place.
|
|
42
|
-
*/
|
|
43
|
-
applyData(data) {
|
|
44
|
-
this.issuerType = data.issuer_type;
|
|
45
|
-
this.email = data.email;
|
|
46
|
-
this.nickname = data.nickname;
|
|
47
|
-
this.avatarUri = data.avatar_uri;
|
|
48
|
-
this.display = data.display ?? undefined;
|
|
49
|
-
this.permissions = data.permissions;
|
|
50
|
-
this.createdAt = new Date(data.created_at);
|
|
51
|
-
this.updatedAt = new Date(data.updated_at);
|
|
52
|
-
this.notify();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.Member = Member;
|
|
56
|
-
/**
|
|
57
|
-
* Namespace for member (user) management.
|
|
58
|
-
*
|
|
59
|
-
* Access via `api.members`.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```ts ignore
|
|
63
|
-
* // Reactive store
|
|
64
|
-
* // {#each $api.members as member} ... {/each}
|
|
65
|
-
*
|
|
66
|
-
* // Imperative
|
|
67
|
-
* const members = await api.members.list();
|
|
68
|
-
* const member = await api.members.get(id);
|
|
69
|
-
* await api.members.update(id, { nickname: 'newname' });
|
|
70
|
-
* ```
|
|
71
|
-
*/
|
|
72
|
-
class MembersNamespace extends namespace_js_1.ResourceNamespace {
|
|
73
|
-
/** @internal */
|
|
74
|
-
constructor(http) {
|
|
75
|
-
super(http);
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Fetch a paginated list of all members.
|
|
79
|
-
*
|
|
80
|
-
* @param opts Pagination, search, and include options.
|
|
81
|
-
*/
|
|
82
|
-
async list(opts = {}) {
|
|
83
|
-
const extra = {};
|
|
84
|
-
const include = (0, types_js_1.joinIncludes)(opts);
|
|
85
|
-
if (include)
|
|
86
|
-
extra['include'] = include;
|
|
87
|
-
const result = await this.http.list('/members', opts, extra);
|
|
88
|
-
const members = result.data.map((d) => new Member(d));
|
|
89
|
-
this.setCache(members);
|
|
90
|
-
return { ...result, data: members };
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Fetch a single member by ID.
|
|
94
|
-
*
|
|
95
|
-
* @param id The member's NanoID.
|
|
96
|
-
* @param opts Include options.
|
|
97
|
-
*/
|
|
98
|
-
async get(id, opts = {}) {
|
|
99
|
-
const params = {};
|
|
100
|
-
const include = (0, types_js_1.joinIncludes)(opts);
|
|
101
|
-
if (include)
|
|
102
|
-
params['include'] = include;
|
|
103
|
-
const data = await this.http.get(`/members/${id}`, { params });
|
|
104
|
-
return new Member(data);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Update a member's profile fields.
|
|
108
|
-
*
|
|
109
|
-
* @param id The member's NanoID.
|
|
110
|
-
* @param payload The fields to update.
|
|
111
|
-
*/
|
|
112
|
-
async update(id, payload) {
|
|
113
|
-
const data = await this.http.patch(`/members/${id}`, payload);
|
|
114
|
-
const existing = this.cache.find((m) => m.id === id);
|
|
115
|
-
if (existing) {
|
|
116
|
-
existing.applyData(data);
|
|
117
|
-
this.upsertCache(existing);
|
|
118
|
-
this.emit('updated', existing);
|
|
119
|
-
return existing;
|
|
120
|
-
}
|
|
121
|
-
const member = new Member(data);
|
|
122
|
-
this.upsertCache(member);
|
|
123
|
-
this.emit('updated', member);
|
|
124
|
-
return member;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
exports.MembersNamespace = MembersNamespace;
|