@remcostoeten/fync
Version:
Unified TypeScript library for 9 popular APIs with consistent functional architecture
138 lines • 4.2 kB
TypeScript
import type { TBaseEntity } from "../../core/types";
export type TGitLabUser = {
/** User ID */
id: number;
/** Username */
username: string;
/** User's full name */
name: string;
/** User state (active, blocked, etc.) */
state: "active" | "blocked" | "deactivated";
/** Avatar URL */
avatar_url: string | null;
/** Web URL to user profile */
web_url: string;
/** User email (only visible to authenticated users) */
email?: string;
/** User location */
location?: string | null;
/** User bio */
bio?: string | null;
/** User's local time zone */
local_time?: string | null;
/** User's Skype username */
skype?: string | null;
/** User's LinkedIn profile */
linkedin?: string | null;
/** User's Twitter handle */
twitter?: string | null;
/** User's website URL */
website_url?: string | null;
/** User's organization */
organization?: string | null;
/** User's job title */
job_title?: string | null;
/** User's work information */
work_information?: string | null;
/** Number of followers */
followers?: number;
/** Number of users following */
following?: number;
/** Whether user is administrator */
is_admin?: boolean;
/** Whether user can create groups */
can_create_group?: boolean;
/** Whether user can create projects */
can_create_project?: boolean;
/** Whether user has two-factor authentication enabled */
two_factor_enabled?: boolean;
/** Whether user is external */
external?: boolean;
/** Whether user's profile is private */
private_profile?: boolean;
/** Number of public projects */
public_repos?: number;
/** Highest access level among user's projects */
highest_role?: number;
/** User's theme ID */
theme_id?: number;
/** User's color scheme ID */
color_scheme_id?: number;
/** Current user's status */
status?: {
/** Status emoji */
emoji: string;
/** Status message */
message: string;
/** Status message HTML */
message_html: string;
/** Status availability */
availability: "not_set" | "busy";
/** Status clear at date */
clear_status_at: string | null;
} | null;
/** User's last sign-in timestamp */
last_sign_in_at?: string | null;
/** User's current sign-in timestamp */
current_sign_in_at?: string | null;
/** User's last activity timestamp */
last_activity_on?: string | null;
/** Whether user is confirmed */
confirmed_at?: string | null;
/** User's provider */
provider?: string | null;
/** User's external UID */
extern_uid?: string | null;
/** User's identity provider */
identity_provider?: string | null;
} & TBaseEntity;
export type TGitLabUserEmail = {
/** Email ID */
id: number;
/** Email address */
email: string;
/** Whether email is confirmed */
confirmed_at: string | null;
} & TBaseEntity;
export type TGitLabUserKey = {
/** SSH key ID */
id: number;
/** SSH key title */
title: string;
/** SSH key content */
key: string;
/** SSH key fingerprint */
fingerprint: string;
/** Whether key can push */
can_push: boolean;
/** Key usage type */
usage_type: "auth" | "auth_and_signing" | "signing";
/** Key expiration date */
expires_at: string | null;
} & TBaseEntity;
export type TGitLabUserGPGKey = {
/** GPG key ID */
id: number;
/** GPG key content */
key: string;
/** Key subkeys */
subkeys: Array<{
/** Subkey ID */
id: number;
/** Subkey fingerprint */
fingerprint: string;
/** Key ID */
keyid: string;
/** Whether key can encrypt */
can_encrypt: boolean;
/** Whether key can sign */
can_sign: boolean;
/** Whether key can certify */
can_certify: boolean;
/** Whether key can authenticate */
can_authenticate: boolean;
/** Key expiration date */
expires_at: string | null;
}>;
} & TBaseEntity;
//# sourceMappingURL=gitlab-user.d.ts.map