@plyaz/types 1.27.7 → 1.27.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -765,7 +765,7 @@ export type AuthErrorDefinition = (typeof AUTH_ERROR_DEFINITIONS)[AuthErrorCodeV
765
765
  /**
766
766
  * Type for authentication error codes
767
767
  */
768
- export type AuthErrorCode = typeof AUTH_ERROR_CODES[keyof typeof AUTH_ERROR_CODES];
768
+ export type AuthErrorCode = (typeof AUTH_ERROR_CODES)[keyof typeof AUTH_ERROR_CODES];
769
769
  /**
770
770
  * Error code to HTTP status mapping
771
771
  * Maps error codes to appropriate HTTP status codes
@@ -775,3 +775,127 @@ export declare const ERROR_CODE_TO_HTTP_STATUS: Record<AuthErrorCode, number>;
775
775
  * Error code descriptions for logging and debugging
776
776
  */
777
777
  export declare const ERROR_CODE_DESCRIPTIONS: Record<AuthErrorCode, string>;
778
+ /**
779
+ * @fileoverview Interfaces and types for @plyaz/auth
780
+ * @module @plyaz/auth/interfaces
781
+ */
782
+ export interface AuthUser {
783
+ id: string;
784
+ email: string;
785
+ clerkUserId?: string;
786
+ authProvider: string;
787
+ firstName?: string;
788
+ lastName?: string;
789
+ displayName: string;
790
+ avatarUrl?: string;
791
+ phoneNumber?: string;
792
+ isActive: boolean;
793
+ isVerified: boolean;
794
+ createdAt: Date;
795
+ updatedAt: Date;
796
+ lastLoginAt?: Date;
797
+ roles?: string[];
798
+ passwordHash?: string;
799
+ isSuspended?: boolean;
800
+ }
801
+ export interface UserRepository {
802
+ findById(id: string): Promise<AuthUser | null>;
803
+ findByEmail(email: string): Promise<AuthUser | null>;
804
+ create(data: CreateUserData): Promise<AuthUser>;
805
+ update(id: string, data: UpdateUserData): Promise<AuthUser>;
806
+ delete(id: string): Promise<void>;
807
+ }
808
+ export interface SessionRepository {
809
+ create(data: CreateSessionData): Promise<Session>;
810
+ findById(id: string): Promise<Session | null>;
811
+ findByUserId(userId: string): Promise<Session[]>;
812
+ invalidate(sessionId: string): Promise<void>;
813
+ delete(sessionId: string): Promise<void>;
814
+ deleteByUserId(userId: string): Promise<void>;
815
+ updateLastActive(sessionId: string): Promise<void>;
816
+ }
817
+ export interface ConnectedAccountRepository {
818
+ create(data: CreateConnectedAccountData): Promise<ConnectedAccount>;
819
+ findById(id: string): Promise<ConnectedAccount | null>;
820
+ findByUserId(userId: string): Promise<ConnectedAccount[]>;
821
+ findByProvider(provider: string, providerAccountId: string): Promise<ConnectedAccount | null>;
822
+ update(id: string, data: UpdateConnectedAccountData): Promise<ConnectedAccount>;
823
+ delete(id: string): Promise<void>;
824
+ }
825
+ export interface JWTConfig {
826
+ privateKey: string;
827
+ publicKey: string;
828
+ issuer: string;
829
+ audience: string;
830
+ accessTokenTTL: string;
831
+ refreshTokenTTL: string;
832
+ algorithm?: string;
833
+ }
834
+ export interface SessionConfig {
835
+ maxConcurrentSessions: number;
836
+ sessionTTL: number;
837
+ cleanupInterval: number;
838
+ }
839
+ /**
840
+ * @fileoverview OAuth provider constants for @plyaz/auth
841
+ * @module @plyaz/auth/constants/oauth-providers
842
+ *
843
+ * @description
844
+ * Defines supported OAuth providers and their configurations.
845
+ * Used by adapters, strategies, and frontend components to handle
846
+ * OAuth authentication flows. Provides standardized provider names
847
+ * and metadata for consistent provider handling.
848
+ *
849
+ * @example
850
+ * ```typescript
851
+ * import { OAUTH_PROVIDERS, OAuthProviderConfig } from '@plyaz/auth';
852
+ *
853
+ * const googleConfig = OAUTH_PROVIDER_CONFIGS[OAUTH_PROVIDERS.GOOGLE];
854
+ * const authUrl = `${googleConfig.authUrl}?client_id=${clientId}`;
855
+ * ```
856
+ */
857
+ /**
858
+ * Supported OAuth providers
859
+ * Standardized provider identifiers used throughout the system
860
+ */
861
+ export declare const OAUTH_PROVIDERS: {
862
+ /** Google OAuth 2.0 */
863
+ readonly GOOGLE: "GOOGLE";
864
+ /** Facebook OAuth 2.0 */
865
+ readonly FACEBOOK: "FACEBOOK";
866
+ /** Apple Sign In */
867
+ readonly APPLE: "APPLE";
868
+ /** GitHub OAuth 2.0 */
869
+ readonly GITHUB: "GITHUB";
870
+ /** Twitter OAuth 2.0 */
871
+ readonly TWITTER: "TWITTER";
872
+ /** LinkedIn OAuth 2.0 */
873
+ readonly LINKEDIN: "LINKEDIN";
874
+ /** Discord OAuth 2.0 */
875
+ readonly DISCORD: "DISCORD";
876
+ /** Microsoft OAuth 2.0 */
877
+ readonly MICROSOFT: "MICROSOFT";
878
+ };
879
+ /**
880
+ * Type for OAuth provider names
881
+ */
882
+ export type OAuthProvider = typeof OAUTH_PROVIDERS[keyof typeof OAUTH_PROVIDERS];
883
+ /**
884
+ * OAuth provider configuration interface
885
+ */
886
+ export interface OAuthProviderConfig {
887
+ /** Provider display name */
888
+ name: string;
889
+ /** OAuth authorization URL */
890
+ authUrl: string;
891
+ /** OAuth token exchange URL */
892
+ tokenUrl: string;
893
+ /** OAuth user info URL */
894
+ userInfoUrl: string;
895
+ /** Required OAuth scopes */
896
+ scopes: string[];
897
+ /** Provider brand color (for UI) */
898
+ brandColor: string;
899
+ /** Provider icon name (for UI) */
900
+ iconName: string;
901
+ }
package/dist/index.cjs CHANGED
@@ -5988,6 +5988,46 @@ var AUTH_ERROR_DEFINITIONS = {
5988
5988
  retryable: false
5989
5989
  }
5990
5990
  };
5991
+ var USERROLESTATUS = /* @__PURE__ */ ((USERROLESTATUS2) => {
5992
+ USERROLESTATUS2["ACTIVE"] = "ACTIVE";
5993
+ USERROLESTATUS2["INACTIVE"] = "INACTIVE";
5994
+ USERROLESTATUS2["SUSPENDED"] = "SUSPENDED";
5995
+ return USERROLESTATUS2;
5996
+ })(USERROLESTATUS || {});
5997
+ var AUTHPROVIDER = /* @__PURE__ */ ((AUTHPROVIDER2) => {
5998
+ AUTHPROVIDER2["EMAIL"] = "EMAIL";
5999
+ AUTHPROVIDER2["CLERK"] = "CLERK";
6000
+ AUTHPROVIDER2["GOOGLE"] = "GOOGLE";
6001
+ AUTHPROVIDER2["FACEBOOK"] = "FACEBOOK";
6002
+ AUTHPROVIDER2["APPLE"] = "APPLE";
6003
+ AUTHPROVIDER2["WEB3"] = "WEB3";
6004
+ AUTHPROVIDER2["NEXTAUTH"] = "NEXTAUTH";
6005
+ return AUTHPROVIDER2;
6006
+ })(AUTHPROVIDER || {});
6007
+ var TOKENTYPE = /* @__PURE__ */ ((TOKENTYPE2) => {
6008
+ TOKENTYPE2["BEARER"] = "Bearer";
6009
+ TOKENTYPE2["JWT"] = "JWT";
6010
+ return TOKENTYPE2;
6011
+ })(TOKENTYPE || {});
6012
+ var PROVIDERTYPE = /* @__PURE__ */ ((PROVIDERTYPE2) => {
6013
+ PROVIDERTYPE2["OAUTH"] = "OAUTH";
6014
+ PROVIDERTYPE2["WEB3"] = "WEB3";
6015
+ PROVIDERTYPE2["EMAIL"] = "EMAIL";
6016
+ return PROVIDERTYPE2;
6017
+ })(PROVIDERTYPE || {});
6018
+ var SESSIONSTATUS = /* @__PURE__ */ ((SESSIONSTATUS2) => {
6019
+ SESSIONSTATUS2["ACTIVE"] = "ACTIVE";
6020
+ SESSIONSTATUS2["EXPIRED"] = "EXPIRED";
6021
+ SESSIONSTATUS2["REVOKED"] = "REVOKED";
6022
+ return SESSIONSTATUS2;
6023
+ })(SESSIONSTATUS || {});
6024
+ var MFATYPE = /* @__PURE__ */ ((MFATYPE2) => {
6025
+ MFATYPE2["TOTP"] = "TOTP";
6026
+ MFATYPE2["SMS"] = "SMS";
6027
+ MFATYPE2["EMAIL"] = "EMAIL";
6028
+ MFATYPE2["BackupCodes"] = "BACKUP_CODES";
6029
+ return MFATYPE2;
6030
+ })(MFATYPE || {});
5991
6031
  var DEFAULT_PASSWORD = 8;
5992
6032
  var ContactUsFormSchema = zod.z.object({
5993
6033
  name: zod.z.string({ error: "errors.form.missingField" }).min(1, "errors.form.nameMissing"),
@@ -6048,6 +6088,24 @@ var ERROR_CODE_DESCRIPTIONS = {
6048
6088
  [AUTH_ERROR_CODES.ACCOUNT_LOCKED]: "errors.auth.account_locked",
6049
6089
  [AUTH_ERROR_CODES.ACCOUNT_SUSPENDED]: "errors.auth.account_suspended"
6050
6090
  };
6091
+ var OAUTH_PROVIDERS = {
6092
+ /** Google OAuth 2.0 */
6093
+ GOOGLE: "GOOGLE",
6094
+ /** Facebook OAuth 2.0 */
6095
+ FACEBOOK: "FACEBOOK",
6096
+ /** Apple Sign In */
6097
+ APPLE: "APPLE",
6098
+ /** GitHub OAuth 2.0 */
6099
+ GITHUB: "GITHUB",
6100
+ /** Twitter OAuth 2.0 */
6101
+ TWITTER: "TWITTER",
6102
+ /** LinkedIn OAuth 2.0 */
6103
+ LINKEDIN: "LINKEDIN",
6104
+ /** Discord OAuth 2.0 */
6105
+ DISCORD: "DISCORD",
6106
+ /** Microsoft OAuth 2.0 */
6107
+ MICROSOFT: "MICROSOFT"
6108
+ };
6051
6109
 
6052
6110
  // src/auth/auth-events.ts
6053
6111
  var AUTH_EVENTS = {
@@ -9114,6 +9172,7 @@ exports.API_ERROR_CODES = API_ERROR_CODES;
9114
9172
  exports.APP_CONTEXTS = APP_CONTEXTS;
9115
9173
  exports.ATHLETE_PROFILE_ERRORS = ATHLETE_PROFILE_ERRORS;
9116
9174
  exports.AUDIT_OPERATION = AUDIT_OPERATION;
9175
+ exports.AUTHPROVIDER = AUTHPROVIDER;
9117
9176
  exports.AUTH_ERROR_CODES = AUTH_ERROR_CODES;
9118
9177
  exports.AUTH_ERROR_DEFINITIONS = AUTH_ERROR_DEFINITIONS;
9119
9178
  exports.AUTH_EVENTS = AUTH_EVENTS;
@@ -9235,6 +9294,7 @@ exports.MEDIA_ENTITY = MEDIA_ENTITY;
9235
9294
  exports.MEDIA_EXTENSIONS = MEDIA_EXTENSIONS;
9236
9295
  exports.MEDIA_MIME_PREFIXES = MEDIA_MIME_PREFIXES;
9237
9296
  exports.MEDIA_VARIANT_TYPE = MEDIA_VARIANT_TYPE;
9297
+ exports.MFATYPE = MFATYPE;
9238
9298
  exports.MIME_TYPES = MIME_TYPES;
9239
9299
  exports.NETWORK_CONFIDENCE_LEVELS = NETWORK_CONFIDENCE_LEVELS;
9240
9300
  exports.NETWORK_EVENTS = NETWORK_EVENTS;
@@ -9247,6 +9307,7 @@ exports.NOTIFICATION_PROVIDERS = NOTIFICATION_PROVIDERS;
9247
9307
  exports.NetworkPresetNames = NetworkPresetNames;
9248
9308
  exports.NotificationCategorySchema = NotificationCategorySchema;
9249
9309
  exports.NotificationEventAction = NotificationEventAction;
9310
+ exports.OAUTH_PROVIDERS = OAUTH_PROVIDERS;
9250
9311
  exports.OBSERVABILITY_METRICS = OBSERVABILITY_METRICS;
9251
9312
  exports.OBSERVABILITY_SPANS = OBSERVABILITY_SPANS;
9252
9313
  exports.ONBOARD_LINK_TYPE = ONBOARD_LINK_TYPE;
@@ -9271,6 +9332,7 @@ exports.PERFORMANCE_EVENTS = PERFORMANCE_EVENTS;
9271
9332
  exports.PERFORMANCE_METRIC_TYPE = PERFORMANCE_METRIC_TYPE;
9272
9333
  exports.PRIORITY_LEVEL = PRIORITY_LEVEL;
9273
9334
  exports.PRODUCT_TYPE = PRODUCT_TYPE;
9335
+ exports.PROVIDERTYPE = PROVIDERTYPE;
9274
9336
  exports.PROVIDER_PRODUCT_STATUS = PROVIDER_PRODUCT_STATUS;
9275
9337
  exports.PUB_SUB_EVENT = PUB_SUB_EVENT;
9276
9338
  exports.PhoneSchema = PhoneSchema;
@@ -9292,6 +9354,7 @@ exports.ROUTING_STRATEGY = ROUTING_STRATEGY;
9292
9354
  exports.RTT_THRESHOLDS = RTT_THRESHOLDS;
9293
9355
  exports.SECURITY_THREAT_TYPE = SECURITY_THREAT_TYPE;
9294
9356
  exports.SERVICE_KEYS = SERVICE_KEYS;
9357
+ exports.SESSIONSTATUS = SESSIONSTATUS;
9295
9358
  exports.SIGNATURE_METHOD = SIGNATURE_METHOD;
9296
9359
  exports.SORT_DIRECTION = SORT_DIRECTION;
9297
9360
  exports.SPEED_THRESHOLDS = SPEED_THRESHOLDS;
@@ -9332,6 +9395,7 @@ exports.TEMPLATE_DOCUMENT_TYPE_SCHEMA = TEMPLATE_DOCUMENT_TYPE_SCHEMA;
9332
9395
  exports.TEMPLATE_OUTPUT_FORMAT = TEMPLATE_OUTPUT_FORMAT;
9333
9396
  exports.TEMPLATE_VARIABLE_TYPE = TEMPLATE_VARIABLE_TYPE;
9334
9397
  exports.TEMPLATE_VARIABLE_TYPE_SCHEMA = TEMPLATE_VARIABLE_TYPE_SCHEMA;
9398
+ exports.TOKENTYPE = TOKENTYPE;
9335
9399
  exports.TOKEN_TYPE = TOKEN_TYPE;
9336
9400
  exports.TRACKING_PHASES = TRACKING_PHASES;
9337
9401
  exports.TRANSACTION_TYPE = TRANSACTION_TYPE;
@@ -9348,6 +9412,7 @@ exports.UNIFIED_OPERATIONS = UNIFIED_OPERATIONS;
9348
9412
  exports.UNIVERSAL_RUNTIMES = UNIVERSAL_RUNTIMES;
9349
9413
  exports.UPDATE_STRATEGIES = UPDATE_STRATEGIES;
9350
9414
  exports.UPLOAD_STATUS = UPLOAD_STATUS;
9415
+ exports.USERROLESTATUS = USERROLESTATUS;
9351
9416
  exports.USER_ROLE = USER_ROLE;
9352
9417
  exports.USER_ROLE_STATUS = USER_ROLE_STATUS;
9353
9418
  exports.USER_STATUS = USER_STATUS;