mirror of
https://github.com/Unleash/unleash.git
synced 2024-11-01 19:07:38 +01:00
d63b3c69fe
https://linear.app/unleash/issue/2-579/improve-user-like-behaviour-for-service-accounts-accounts-concept <img width="803" alt="image" src="https://user-images.githubusercontent.com/14320932/213011584-75870595-988d-49bc-a7bf-cd1ffd146bca.png"> Makes SAs behave more like users. Even though they share the same `users` database table, the `is_service` column distinguishes them. This PR makes the distinction a bit less obvious by not filtering out SAs for some methods in the user store, returning both account types and their respective account type information so we can handle them properly on the UI. We felt like this was a good enough approach for now, and a decent compromise to move SAs forward. In the future, we may want to make a full refactor with the `accounts` concept in mind, which we've experimented with in the [accounts-refactoring](https://github.com/Unleash/unleash/tree/accounts-refactoring) branches (both OSS and Enterprise). https://github.com/Unleash/unleash/pull/2918 - Moves this a bit further, by introducing the account service and store.
27 lines
596 B
TypeScript
27 lines
596 B
TypeScript
export const AccountTypes = ['User', 'Service Account'] as const;
|
|
type AccountType = typeof AccountTypes[number];
|
|
|
|
export interface IUser {
|
|
id: number;
|
|
email: string;
|
|
name: string;
|
|
createdAt: string;
|
|
imageUrl: string;
|
|
loginAttempts: number;
|
|
permissions: string[] | null;
|
|
inviteLink: string;
|
|
rootRole: number;
|
|
seenAt: string | null;
|
|
username?: string;
|
|
isAPI: boolean;
|
|
paid?: boolean;
|
|
addedAt?: string;
|
|
accountType?: AccountType;
|
|
}
|
|
|
|
export interface IPermission {
|
|
permission: string;
|
|
project?: string;
|
|
environment?: string;
|
|
}
|