Skip to content

lib/auth/types

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:77

Represents a bucket with an expiration mechanism.

ExpiringBucket

count: number;

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:78

The number of items in the bucket.

createdAt: number;

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:79

The timestamp when the bucket was created.


Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:16

Represents a table of OAuth accounts.

OAuthAccountsTable

  • tsOAuthAccountsSelect

provider: string;

The name of the OAuth provider (e.g., Google, Facebook).

tsOAuthAccountsSelect.provider

providerUserId: string;

The unique identifier for the user provided by the OAuth provider.

tsOAuthAccountsSelect.providerUserId

userId: string;

The unique identifier for the user within the application.

tsOAuthAccountsSelect.userId

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:24

Interface representing a table of user permissions.

  • tsPermissionsSelect

rank: string;

The rank or role assigned to the user.

tsPermissionsSelect.rank

user: string;

The username of the individual.

tsPermissionsSelect.user

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:65

Represents an individual refillable token bucket.

RefillBucket

count: number;

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:66

The current token count in the bucket.

refilledAt: number;

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:67

The last timestamp when tokens were refilled.


Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:88

Interface representing a throttling counter.

timeout: number;

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:89

The duration (in milliseconds) for which the throttling is applied.

updatedAt: number;

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:90

The timestamp (in milliseconds since epoch) when the throttling counter was last updated.

type SessionValidationResult =
| UserSession
| {
session: null;
user: null;
};

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:56

Represents the result of a session validation.

This type can either be a valid UserSession or an object indicating an invalid session with both session and user properties set to null.


type UserSession = {
session: tsSessionTableSelect;
user: tsUsersSelect;
};

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:45

Represents a user session which includes user information and session details.

session: tsSessionTableSelect;

user: tsUsersSelect;

type UserSessionData = {
isLoggedIn: boolean;
permissionLevel: "owner" | "admin" | "editor" | "visitor" | "unknown";
user: tsUsersSelect | null;
};

Defined in: studiocms/packages/studiocms/src/lib/auth/types.ts:33

Represents the session data for a user.

isLoggedIn: boolean;

permissionLevel: "owner" | "admin" | "editor" | "visitor" | "unknown";

user: tsUsersSelect | null;