SYMBOL INDEX (116 symbols across 42 files) FILE: bindings.d.ts type Environment (line 5) | type Environment = { FILE: migrations/01_initial.ts function up (line 4) | async function up(db: Kysely) { function down (line 56) | async function down(db: Kysely) { FILE: scripts/migrate.ts type Database (line 20) | interface Database { function migrateToLatest (line 41) | async function migrateToLatest() { function migrateDown (line 60) | async function migrateDown() { function migrateNone (line 79) | async function migrateNone() { FILE: src/config/config.ts type EnvVarsSchemaType (line 43) | type EnvVarsSchemaType = z.infer type Config (line 45) | interface Config { FILE: src/config/database.ts type Database (line 10) | interface Database { FILE: src/config/roles.ts type Permission (line 8) | type Permission = (typeof roleRights)[keyof typeof roleRights][number] type Role (line 9) | type Role = keyof typeof roleRights FILE: src/config/tokens.ts type TokenType (line 8) | type TokenType = (typeof tokenTypes)[keyof typeof tokenTypes] FILE: src/controllers/auth/oauth/apple.controller.ts type AppleJWT (line 22) | type AppleJWT = { FILE: src/controllers/auth/oauth/oauth.controller.ts type State (line 15) | type State = { FILE: src/durable-objects/rate-limiter.do.ts type Config (line 8) | interface Config { class RateLimiter (line 22) | class RateLimiter { method constructor (line 27) | constructor(state: DurableObjectState, env: Environment['Bindings']) { method alarm (line 67) | async alarm() { method setAlarm (line 79) | async setAlarm() { method getConfig (line 86) | async getConfig(c: Context) { method incrementRequestCount (line 92) | async incrementRequestCount(key: string) { method getRequestCount (line 97) | async getRequestCount(key: string): Promise { method nowUnix (line 101) | nowUnix() { method calculateRate (line 105) | async calculateRate(config: Config) { method isRateLimited (line 121) | isRateLimited(rate: number, limit: number) { method getHeaders (line 125) | getHeaders(blocked: boolean, config: Config) { method expirySeconds (line 138) | expirySeconds(config: Config) { method retryAfter (line 145) | retryAfter(expires: number) { method fetch (line 149) | async fetch(request: Request): Promise { FILE: src/models/base.model.ts method toJSON (line 4) | toJSON() { FILE: src/models/oauth/apple-user.model.ts class AppleUser (line 5) | class AppleUser extends OAuthUserModel { method constructor (line 6) | constructor(user: AppleUserType) { FILE: src/models/oauth/discord-user.model.ts class DiscordUser (line 5) | class DiscordUser extends OAuthUserModel { method constructor (line 6) | constructor(user: DiscordUserType) { FILE: src/models/oauth/facebook-user.model.ts class FacebookUser (line 5) | class FacebookUser extends OAuthUserModel { method constructor (line 6) | constructor(user: FacebookUserType) { FILE: src/models/oauth/github-user.model.ts class GithubUser (line 5) | class GithubUser extends OAuthUserModel { method constructor (line 6) | constructor(user: GithubUserType) { FILE: src/models/oauth/google-user.model.ts class GoogleUser (line 5) | class GoogleUser extends OAuthUserModel { method constructor (line 6) | constructor(user: GoogleUserType) { FILE: src/models/oauth/oauth-base.model.ts class OAuthUserModel (line 4) | class OAuthUserModel extends BaseModel implements OAuthUserType { method constructor (line 12) | constructor(user: OAuthUserType) { FILE: src/models/oauth/spotify-user.model.ts class SpotifyUser (line 5) | class SpotifyUser extends OAuthUserModel { method constructor (line 6) | constructor(user: SpotifyUserType) { FILE: src/models/one-time-oauth-code.ts class OneTimeOauthCode (line 5) | class OneTimeOauthCode extends BaseModel implements Selectable) { FILE: src/models/token.model.ts type TokenResponse (line 1) | interface TokenResponse { FILE: src/models/user.model.ts class User (line 7) | class User extends BaseModel implements Selectable { method constructor (line 17) | constructor(user: Selectable) { FILE: src/services/email.service.ts type EmailData (line 6) | interface EmailData { FILE: src/services/oauth/apple.service.ts type AppleResponse (line 4) | type AppleResponse = { FILE: src/services/oauth/facebook.service.ts type Options (line 5) | type Options = { FILE: src/services/oauth/github.service.ts constant DEFAULT_SCOPE (line 5) | const DEFAULT_SCOPE = ['read:user', 'user:email'] constant DEFAULT_ALLOW_SIGNUP (line 6) | const DEFAULT_ALLOW_SIGNUP = true type Options (line 8) | type Options = { type Params (line 16) | type Params = { FILE: src/services/oauth/spotify.service.ts type Options (line 5) | type Options = { FILE: src/services/user.service.ts type getUsersFilter (line 13) | interface getUsersFilter { type getUsersOptions (line 17) | interface getUsersOptions { FILE: src/tables/oauth.table.ts type AuthProviderTable (line 1) | interface AuthProviderTable { FILE: src/tables/one-time-oauth-code.table.ts type OneTimeOauthCodeTable (line 3) | interface OneTimeOauthCodeTable { FILE: src/tables/user.table.ts type UserTable (line 3) | interface UserTable { FILE: src/types/oauth.types.ts type AuthProviderType (line 9) | type AuthProviderType = (typeof authProviders)[keyof typeof authProviders] type OAuthUserType (line 11) | interface OAuthUserType { type AppleUserType (line 18) | interface AppleUserType { type DiscordUserType (line 24) | interface DiscordUserType { type FacebookUserType (line 30) | interface FacebookUserType { type GithubUserType (line 37) | interface GithubUserType { type GoogleUserType (line 43) | interface GoogleUserType { type SpotifyUserType (line 49) | interface SpotifyUserType { type OauthUserTypes (line 55) | interface OauthUserTypes { type ProviderUserMapping (line 64) | type ProviderUserMapping = { FILE: src/utils/api-error.ts class ApiError (line 1) | class ApiError extends Error { method constructor (line 5) | constructor(statusCode: number, message: string, isOperational = true) { FILE: src/validations/auth.validation.ts type Register (line 11) | type Register = z.infer FILE: src/validations/user.validation.ts type CreateUser (line 17) | type CreateUser = z.infer type UpdateUser (line 41) | type UpdateUser = FILE: tests/cloudflare-test.d.ts type ProvidedEnv (line 3) | type ProvidedEnv = Environment FILE: tests/fixtures/token.fixture.ts type TokenResponse (line 7) | interface TokenResponse { FILE: tests/fixtures/user.fixture.ts type MockUser (line 13) | type MockUser = Insertable type UserResponse (line 15) | interface UserResponse { FILE: tests/mocks/awsClientStub/aws-client-stub.ts type AwsClientBehavior (line 5) | type AwsClientBehavior = type Behavior (line 10) | interface Behavior< type AwsClientStub (line 37) | type AwsClientStub = type MockCall (line 42) | type MockCall = { type MockResult (line 47) | type MockResult = type Inputs (line 57) | type Inputs { method restore (line 113) | restore(): void { method calls (line 120) | calls(): MockCall< method call (line 139) | call( method on (line 161) | on( class CommandBehavior (line 178) | class CommandBehavior< method constructor (line 184) | constructor( method resolves (line 204) | resolves( method rejects (line 233) | rejects(error?: string | Error | AwsError): AwsStub = Partial | PromiseLike, Partial { FILE: tests/mocks/awsClientStub/expect-mock.ts function toHaveReceivedCommandTimes (line 4) | function toHaveReceivedCommandTimes(mock: AwsStub, comman... type CustomMatchers (line 20) | interface CustomMatchers { type Assertion (line 27) | interface Assertion extends CustomMatchers {} type AsymmetricMatchersContaining (line 29) | interface AsymmetricMatchersContaining extends CustomMatchers {} FILE: tests/mocks/awsClientStub/mock-client.ts type ClassType (line 27) | type ClassType = { type InstanceOrClassType (line 31) | type InstanceOrClassType = T | ClassType FILE: tests/utils/test-request.ts class Context (line 7) | class Context implements ExecutionContext { method passThroughOnException (line 8) | passThroughOnException(): void { method abort (line 11) | abort(): void {} method waitUntil (line 13) | async waitUntil(promise: Promise): Promise { FILE: tests/vitest.d.ts type Assertion (line 7) | interface Assertion extends CustomMatcher {} type AsymmetricMatchersContaining (line 8) | interface AsymmetricMatchersContaining extends CustomMatcher {}