Skip to content

Commit 28c3897

Browse files
committed
refactor: declare types in **/types.ts
1 parent c0ca1ef commit 28c3897

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

src/users/index.ts

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
} from '../openapi/types.js';
99
import { Role } from '../roles/types.js';
1010
import { Map } from '../roles/util.js';
11-
import { User, UserDB } from './types.js';
11+
import { AssignRevokeOptions, GetAssignedRolesOptions, User, UserDB } from './types.js';
1212

1313
/**
1414
* Operations supported for 'db', 'oidc', and legacy (non-namespaced) users.
@@ -60,7 +60,7 @@ export interface DBUsers extends UsersBase {
6060
* @param {string} userId The ID of the user to retrieve the assigned roles for.
6161
* @returns {Promise<Record<string, Role>>} A map of role names to their respective roles.
6262
*/
63-
getAssignedRoles: (userId: string, opts?: GetAssingedRolesOptions) => Promise<Record<string, Role>>;
63+
getAssignedRoles: (userId: string, opts?: GetAssignedRolesOptions) => Promise<Record<string, Role>>;
6464

6565
create: (userId: string) => Promise<string>;
6666
delete: (userId: string) => Promise<boolean>;
@@ -71,10 +71,6 @@ export interface DBUsers extends UsersBase {
7171
listAll: () => Promise<UserDB[]>;
7272
}
7373

74-
type GetAssingedRolesOptions = {
75-
includePermissions?: boolean;
76-
};
77-
7874
/** Operations supported for namespaced 'oidc' users.*/
7975
export interface OIDCUsers extends UsersBase {
8076
/**
@@ -83,7 +79,7 @@ export interface OIDCUsers extends UsersBase {
8379
* @param {string} userId The ID of the user to retrieve the assigned roles for.
8480
* @returns {Promise<Record<string, Role>>} A map of role names to their respective roles.
8581
*/
86-
getAssignedRoles: (userId: string, opts?: GetAssingedRolesOptions) => Promise<Record<string, Role>>;
82+
getAssignedRoles: (userId: string, opts?: GetAssignedRolesOptions) => Promise<Record<string, Role>>;
8783
}
8884

8985
const users = (connection: ConnectionREST): Users => {
@@ -115,7 +111,7 @@ const db = (connection: ConnectionREST): DBUsers => {
115111

116112
type APIKeyResponse = { apikey: string };
117113
return {
118-
getAssignedRoles: (userId: string, opts?: GetAssingedRolesOptions) =>
114+
getAssignedRoles: (userId: string, opts?: GetAssignedRolesOptions) =>
119115
ns.getAssignedRoles('db', userId, opts),
120116
assignRoles: (roleNames: string | string[], userId: string) =>
121117
ns.assignRoles(roleNames, userId, { userType: 'db' }),
@@ -149,7 +145,7 @@ const db = (connection: ConnectionREST): DBUsers => {
149145
const oidc = (connection: ConnectionREST): OIDCUsers => {
150146
const ns = namespacedUsers(connection);
151147
return {
152-
getAssignedRoles: (userId: string, opts?: GetAssingedRolesOptions) =>
148+
getAssignedRoles: (userId: string, opts?: GetAssignedRolesOptions) =>
153149
ns.getAssignedRoles('oidc', userId, opts),
154150
assignRoles: (roleNames: string | string[], userId: string) =>
155151
ns.assignRoles(roleNames, userId, { userType: 'oidc' }),
@@ -163,7 +159,7 @@ interface NamespacedUsers {
163159
getAssignedRoles: (
164160
userType: UserTypeInternal,
165161
userId: string,
166-
opts?: GetAssingedRolesOptions
162+
opts?: GetAssignedRolesOptions
167163
) => Promise<Record<string, Role>>;
168164
assignRoles: (roleNames: string | string[], userId: string, opts?: AssignRevokeOptions) => Promise<void>;
169165
revokeRoles: (roleNames: string | string[], userId: string, opts?: AssignRevokeOptions) => Promise<void>;
@@ -177,12 +173,9 @@ const baseUsers = (connection: ConnectionREST): UsersBase => {
177173
};
178174
};
179175

180-
/** Optional arguments to /assign and /revoke endpoints. */
181-
type AssignRevokeOptions = { userType?: UserTypeInternal };
182-
183176
const namespacedUsers = (connection: ConnectionREST): NamespacedUsers => {
184177
return {
185-
getAssignedRoles: (userType: UserTypeInternal, userId: string, opts?: GetAssingedRolesOptions) =>
178+
getAssignedRoles: (userType: UserTypeInternal, userId: string, opts?: GetAssignedRolesOptions) =>
186179
connection
187180
.get<WeaviateRole[]>(
188181
`/authz/users/${userId}/roles/${userType}${opts?.includePermissions ? '?&includeFullRoles=true' : ''

src/users/types.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { WeaviateUserTypeDB as UserTypeDB } from '../openapi/types.js';
1+
import { WeaviateUserTypeDB as UserTypeDB, WeaviateUserTypeInternal } from '../openapi/types.js';
22
import { Role } from '../roles/types.js';
33

44
export type User = {
@@ -12,3 +12,12 @@ export type UserDB = {
1212
roleNames: string[];
1313
active: boolean;
1414
};
15+
16+
/** Optional arguments to /user/{type}/{username} enpoint. */
17+
export type GetAssignedRolesOptions = {
18+
includePermissions?: boolean;
19+
};
20+
21+
/** Optional arguments to /assign and /revoke endpoints. */
22+
export type AssignRevokeOptions = { userType?: WeaviateUserTypeInternal };
23+

0 commit comments

Comments
 (0)