payload 3.0.0-alpha.48 → 3.0.0-alpha.49
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.
- package/config.d.ts +4 -1
- package/config.js +4 -1
- package/dist/admin/RichText.d.ts +3 -7
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/admin/forms/Error.d.ts +1 -0
- package/dist/admin/forms/Error.d.ts.map +1 -1
- package/dist/admin/forms/Error.js.map +1 -1
- package/dist/admin/forms/Form.d.ts +5 -0
- package/dist/admin/forms/Form.d.ts.map +1 -1
- package/dist/admin/forms/Form.js.map +1 -1
- package/dist/admin/forms/Label.d.ts +2 -1
- package/dist/admin/forms/Label.d.ts.map +1 -1
- package/dist/admin/forms/Label.js.map +1 -1
- package/dist/admin/forms/RowLabel.d.ts +2 -9
- package/dist/admin/forms/RowLabel.d.ts.map +1 -1
- package/dist/admin/forms/RowLabel.js.map +1 -1
- package/dist/admin/types.d.ts +2 -2
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/admin/views/types.d.ts +8 -3
- package/dist/admin/views/types.d.ts.map +1 -1
- package/dist/admin/views/types.js.map +1 -1
- package/dist/auth/baseFields/apiKey.js +1 -1
- package/dist/auth/baseFields/apiKey.js.map +1 -1
- package/dist/auth/cookies.d.ts +4 -0
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/cookies.js +1 -1
- package/dist/auth/cookies.js.map +1 -1
- package/dist/auth/operations/forgotPassword.js +1 -1
- package/dist/auth/operations/forgotPassword.js.map +1 -1
- package/dist/auth/operations/login.d.ts +1 -5
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +0 -3
- package/dist/auth/operations/login.js.map +1 -1
- package/dist/auth/operations/me.d.ts +4 -4
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js.map +1 -1
- package/dist/auth/operations/registerFirstUser.d.ts +1 -9
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js +1 -1
- package/dist/auth/operations/resetPassword.js.map +1 -1
- package/dist/auth/strategies/apiKey.d.ts.map +1 -1
- package/dist/auth/strategies/apiKey.js +2 -0
- package/dist/auth/strategies/apiKey.js.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -0
- package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
- package/dist/auth/strategies/local/register.d.ts.map +1 -1
- package/dist/auth/strategies/local/register.js +3 -0
- package/dist/auth/strategies/local/register.js.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.js +1 -0
- package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
- package/dist/auth/types.d.ts +6 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js.map +1 -1
- package/dist/collections/config/client.d.ts +311 -0
- package/dist/collections/config/client.d.ts.map +1 -0
- package/dist/collections/config/client.js +56 -0
- package/dist/collections/config/client.js.map +1 -0
- package/dist/collections/config/defaults.d.ts +5 -5
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +4 -0
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +0 -3
- package/dist/collections/config/schema.js.map +1 -1
- package/dist/collections/config/types.d.ts +4 -36
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/operations/create.d.ts +1 -9
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/delete.d.ts +2 -10
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/duplicate.d.ts +14 -0
- package/dist/collections/operations/duplicate.d.ts.map +1 -0
- package/dist/collections/operations/duplicate.js +275 -0
- package/dist/collections/operations/duplicate.js.map +1 -0
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js +1 -1
- package/dist/collections/operations/local/create.js.map +1 -1
- package/dist/collections/operations/local/duplicate.d.ts +21 -0
- package/dist/collections/operations/local/duplicate.d.ts.map +1 -0
- package/dist/collections/operations/local/duplicate.js +22 -0
- package/dist/collections/operations/local/duplicate.js.map +1 -0
- package/dist/collections/operations/local/index.d.ts +7 -5
- package/dist/collections/operations/local/index.d.ts.map +1 -1
- package/dist/collections/operations/local/index.js +2 -0
- package/dist/collections/operations/local/index.js.map +1 -1
- package/dist/collections/operations/local/update.js +1 -1
- package/dist/collections/operations/local/update.js.map +1 -1
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/update.d.ts +1 -5
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.d.ts +1 -9
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/utils.d.ts +1 -1
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/config/client.d.ts +14 -0
- package/dist/config/client.d.ts.map +1 -0
- package/dist/config/client.js +59 -0
- package/dist/config/client.js.map +1 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +0 -2
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +3 -4
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +0 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/config/types.d.ts +23 -20
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/config/validate.d.ts +1 -2
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +3 -4
- package/dist/config/validate.js.map +1 -1
- package/dist/database/types.d.ts +2 -2
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/exports/config.d.ts +4 -1
- package/dist/exports/config.d.ts.map +1 -1
- package/dist/exports/config.js +4 -1
- package/dist/exports/config.js.map +1 -1
- package/dist/exports/operations.d.ts +1 -0
- package/dist/exports/operations.d.ts.map +1 -1
- package/dist/exports/operations.js +1 -0
- package/dist/exports/operations.js.map +1 -1
- package/dist/exports/types.d.ts +9 -4
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js.map +1 -1
- package/dist/exports/uploads.d.ts +2 -0
- package/dist/exports/uploads.d.ts.map +1 -0
- package/dist/exports/uploads.js +3 -0
- package/dist/exports/uploads.js.map +1 -0
- package/dist/exports/utilities.d.ts +4 -1
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +4 -1
- package/dist/exports/utilities.js.map +1 -1
- package/dist/fields/config/client.d.ts +1272 -0
- package/dist/{config/createClientConfig.d.ts.map → fields/config/client.d.ts.map} +1 -1
- package/dist/fields/config/client.js +54 -0
- package/dist/fields/config/client.js.map +1 -0
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +2 -0
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +1 -2
- package/dist/fields/config/schema.js.map +1 -1
- package/dist/fields/config/types.d.ts +25 -6
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts +2 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.js +2 -1
- package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts +2 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +30 -1
- package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +2 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js +2 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
- package/dist/fields/setDefaultBeforeDuplicate.d.ts +3 -0
- package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -0
- package/dist/fields/setDefaultBeforeDuplicate.js +23 -0
- package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -0
- package/dist/fields/validations.d.ts +3 -3
- package/dist/globals/config/client.d.ts +14 -0
- package/dist/globals/config/client.d.ts.map +1 -0
- package/dist/globals/config/client.js +42 -0
- package/dist/globals/config/client.js.map +1 -0
- package/dist/globals/config/types.d.ts +2 -21
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/update.d.ts +1 -9
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/index.d.ts +16 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -9
- package/dist/index.js.map +1 -1
- package/dist/preferences/operations/findOne.d.ts.map +1 -1
- package/dist/preferences/operations/findOne.js +3 -7
- package/dist/preferences/operations/findOne.js.map +1 -1
- package/dist/preferences/types.d.ts +5 -4
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js.map +1 -1
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +1 -1
- package/dist/uploads/generateFileData.js.map +1 -1
- package/dist/uploads/getFileByPath.d.ts +1 -2
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.js +1 -2
- package/dist/uploads/getFileByPath.js.map +1 -1
- package/dist/utilities/createLocalReq.d.ts +1 -1
- package/dist/utilities/createLocalReq.d.ts.map +1 -1
- package/dist/utilities/createLocalReq.js +20 -23
- package/dist/utilities/createLocalReq.js.map +1 -1
- package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
- package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
- package/dist/utilities/fieldSchemaToJSON.js +20 -10
- package/dist/utilities/fieldSchemaToJSON.js.map +1 -1
- package/dist/utilities/flattenTopLevelFields.d.ts +2 -1
- package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
- package/dist/utilities/flattenTopLevelFields.js +1 -1
- package/dist/utilities/flattenTopLevelFields.js.map +1 -1
- package/dist/utilities/getEntityPolicies.js +3 -3
- package/dist/utilities/getEntityPolicies.js.map +1 -1
- package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
- package/dist/utilities/mergeListSearchAndWhere.d.ts +12 -0
- package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
- package/dist/utilities/mergeListSearchAndWhere.js +57 -0
- package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
- package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.js +1 -1
- package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
- package/dist/utilities/telemetry/oneWayHash.d.ts +1 -0
- package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
- package/dist/utilities/wait.d.ts +1 -2
- package/dist/utilities/wait.d.ts.map +1 -1
- package/dist/utilities/wait.js +1 -2
- package/dist/utilities/wait.js.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -0
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.js +1 -0
- package/dist/versions/enforceMaxVersions.js.map +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.js +2 -0
- package/dist/versions/getLatestCollectionVersion.js.map +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.js +1 -0
- package/dist/versions/getLatestGlobalVersion.js.map +1 -1
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +1 -0
- package/dist/versions/saveVersion.js.map +1 -1
- package/operations.d.ts +1 -0
- package/operations.js +1 -0
- package/package.json +3 -3
- package/types.d.ts +9 -4
- package/uploads.d.ts +2 -0
- package/uploads.js +3 -0
- package/utilities.d.ts +4 -1
- package/utilities.js +4 -1
- package/components.d.ts +0 -14
- package/components.js +0 -71
- package/dist/config/createClientConfig.d.ts +0 -1246
- package/dist/config/createClientConfig.js +0 -175
- package/dist/config/createClientConfig.js.map +0 -1
- package/dist/localization/middleware.d.ts +0 -5
- package/dist/localization/middleware.d.ts.map +0 -1
- package/dist/localization/middleware.js +0 -37
- package/dist/localization/middleware.js.map +0 -1
- package/dist/localization/sanitizeFallbackLocale.d.ts +0 -3
- package/dist/localization/sanitizeFallbackLocale.d.ts.map +0 -1
- package/dist/localization/sanitizeFallbackLocale.js +0 -9
- package/dist/localization/sanitizeFallbackLocale.js.map +0 -1
- package/graphql.d.ts +0 -3
- package/graphql.js +0 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/me.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { User } from '../types.js'\n\nexport type
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/me.ts"],"sourcesContent":["import jwt from 'jsonwebtoken'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { ClientUser, User } from '../types.js'\n\nexport type MeOperationResult = {\n collection?: string\n exp?: number\n token?: string\n user?: ClientUser\n}\n\nexport type Arguments = {\n collection: Collection\n currentToken?: string\n req: PayloadRequest\n}\n\nexport const meOperation = async ({\n collection,\n currentToken,\n req,\n}: Arguments): Promise<MeOperationResult> => {\n let result: MeOperationResult = {\n user: null,\n }\n\n if (req.user) {\n const { pathname } = req\n const isGraphQL = pathname === `/api${req.payload.config.routes.graphQL}`\n\n const user = (await req.payload.findByID({\n id: req.user.id,\n collection: collection.config.slug,\n depth: isGraphQL ? 0 : collection.config.auth.depth,\n overrideAccess: false,\n req,\n showHiddenFields: false,\n })) as User\n\n if (req.user.collection !== collection.config.slug) {\n return {\n user: null,\n }\n }\n\n delete user.collection\n\n result = {\n collection: req.user.collection,\n user,\n }\n\n if (currentToken) {\n const decoded = jwt.decode(currentToken) as jwt.JwtPayload\n if (decoded) result.exp = decoded.exp\n result.token = currentToken\n }\n }\n\n // /////////////////////////////////////\n // After Me - Collection\n // /////////////////////////////////////\n\n await collection.config.hooks.afterMe.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collection?.config,\n context: req.context,\n req,\n response: result,\n })) || result\n }, Promise.resolve())\n\n return result\n}\n"],"names":["jwt","meOperation","collection","currentToken","req","result","user","pathname","isGraphQL","payload","config","routes","graphQL","findByID","id","slug","depth","auth","overrideAccess","showHiddenFields","decoded","decode","exp","token","hooks","afterMe","reduce","priorHook","hook","context","response","Promise","resolve"],"mappings":"AAAA,OAAOA,SAAS,eAAc;AAmB9B,OAAO,MAAMC,cAAc,OAAO,EAChCC,UAAU,EACVC,YAAY,EACZC,GAAG,EACO;IACV,IAAIC,SAA4B;QAC9BC,MAAM;IACR;IAEA,IAAIF,IAAIE,IAAI,EAAE;QACZ,MAAM,EAAEC,QAAQ,EAAE,GAAGH;QACrB,MAAMI,YAAYD,aAAa,CAAC,IAAI,EAAEH,IAAIK,OAAO,CAACC,MAAM,CAACC,MAAM,CAACC,OAAO,CAAC,CAAC;QAEzE,MAAMN,OAAQ,MAAMF,IAAIK,OAAO,CAACI,QAAQ,CAAC;YACvCC,IAAIV,IAAIE,IAAI,CAACQ,EAAE;YACfZ,YAAYA,WAAWQ,MAAM,CAACK,IAAI;YAClCC,OAAOR,YAAY,IAAIN,WAAWQ,MAAM,CAACO,IAAI,CAACD,KAAK;YACnDE,gBAAgB;YAChBd;YACAe,kBAAkB;QACpB;QAEA,IAAIf,IAAIE,IAAI,CAACJ,UAAU,KAAKA,WAAWQ,MAAM,CAACK,IAAI,EAAE;YAClD,OAAO;gBACLT,MAAM;YACR;QACF;QAEA,OAAOA,KAAKJ,UAAU;QAEtBG,SAAS;YACPH,YAAYE,IAAIE,IAAI,CAACJ,UAAU;YAC/BI;QACF;QAEA,IAAIH,cAAc;YAChB,MAAMiB,UAAUpB,IAAIqB,MAAM,CAAClB;YAC3B,IAAIiB,SAASf,OAAOiB,GAAG,GAAGF,QAAQE,GAAG;YACrCjB,OAAOkB,KAAK,GAAGpB;QACjB;IACF;IAEA,wCAAwC;IACxC,wBAAwB;IACxB,wCAAwC;IAExC,MAAMD,WAAWQ,MAAM,CAACc,KAAK,CAACC,OAAO,CAACC,MAAM,CAAC,OAAOC,WAAWC;QAC7D,MAAMD;QAENtB,SACE,AAAC,MAAMuB,KAAK;YACV1B,YAAYA,YAAYQ;YACxBmB,SAASzB,IAAIyB,OAAO;YACpBzB;YACA0B,UAAUzB;QACZ,MAAOA;IACX,GAAG0B,QAAQC,OAAO;IAElB,OAAO3B;AACT,EAAC"}
|
|
@@ -17,13 +17,5 @@ export type Result<T> = {
|
|
|
17
17
|
token?: string;
|
|
18
18
|
user?: T;
|
|
19
19
|
};
|
|
20
|
-
export declare const registerFirstUserOperation: <TSlug extends string | number | symbol>(args: Arguments<
|
|
21
|
-
[slug: string]: import("../../collections/config/types.js").TypeWithID & Record<string, unknown>;
|
|
22
|
-
[slug: number]: import("../../collections/config/types.js").TypeWithID & Record<string, unknown>;
|
|
23
|
-
[slug: symbol]: import("../../collections/config/types.js").TypeWithID & Record<string, unknown>;
|
|
24
|
-
}[TSlug]>) => Promise<Result<{
|
|
25
|
-
[slug: string]: import("../../collections/config/types.js").TypeWithID & Record<string, unknown>;
|
|
26
|
-
[slug: number]: import("../../collections/config/types.js").TypeWithID & Record<string, unknown>;
|
|
27
|
-
[slug: symbol]: import("../../collections/config/types.js").TypeWithID & Record<string, unknown>;
|
|
28
|
-
}[TSlug]>>;
|
|
20
|
+
export declare const registerFirstUserOperation: <TSlug extends string | number | symbol>(args: Arguments<GeneratedTypes['collections'][TSlug]>) => Promise<Result<GeneratedTypes['collections'][TSlug]>>;
|
|
29
21
|
//# sourceMappingURL=registerFirstUser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerFirstUser.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/registerFirstUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAO1D,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;IAChF,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,GAAG;QAClE,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,CAAC,CAAA;CACT,CAAA;AAED,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"registerFirstUser.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/registerFirstUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAO1D,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;IAChF,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,GAAG;QAClE,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,CAAC,CAAA;CACT,CAAA;AAED,eAAO,MAAM,0BAA0B,iDAC/B,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KACpD,QAAQ,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAoEtD,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import jwt from 'jsonwebtoken';
|
|
2
1
|
import httpStatus from 'http-status';
|
|
2
|
+
import jwt from 'jsonwebtoken';
|
|
3
3
|
import { APIError } from '../../errors/index.js';
|
|
4
4
|
import { commitTransaction } from '../../utilities/commitTransaction.js';
|
|
5
5
|
import { initTransaction } from '../../utilities/initTransaction.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/resetPassword.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/resetPassword.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport jwt from 'jsonwebtoken'\n\nimport type { Collection } from '../../collections/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport { APIError } from '../../errors/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getFieldsToSign } from '../getFieldsToSign.js'\nimport { authenticateLocalStrategy } from '../strategies/local/authenticate.js'\nimport { generatePasswordSaltHash } from '../strategies/local/generatePasswordSaltHash.js'\n\nexport type Result = {\n token?: string\n user: Record<string, unknown>\n}\n\nexport type Arguments = {\n collection: Collection\n data: {\n password: string\n token: string\n }\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n}\n\nexport const resetPasswordOperation = async (args: Arguments): Promise<Result> => {\n if (\n !Object.prototype.hasOwnProperty.call(args.data, 'token') ||\n !Object.prototype.hasOwnProperty.call(args.data, 'password')\n ) {\n throw new APIError('Missing required data.', httpStatus.BAD_REQUEST)\n }\n\n const {\n collection: { config: collectionConfig },\n data,\n depth,\n overrideAccess,\n req: {\n payload: { secret },\n payload,\n },\n req,\n } = args\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // Reset Password\n // /////////////////////////////////////\n\n const user = await payload.db.findOne<any>({\n collection: collectionConfig.slug,\n req,\n where: {\n resetPasswordExpiration: { greater_than: new Date() },\n resetPasswordToken: { equals: data.token },\n },\n })\n\n if (!user) throw new APIError('Token is either invalid or has expired.', httpStatus.FORBIDDEN)\n\n // TODO: replace this method\n const { hash, salt } = await generatePasswordSaltHash({ password: data.password })\n\n user.salt = salt\n user.hash = hash\n\n user.resetPasswordExpiration = new Date().toISOString()\n\n if (collectionConfig.auth.verify) {\n user._verified = true\n }\n\n const doc = await payload.db.updateOne({\n id: user.id,\n collection: collectionConfig.slug,\n data: user,\n req,\n })\n\n await authenticateLocalStrategy({ doc, password: data.password })\n\n const fieldsToSign = getFieldsToSign({\n collectionConfig,\n email: user.email,\n user,\n })\n\n const token = jwt.sign(fieldsToSign, secret, {\n expiresIn: collectionConfig.auth.tokenExpiration,\n })\n\n const fullUser = await payload.findByID({\n id: user.id,\n collection: collectionConfig.slug,\n depth,\n overrideAccess,\n req,\n })\n if (shouldCommit) await commitTransaction(req)\n\n const result = {\n token,\n user: fullUser,\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n\nexport default resetPasswordOperation\n"],"names":["httpStatus","jwt","APIError","commitTransaction","initTransaction","killTransaction","getFieldsToSign","authenticateLocalStrategy","generatePasswordSaltHash","resetPasswordOperation","args","Object","prototype","hasOwnProperty","call","data","BAD_REQUEST","collection","config","collectionConfig","depth","overrideAccess","req","payload","secret","shouldCommit","user","db","findOne","slug","where","resetPasswordExpiration","greater_than","Date","resetPasswordToken","equals","token","FORBIDDEN","hash","salt","password","toISOString","auth","verify","_verified","doc","updateOne","id","fieldsToSign","email","sign","expiresIn","tokenExpiration","fullUser","findByID","result","error"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,OAAOC,SAAS,eAAc;AAK9B,SAASC,QAAQ,QAAQ,wBAAuB;AAChD,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,wBAAuB;AACvD,SAASC,yBAAyB,QAAQ,sCAAqC;AAC/E,SAASC,wBAAwB,QAAQ,kDAAiD;AAkB1F,OAAO,MAAMC,yBAAyB,OAAOC;IAC3C,IACE,CAACC,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,KAAKK,IAAI,EAAE,YACjD,CAACJ,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,KAAKK,IAAI,EAAE,aACjD;QACA,MAAM,IAAIb,SAAS,0BAA0BF,WAAWgB,WAAW;IACrE;IAEA,MAAM,EACJC,YAAY,EAAEC,QAAQC,gBAAgB,EAAE,EACxCJ,IAAI,EACJK,KAAK,EACLC,cAAc,EACdC,KAAK,EACHC,SAAS,EAAEC,MAAM,EAAE,EACnBD,OAAO,EACR,EACDD,GAAG,EACJ,GAAGZ;IAEJ,IAAI;QACF,MAAMe,eAAe,MAAMrB,gBAAgBkB;QAE3C,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,MAAMI,OAAO,MAAMH,QAAQI,EAAE,CAACC,OAAO,CAAM;YACzCX,YAAYE,iBAAiBU,IAAI;YACjCP;YACAQ,OAAO;gBACLC,yBAAyB;oBAAEC,cAAc,IAAIC;gBAAO;gBACpDC,oBAAoB;oBAAEC,QAAQpB,KAAKqB,KAAK;gBAAC;YAC3C;QACF;QAEA,IAAI,CAACV,MAAM,MAAM,IAAIxB,SAAS,2CAA2CF,WAAWqC,SAAS;QAE7F,4BAA4B;QAC5B,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAG,MAAM/B,yBAAyB;YAAEgC,UAAUzB,KAAKyB,QAAQ;QAAC;QAEhFd,KAAKa,IAAI,GAAGA;QACZb,KAAKY,IAAI,GAAGA;QAEZZ,KAAKK,uBAAuB,GAAG,IAAIE,OAAOQ,WAAW;QAErD,IAAItB,iBAAiBuB,IAAI,CAACC,MAAM,EAAE;YAChCjB,KAAKkB,SAAS,GAAG;QACnB;QAEA,MAAMC,MAAM,MAAMtB,QAAQI,EAAE,CAACmB,SAAS,CAAC;YACrCC,IAAIrB,KAAKqB,EAAE;YACX9B,YAAYE,iBAAiBU,IAAI;YACjCd,MAAMW;YACNJ;QACF;QAEA,MAAMf,0BAA0B;YAAEsC;YAAKL,UAAUzB,KAAKyB,QAAQ;QAAC;QAE/D,MAAMQ,eAAe1C,gBAAgB;YACnCa;YACA8B,OAAOvB,KAAKuB,KAAK;YACjBvB;QACF;QAEA,MAAMU,QAAQnC,IAAIiD,IAAI,CAACF,cAAcxB,QAAQ;YAC3C2B,WAAWhC,iBAAiBuB,IAAI,CAACU,eAAe;QAClD;QAEA,MAAMC,WAAW,MAAM9B,QAAQ+B,QAAQ,CAAC;YACtCP,IAAIrB,KAAKqB,EAAE;YACX9B,YAAYE,iBAAiBU,IAAI;YACjCT;YACAC;YACAC;QACF;QACA,IAAIG,cAAc,MAAMtB,kBAAkBmB;QAE1C,MAAMiC,SAAS;YACbnB;YACAV,MAAM2B;QACR;QAEA,OAAOE;IACT,EAAE,OAAOC,OAAgB;QACvB,MAAMnD,gBAAgBiB;QACtB,MAAMkC;IACR;AACF,EAAC;AAED,eAAe/C,uBAAsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/apiKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAElF,OAAO,KAAK,EAAE,oBAAoB,EAAQ,MAAM,aAAa,CAAA;AAE7D,eAAO,MAAM,oBAAoB,qBACZ,yBAAyB,KAAG,
|
|
1
|
+
{"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/apiKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAElF,OAAO,KAAK,EAAE,oBAAoB,EAAQ,MAAM,aAAa,CAAA;AAE7D,eAAO,MAAM,oBAAoB,qBACZ,yBAAyB,KAAG,oBAmD9C,CAAA"}
|
|
@@ -27,7 +27,9 @@ export const APIKeyAuthentication = (collectionConfig)=>async ({ headers, payloa
|
|
|
27
27
|
const userQuery = await payload.find({
|
|
28
28
|
collection: collectionConfig.slug,
|
|
29
29
|
depth: collectionConfig.auth.depth,
|
|
30
|
+
limit: 1,
|
|
30
31
|
overrideAccess: true,
|
|
32
|
+
pagination: false,
|
|
31
33
|
where
|
|
32
34
|
});
|
|
33
35
|
if (userQuery.docs && userQuery.docs.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/strategies/apiKey.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Where } from '../../exports/types.js'\nimport type { AuthStrategyFunction, User } from '../index.js'\n\nexport const APIKeyAuthentication =\n (collectionConfig: SanitizedCollectionConfig): AuthStrategyFunction =>\n async ({ headers, payload }) => {\n const authHeader = headers.get('Authorization')\n\n if (authHeader?.startsWith(`${collectionConfig.slug} API-Key `)) {\n const apiKey = authHeader.replace(`${collectionConfig.slug} API-Key `, '')\n const apiKeyIndex = crypto.createHmac('sha1', payload.secret).update(apiKey).digest('hex')\n\n try {\n const where: Where = {}\n if (collectionConfig.auth?.verify) {\n where.and = [\n {\n apiKeyIndex: {\n equals: apiKeyIndex,\n },\n },\n {\n _verified: {\n not_equals: false,\n },\n },\n ]\n } else {\n where.apiKeyIndex = {\n equals: apiKeyIndex,\n }\n }\n\n const userQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: collectionConfig.auth.depth,\n overrideAccess: true,\n where,\n })\n\n if (userQuery.docs && userQuery.docs.length > 0) {\n const user = userQuery.docs[0]\n user.collection = collectionConfig.slug\n user._strategy = 'api-key'\n\n return user as User\n }\n } catch (err) {\n return null\n }\n }\n\n return null\n }\n"],"names":["crypto","APIKeyAuthentication","collectionConfig","headers","payload","authHeader","get","startsWith","slug","apiKey","replace","apiKeyIndex","createHmac","secret","update","digest","where","auth","verify","and","equals","_verified","not_equals","userQuery","find","collection","depth","overrideAccess","docs","length","user","_strategy","err"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAM3B,OAAO,MAAMC,uBACX,CAACC,mBACD,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAE;QACzB,MAAMC,aAAaF,QAAQG,GAAG,CAAC;QAE/B,IAAID,YAAYE,WAAW,CAAC,EAAEL,iBAAiBM,IAAI,CAAC,SAAS,CAAC,GAAG;YAC/D,MAAMC,SAASJ,WAAWK,OAAO,CAAC,CAAC,EAAER,iBAAiBM,IAAI,CAAC,SAAS,CAAC,EAAE;YACvE,MAAMG,cAAcX,OAAOY,UAAU,CAAC,QAAQR,QAAQS,MAAM,EAAEC,MAAM,CAACL,QAAQM,MAAM,CAAC;YAEpF,IAAI;gBACF,MAAMC,QAAe,CAAC;gBACtB,IAAId,iBAAiBe,IAAI,EAAEC,QAAQ;oBACjCF,MAAMG,GAAG,GAAG;wBACV;4BACER,aAAa;gCACXS,QAAQT;4BACV;wBACF;wBACA;4BACEU,WAAW;gCACTC,YAAY;4BACd;wBACF;qBACD;gBACH,OAAO;oBACLN,MAAML,WAAW,GAAG;wBAClBS,QAAQT;oBACV;gBACF;gBAEA,MAAMY,YAAY,MAAMnB,QAAQoB,IAAI,CAAC;oBACnCC,YAAYvB,iBAAiBM,IAAI;oBACjCkB,OAAOxB,iBAAiBe,IAAI,CAACS,KAAK;oBAClCC,gBAAgB;
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/strategies/apiKey.ts"],"sourcesContent":["import crypto from 'crypto'\n\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Where } from '../../exports/types.js'\nimport type { AuthStrategyFunction, User } from '../index.js'\n\nexport const APIKeyAuthentication =\n (collectionConfig: SanitizedCollectionConfig): AuthStrategyFunction =>\n async ({ headers, payload }) => {\n const authHeader = headers.get('Authorization')\n\n if (authHeader?.startsWith(`${collectionConfig.slug} API-Key `)) {\n const apiKey = authHeader.replace(`${collectionConfig.slug} API-Key `, '')\n const apiKeyIndex = crypto.createHmac('sha1', payload.secret).update(apiKey).digest('hex')\n\n try {\n const where: Where = {}\n if (collectionConfig.auth?.verify) {\n where.and = [\n {\n apiKeyIndex: {\n equals: apiKeyIndex,\n },\n },\n {\n _verified: {\n not_equals: false,\n },\n },\n ]\n } else {\n where.apiKeyIndex = {\n equals: apiKeyIndex,\n }\n }\n\n const userQuery = await payload.find({\n collection: collectionConfig.slug,\n depth: collectionConfig.auth.depth,\n limit: 1,\n overrideAccess: true,\n pagination: false,\n where,\n })\n\n if (userQuery.docs && userQuery.docs.length > 0) {\n const user = userQuery.docs[0]\n user.collection = collectionConfig.slug\n user._strategy = 'api-key'\n\n return user as User\n }\n } catch (err) {\n return null\n }\n }\n\n return null\n }\n"],"names":["crypto","APIKeyAuthentication","collectionConfig","headers","payload","authHeader","get","startsWith","slug","apiKey","replace","apiKeyIndex","createHmac","secret","update","digest","where","auth","verify","and","equals","_verified","not_equals","userQuery","find","collection","depth","limit","overrideAccess","pagination","docs","length","user","_strategy","err"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAM3B,OAAO,MAAMC,uBACX,CAACC,mBACD,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAE;QACzB,MAAMC,aAAaF,QAAQG,GAAG,CAAC;QAE/B,IAAID,YAAYE,WAAW,CAAC,EAAEL,iBAAiBM,IAAI,CAAC,SAAS,CAAC,GAAG;YAC/D,MAAMC,SAASJ,WAAWK,OAAO,CAAC,CAAC,EAAER,iBAAiBM,IAAI,CAAC,SAAS,CAAC,EAAE;YACvE,MAAMG,cAAcX,OAAOY,UAAU,CAAC,QAAQR,QAAQS,MAAM,EAAEC,MAAM,CAACL,QAAQM,MAAM,CAAC;YAEpF,IAAI;gBACF,MAAMC,QAAe,CAAC;gBACtB,IAAId,iBAAiBe,IAAI,EAAEC,QAAQ;oBACjCF,MAAMG,GAAG,GAAG;wBACV;4BACER,aAAa;gCACXS,QAAQT;4BACV;wBACF;wBACA;4BACEU,WAAW;gCACTC,YAAY;4BACd;wBACF;qBACD;gBACH,OAAO;oBACLN,MAAML,WAAW,GAAG;wBAClBS,QAAQT;oBACV;gBACF;gBAEA,MAAMY,YAAY,MAAMnB,QAAQoB,IAAI,CAAC;oBACnCC,YAAYvB,iBAAiBM,IAAI;oBACjCkB,OAAOxB,iBAAiBe,IAAI,CAACS,KAAK;oBAClCC,OAAO;oBACPC,gBAAgB;oBAChBC,YAAY;oBACZb;gBACF;gBAEA,IAAIO,UAAUO,IAAI,IAAIP,UAAUO,IAAI,CAACC,MAAM,GAAG,GAAG;oBAC/C,MAAMC,OAAOT,UAAUO,IAAI,CAAC,EAAE;oBAC9BE,KAAKP,UAAU,GAAGvB,iBAAiBM,IAAI;oBACvCwB,KAAKC,SAAS,GAAG;oBAEjB,OAAOD;gBACT;YACF,EAAE,OAAOE,KAAK;gBACZ,OAAO;YACT;QACF;QAEA,OAAO;IACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incrementLoginAttempts.d.ts","sourceRoot":"","sources":["../../../../src/auth/strategies/local/incrementLoginAttempts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,CAAA;IACrC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,sBAAsB,uCAKhC,IAAI,KAAG,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"incrementLoginAttempts.d.ts","sourceRoot":"","sources":["../../../../src/auth/strategies/local/incrementLoginAttempts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,CAAA;IACrC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,sBAAsB,uCAKhC,IAAI,KAAG,QAAQ,IAAI,CA0CrB,CAAA"}
|
|
@@ -11,6 +11,7 @@ export const incrementLoginAttempts = async ({ collection, doc, payload, req })=
|
|
|
11
11
|
lockUntil: null,
|
|
12
12
|
loginAttempts: 1
|
|
13
13
|
},
|
|
14
|
+
depth: 0,
|
|
14
15
|
req
|
|
15
16
|
});
|
|
16
17
|
}
|
|
@@ -28,6 +29,7 @@ export const incrementLoginAttempts = async ({ collection, doc, payload, req })=
|
|
|
28
29
|
id: doc.id,
|
|
29
30
|
collection: collection.slug,
|
|
30
31
|
data,
|
|
32
|
+
depth: 0,
|
|
31
33
|
req
|
|
32
34
|
});
|
|
33
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/auth/strategies/local/incrementLoginAttempts.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../../../collections/config/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig\n doc: TypeWithID & Record<string, unknown>\n payload: Payload\n req: PayloadRequest\n}\n\nexport const incrementLoginAttempts = async ({\n collection,\n doc,\n payload,\n req,\n}: Args): Promise<void> => {\n const {\n auth: { lockTime, maxLoginAttempts },\n } = collection\n\n if ('lockUntil' in doc && typeof doc.lockUntil === 'string') {\n const lockUntil = new Date(doc.lockUntil).getTime()\n\n // Expired lock, restart count at 1\n if (lockUntil < Date.now()) {\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n lockUntil: null,\n loginAttempts: 1,\n },\n req,\n })\n }\n\n return\n }\n\n const data: Record<string, unknown> = {\n loginAttempts: Number(doc.loginAttempts) + 1,\n }\n\n // Lock the account if at max attempts and not already locked\n if (typeof doc.loginAttempts === 'number' && doc.loginAttempts + 1 >= maxLoginAttempts) {\n const lockUntil = new Date(Date.now() + lockTime)\n data.lockUntil = lockUntil\n }\n\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data,\n req,\n })\n}\n"],"names":["incrementLoginAttempts","collection","doc","payload","req","auth","lockTime","maxLoginAttempts","lockUntil","Date","getTime","now","update","id","slug","data","loginAttempts","Number"],"mappings":"AAWA,OAAO,MAAMA,yBAAyB,OAAO,EAC3CC,UAAU,EACVC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,MAAM,EACJC,MAAM,EAAEC,QAAQ,EAAEC,gBAAgB,EAAE,EACrC,GAAGN;IAEJ,IAAI,eAAeC,OAAO,OAAOA,IAAIM,SAAS,KAAK,UAAU;QAC3D,MAAMA,YAAY,IAAIC,KAAKP,IAAIM,SAAS,EAAEE,OAAO;QAEjD,mCAAmC;QACnC,IAAIF,YAAYC,KAAKE,GAAG,IAAI;YAC1B,MAAMR,QAAQS,MAAM,CAAC;gBACnBC,IAAIX,IAAIW,EAAE;gBACVZ,YAAYA,WAAWa,IAAI;gBAC3BC,MAAM;oBACJP,WAAW;oBACXQ,eAAe;gBACjB;
|
|
1
|
+
{"version":3,"sources":["../../../../src/auth/strategies/local/incrementLoginAttempts.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../../../collections/config/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig\n doc: TypeWithID & Record<string, unknown>\n payload: Payload\n req: PayloadRequest\n}\n\nexport const incrementLoginAttempts = async ({\n collection,\n doc,\n payload,\n req,\n}: Args): Promise<void> => {\n const {\n auth: { lockTime, maxLoginAttempts },\n } = collection\n\n if ('lockUntil' in doc && typeof doc.lockUntil === 'string') {\n const lockUntil = new Date(doc.lockUntil).getTime()\n\n // Expired lock, restart count at 1\n if (lockUntil < Date.now()) {\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n lockUntil: null,\n loginAttempts: 1,\n },\n depth: 0,\n req,\n })\n }\n\n return\n }\n\n const data: Record<string, unknown> = {\n loginAttempts: Number(doc.loginAttempts) + 1,\n }\n\n // Lock the account if at max attempts and not already locked\n if (typeof doc.loginAttempts === 'number' && doc.loginAttempts + 1 >= maxLoginAttempts) {\n const lockUntil = new Date(Date.now() + lockTime)\n data.lockUntil = lockUntil\n }\n\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data,\n depth: 0,\n req,\n })\n}\n"],"names":["incrementLoginAttempts","collection","doc","payload","req","auth","lockTime","maxLoginAttempts","lockUntil","Date","getTime","now","update","id","slug","data","loginAttempts","depth","Number"],"mappings":"AAWA,OAAO,MAAMA,yBAAyB,OAAO,EAC3CC,UAAU,EACVC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,MAAM,EACJC,MAAM,EAAEC,QAAQ,EAAEC,gBAAgB,EAAE,EACrC,GAAGN;IAEJ,IAAI,eAAeC,OAAO,OAAOA,IAAIM,SAAS,KAAK,UAAU;QAC3D,MAAMA,YAAY,IAAIC,KAAKP,IAAIM,SAAS,EAAEE,OAAO;QAEjD,mCAAmC;QACnC,IAAIF,YAAYC,KAAKE,GAAG,IAAI;YAC1B,MAAMR,QAAQS,MAAM,CAAC;gBACnBC,IAAIX,IAAIW,EAAE;gBACVZ,YAAYA,WAAWa,IAAI;gBAC3BC,MAAM;oBACJP,WAAW;oBACXQ,eAAe;gBACjB;gBACAC,OAAO;gBACPb;YACF;QACF;QAEA;IACF;IAEA,MAAMW,OAAgC;QACpCC,eAAeE,OAAOhB,IAAIc,aAAa,IAAI;IAC7C;IAEA,6DAA6D;IAC7D,IAAI,OAAOd,IAAIc,aAAa,KAAK,YAAYd,IAAIc,aAAa,GAAG,KAAKT,kBAAkB;QACtF,MAAMC,YAAY,IAAIC,KAAKA,KAAKE,GAAG,KAAKL;QACxCS,KAAKP,SAAS,GAAGA;IACnB;IAEA,MAAML,QAAQS,MAAM,CAAC;QACnBC,IAAIX,IAAIW,EAAE;QACVZ,YAAYA,WAAWa,IAAI;QAC3BC;QACAE,OAAO;QACPb;IACF;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/auth/strategies/local/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAK7D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,CAAA;IACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,qBAAqB,iDAM/B,IAAI,KAAG,QAAQ,OAAO,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/auth/strategies/local/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAK7D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,CAAA;IACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,qBAAqB,iDAM/B,IAAI,KAAG,QAAQ,OAAO,MAAM,EAAE,OAAO,CAAC,CAkCxC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/auth/strategies/local/register.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../../../collections/config/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\nimport { ValidationError } from '../../../errors/index.js'\nimport { generatePasswordSaltHash } from './generatePasswordSaltHash.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig\n doc: Record<string, unknown>\n password: string\n payload: Payload\n req: PayloadRequest\n}\n\nexport const registerLocalStrategy = async ({\n collection,\n doc,\n password,\n payload,\n req,\n}: Args): Promise<Record<string, unknown>> => {\n const existingUser = await payload.find({\n collection: collection.slug,\n depth: 0,\n where: {\n email: {\n equals: doc.email,\n },\n },\n })\n\n if (existingUser.docs.length > 0) {\n throw new ValidationError([\n { field: 'email', message: 'A user with the given email is already registered' },\n ])\n }\n\n const { hash, salt } = await generatePasswordSaltHash({ password })\n\n const sanitizedDoc = { ...doc }\n if (sanitizedDoc.password) delete sanitizedDoc.password\n\n return payload.db.create({\n collection: collection.slug,\n data: {\n ...sanitizedDoc,\n hash,\n salt,\n },\n req,\n })\n}\n"],"names":["ValidationError","generatePasswordSaltHash","registerLocalStrategy","collection","doc","password","payload","req","existingUser","find","slug","depth","where","email","equals","docs","length","field","message","hash","salt","sanitizedDoc","db","create","data"],"mappings":"AAIA,SAASA,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,wBAAwB,QAAQ,gCAA+B;AAUxE,OAAO,MAAMC,wBAAwB,OAAO,EAC1CC,UAAU,EACVC,GAAG,EACHC,QAAQ,EACRC,OAAO,EACPC,GAAG,EACE;IACL,MAAMC,eAAe,MAAMF,QAAQG,IAAI,CAAC;QACtCN,YAAYA,WAAWO,IAAI;QAC3BC,OAAO;QACPC,OAAO;YACLC,OAAO;gBACLC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/auth/strategies/local/register.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../../../collections/config/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\nimport { ValidationError } from '../../../errors/index.js'\nimport { generatePasswordSaltHash } from './generatePasswordSaltHash.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig\n doc: Record<string, unknown>\n password: string\n payload: Payload\n req: PayloadRequest\n}\n\nexport const registerLocalStrategy = async ({\n collection,\n doc,\n password,\n payload,\n req,\n}: Args): Promise<Record<string, unknown>> => {\n const existingUser = await payload.find({\n collection: collection.slug,\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n where: {\n email: {\n equals: doc.email,\n },\n },\n })\n\n if (existingUser.docs.length > 0) {\n throw new ValidationError([\n { field: 'email', message: 'A user with the given email is already registered' },\n ])\n }\n\n const { hash, salt } = await generatePasswordSaltHash({ password })\n\n const sanitizedDoc = { ...doc }\n if (sanitizedDoc.password) delete sanitizedDoc.password\n\n return payload.db.create({\n collection: collection.slug,\n data: {\n ...sanitizedDoc,\n hash,\n salt,\n },\n req,\n })\n}\n"],"names":["ValidationError","generatePasswordSaltHash","registerLocalStrategy","collection","doc","password","payload","req","existingUser","find","slug","depth","limit","pagination","where","email","equals","docs","length","field","message","hash","salt","sanitizedDoc","db","create","data"],"mappings":"AAIA,SAASA,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,wBAAwB,QAAQ,gCAA+B;AAUxE,OAAO,MAAMC,wBAAwB,OAAO,EAC1CC,UAAU,EACVC,GAAG,EACHC,QAAQ,EACRC,OAAO,EACPC,GAAG,EACE;IACL,MAAMC,eAAe,MAAMF,QAAQG,IAAI,CAAC;QACtCN,YAAYA,WAAWO,IAAI;QAC3BC,OAAO;QACPC,OAAO;QACPC,YAAY;QACZN;QACAO,OAAO;YACLC,OAAO;gBACLC,QAAQZ,IAAIW,KAAK;YACnB;QACF;IACF;IAEA,IAAIP,aAAaS,IAAI,CAACC,MAAM,GAAG,GAAG;QAChC,MAAM,IAAIlB,gBAAgB;YACxB;gBAAEmB,OAAO;gBAASC,SAAS;YAAoD;SAChF;IACH;IAEA,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAG,MAAMrB,yBAAyB;QAAEI;IAAS;IAEjE,MAAMkB,eAAe;QAAE,GAAGnB,GAAG;IAAC;IAC9B,IAAImB,aAAalB,QAAQ,EAAE,OAAOkB,aAAalB,QAAQ;IAEvD,OAAOC,QAAQkB,EAAE,CAACC,MAAM,CAAC;QACvBtB,YAAYA,WAAWO,IAAI;QAC3BgB,MAAM;YACJ,GAAGH,YAAY;YACfF;YACAC;QACF;QACAf;IACF;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resetLoginAttempts.d.ts","sourceRoot":"","sources":["../../../../src/auth/strategies/local/resetLoginAttempts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,CAAA;IACrC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,kBAAkB,uCAK5B,IAAI,KAAG,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"resetLoginAttempts.d.ts","sourceRoot":"","sources":["../../../../src/auth/strategies/local/resetLoginAttempts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,yBAAyB,CAAA;IACrC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,kBAAkB,uCAK5B,IAAI,KAAG,QAAQ,IAAI,CAarB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/auth/strategies/local/resetLoginAttempts.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../../../collections/config/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig\n doc: TypeWithID & Record<string, unknown>\n payload: Payload\n req: PayloadRequest\n}\n\nexport const resetLoginAttempts = async ({\n collection,\n doc,\n payload,\n req,\n}: Args): Promise<void> => {\n if (!('lockUntil' in doc && typeof doc.lockUntil === 'string') || doc.loginAttempts === 0) return\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n lockUntil: null,\n loginAttempts: 0,\n },\n overrideAccess: true,\n req,\n })\n}\n"],"names":["resetLoginAttempts","collection","doc","payload","req","lockUntil","loginAttempts","update","id","slug","data","overrideAccess"],"mappings":"AAWA,OAAO,MAAMA,qBAAqB,OAAO,EACvCC,UAAU,EACVC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,IAAI,CAAE,CAAA,eAAeF,OAAO,OAAOA,IAAIG,SAAS,KAAK,QAAO,KAAMH,IAAII,aAAa,KAAK,GAAG;IAC3F,MAAMH,QAAQI,MAAM,CAAC;QACnBC,IAAIN,IAAIM,EAAE;QACVP,YAAYA,WAAWQ,IAAI;QAC3BC,MAAM;YACJL,WAAW;YACXC,eAAe;QACjB;QACAK,gBAAgB;
|
|
1
|
+
{"version":3,"sources":["../../../../src/auth/strategies/local/resetLoginAttempts.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, TypeWithID } from '../../../collections/config/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\ntype Args = {\n collection: SanitizedCollectionConfig\n doc: TypeWithID & Record<string, unknown>\n payload: Payload\n req: PayloadRequest\n}\n\nexport const resetLoginAttempts = async ({\n collection,\n doc,\n payload,\n req,\n}: Args): Promise<void> => {\n if (!('lockUntil' in doc && typeof doc.lockUntil === 'string') || doc.loginAttempts === 0) return\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n lockUntil: null,\n loginAttempts: 0,\n },\n depth: 0,\n overrideAccess: true,\n req,\n })\n}\n"],"names":["resetLoginAttempts","collection","doc","payload","req","lockUntil","loginAttempts","update","id","slug","data","depth","overrideAccess"],"mappings":"AAWA,OAAO,MAAMA,qBAAqB,OAAO,EACvCC,UAAU,EACVC,GAAG,EACHC,OAAO,EACPC,GAAG,EACE;IACL,IAAI,CAAE,CAAA,eAAeF,OAAO,OAAOA,IAAIG,SAAS,KAAK,QAAO,KAAMH,IAAII,aAAa,KAAK,GAAG;IAC3F,MAAMH,QAAQI,MAAM,CAAC;QACnBC,IAAIN,IAAIM,EAAE;QACVP,YAAYA,WAAWQ,IAAI;QAC3BC,MAAM;YACJL,WAAW;YACXC,eAAe;QACjB;QACAK,OAAO;QACPC,gBAAgB;QAChBR;IACF;AACF,EAAC"}
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -55,11 +55,16 @@ export type Permissions = {
|
|
|
55
55
|
};
|
|
56
56
|
};
|
|
57
57
|
export type User = {
|
|
58
|
-
[key: string]:
|
|
58
|
+
[key: string]: any;
|
|
59
59
|
collection: string;
|
|
60
60
|
email: string;
|
|
61
61
|
id: string;
|
|
62
62
|
};
|
|
63
|
+
/**
|
|
64
|
+
* `collection` is not available one the client. It's only available on the server (req.user)
|
|
65
|
+
* On the client, you can access the collection via config.admin.user. Config can be accessed using the useConfig() hook
|
|
66
|
+
*/
|
|
67
|
+
export type ClientUser = Omit<User, 'collection'>;
|
|
63
68
|
type GenerateVerifyEmailHTML = (args: {
|
|
64
69
|
req: PayloadRequest;
|
|
65
70
|
token: string;
|
package/dist/auth/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9D,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG;YACnB,MAAM,EAAE;gBACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;aACtC,CAAA;SACF,CAAA;KACF,CAAA;IACD,MAAM,EAAE;QACN,UAAU,EAAE,OAAO,CAAA;KACpB,CAAA;IACD,MAAM,CAAC,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACtC,CAAA;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,OAAO,CAAA;KACpB,CAAA;IACD,MAAM,EAAE;QACN,UAAU,EAAE,OAAO,CAAA;KACpB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACtC,CAAA;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,CAAC,EAAE,UAAU,CAAA;IACzB,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACtC,CAAA;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,CAAC,EAAE,UAAU,CAAA;IACzB,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,gBAAgB,CAAA;AACzE,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,EAAE;QACX,CAAC,cAAc,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAC/C,CAAA;IACD,OAAO,CAAC,EAAE;QACR,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACvC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auth/types.ts"],"sourcesContent":["import type { DeepRequired } from 'ts-essentials'\n\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\n\nexport type Permission = {\n permission: boolean\n where?: Record<string, unknown>\n}\n\nexport type FieldPermissions = {\n blocks?: {\n [blockSlug: string]: {\n fields: {\n [fieldName: string]: FieldPermissions\n }\n }\n }\n create: {\n permission: boolean\n }\n fields?: {\n [fieldName: string]: FieldPermissions\n }\n read: {\n permission: boolean\n }\n update: {\n permission: boolean\n }\n}\n\nexport type CollectionPermission = {\n create: Permission\n delete: Permission\n fields: {\n [fieldName: string]: FieldPermissions\n }\n read: Permission\n readVersions?: Permission\n update: Permission\n}\n\nexport type GlobalPermission = {\n fields: {\n [fieldName: string]: FieldPermissions\n }\n read: Permission\n readVersions?: Permission\n update: Permission\n}\n\nexport type DocumentPermissions = CollectionPermission | GlobalPermission\nexport type Permissions = {\n canAccessAdmin: boolean\n collections: {\n [collectionSlug: string]: CollectionPermission\n }\n globals?: {\n [globalSlug: string]: GlobalPermission\n }\n}\n\nexport type User = {\n [key: string]:
|
|
1
|
+
{"version":3,"sources":["../../src/auth/types.ts"],"sourcesContent":["import type { DeepRequired } from 'ts-essentials'\n\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\n\nexport type Permission = {\n permission: boolean\n where?: Record<string, unknown>\n}\n\nexport type FieldPermissions = {\n blocks?: {\n [blockSlug: string]: {\n fields: {\n [fieldName: string]: FieldPermissions\n }\n }\n }\n create: {\n permission: boolean\n }\n fields?: {\n [fieldName: string]: FieldPermissions\n }\n read: {\n permission: boolean\n }\n update: {\n permission: boolean\n }\n}\n\nexport type CollectionPermission = {\n create: Permission\n delete: Permission\n fields: {\n [fieldName: string]: FieldPermissions\n }\n read: Permission\n readVersions?: Permission\n update: Permission\n}\n\nexport type GlobalPermission = {\n fields: {\n [fieldName: string]: FieldPermissions\n }\n read: Permission\n readVersions?: Permission\n update: Permission\n}\n\nexport type DocumentPermissions = CollectionPermission | GlobalPermission\nexport type Permissions = {\n canAccessAdmin: boolean\n collections: {\n [collectionSlug: string]: CollectionPermission\n }\n globals?: {\n [globalSlug: string]: GlobalPermission\n }\n}\n\nexport type User = {\n [key: string]: any // This NEEDS to be an any, otherwise it breaks the Omit for ClientUser below\n collection: string\n email: string\n id: string\n}\n\n/**\n * `collection` is not available one the client. It's only available on the server (req.user)\n * On the client, you can access the collection via config.admin.user. Config can be accessed using the useConfig() hook\n */\nexport type ClientUser = Omit<User, 'collection'>\n\ntype GenerateVerifyEmailHTML = (args: {\n req: PayloadRequest\n token: string\n user: any\n}) => Promise<string> | string\ntype GenerateVerifyEmailSubject = (args: {\n req: PayloadRequest\n token: string\n user: any\n}) => Promise<string> | string\n\ntype GenerateForgotPasswordEmailHTML = (args?: {\n req?: PayloadRequest\n token?: string\n user?: unknown\n}) => Promise<string> | string\ntype GenerateForgotPasswordEmailSubject = (args?: {\n req?: PayloadRequest\n token?: string\n user?: any\n}) => Promise<string> | string\n\nexport type AuthStrategyFunctionArgs = {\n cookies?: Map<string, string>\n headers: Request['headers']\n isGraphQL?: boolean\n payload: Payload\n}\nexport type AuthStrategyFunction = ({\n headers,\n isGraphQL,\n payload,\n}: AuthStrategyFunctionArgs) => Promise<User | null> | User | null\nexport type AuthStrategy = {\n authenticate: AuthStrategyFunction\n name: string\n}\n\nexport interface IncomingAuthType {\n cookies?: {\n domain?: string\n sameSite?: 'Lax' | 'None' | 'Strict' | boolean\n secure?: boolean\n }\n depth?: number\n disableLocalStrategy?: true\n forgotPassword?: {\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n }\n lockTime?: number\n maxLoginAttempts?: number\n removeTokenFromResponses?: true\n strategies?: AuthStrategy[]\n tokenExpiration?: number\n useAPIKey?: boolean\n verify?:\n | {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n }\n | boolean\n}\n\nexport type VerifyConfig = {\n generateEmailHTML?: GenerateVerifyEmailHTML\n generateEmailSubject?: GenerateVerifyEmailSubject\n}\n\nexport interface Auth extends Omit<DeepRequired<IncomingAuthType>, 'forgotPassword' | 'verify'> {\n forgotPassword?: {\n generateEmailHTML?: GenerateForgotPasswordEmailHTML\n generateEmailSubject?: GenerateForgotPasswordEmailSubject\n }\n verify?: VerifyConfig | boolean\n}\n\nexport function hasWhereAccessResult(result: Where | boolean): result is Where {\n return result && typeof result === 'object'\n}\n"],"names":["hasWhereAccessResult","result"],"mappings":"AAyJA,OAAO,SAASA,qBAAqBC,MAAuB;IAC1D,OAAOA,UAAU,OAAOA,WAAW;AACrC"}
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import type { LivePreviewConfig, ServerOnlyLivePreviewProperties } from '../../config/types.js';
|
|
2
|
+
import type { SanitizedCollectionConfig } from '../../exports/types.js';
|
|
3
|
+
export type ServerOnlyCollectionProperties = keyof Pick<SanitizedCollectionConfig, 'access' | 'endpoints' | 'hooks'>;
|
|
4
|
+
export type ServerOnlyCollectionAdminProperties = keyof Pick<SanitizedCollectionConfig['admin'], 'components' | 'hidden' | 'preview'>;
|
|
5
|
+
export type ClientCollectionConfig = Omit<SanitizedCollectionConfig, 'admin' | 'fields' | ServerOnlyCollectionProperties> & {
|
|
6
|
+
admin: Omit<SanitizedCollectionConfig['admin'], ServerOnlyCollectionAdminProperties & 'fields' & 'livePreview'> & {
|
|
7
|
+
livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>;
|
|
8
|
+
};
|
|
9
|
+
fields: ClientFieldConfig[];
|
|
10
|
+
};
|
|
11
|
+
import type { ClientFieldConfig } from '../../fields/config/client.js';
|
|
12
|
+
export declare const createClientCollectionConfig: (collection: SanitizedCollectionConfig) => {
|
|
13
|
+
auth: import("packages/payload/src/auth/types.js").Auth;
|
|
14
|
+
endpoints: false | import("../../config/types.js").Endpoint[];
|
|
15
|
+
fields: import("packages/payload/src/fields/config/types.js").Field[];
|
|
16
|
+
upload: import("packages/payload/src/uploads/types.js").SanitizedUploadConfig;
|
|
17
|
+
versions: import("packages/payload/src/versions/types.js").SanitizedCollectionVersions;
|
|
18
|
+
admin: {
|
|
19
|
+
components: {
|
|
20
|
+
AfterList: import("react").ComponentType<any>[];
|
|
21
|
+
AfterListTable: import("react").ComponentType<any>[];
|
|
22
|
+
BeforeList: import("react").ComponentType<any>[];
|
|
23
|
+
BeforeListTable: import("react").ComponentType<any>[];
|
|
24
|
+
edit: {
|
|
25
|
+
PreviewButton: import("packages/payload/src/admin/elements/PreviewButton.js").CustomPreviewButtonProps;
|
|
26
|
+
PublishButton: import("packages/payload/src/admin/elements/PublishButton.js").CustomPublishButtonProps;
|
|
27
|
+
SaveButton: import("packages/payload/src/admin/elements/SaveButton.js").CustomSaveButtonProps;
|
|
28
|
+
SaveDraftButton: import("packages/payload/src/admin/elements/SaveDraftButton.js").CustomSaveDraftButtonProps;
|
|
29
|
+
};
|
|
30
|
+
views: {
|
|
31
|
+
Edit: import("../../config/types.js").EditViewComponent | {
|
|
32
|
+
API: import("../../config/types.js").EditViewComponent | {
|
|
33
|
+
Tab: import("packages/payload/src/admin/elements/Tab.js").DocumentTabComponent | {
|
|
34
|
+
Pill: import("react").ComponentType<{}>;
|
|
35
|
+
condition: import("packages/payload/src/admin/elements/Tab.js").DocumentTabCondition;
|
|
36
|
+
href: string | ((args: {
|
|
37
|
+
apiURL: string;
|
|
38
|
+
collection: SanitizedCollectionConfig;
|
|
39
|
+
global: import("packages/payload/src/globals/config/types.js").SanitizedGlobalConfig;
|
|
40
|
+
id?: string;
|
|
41
|
+
routes: {
|
|
42
|
+
admin: string;
|
|
43
|
+
api: string;
|
|
44
|
+
graphQL: string;
|
|
45
|
+
graphQLPlayground: string;
|
|
46
|
+
};
|
|
47
|
+
}) => string);
|
|
48
|
+
isActive: boolean | ((args: {
|
|
49
|
+
href: string;
|
|
50
|
+
}) => boolean);
|
|
51
|
+
label: string | ((args: {
|
|
52
|
+
t: (key: string) => string;
|
|
53
|
+
}) => string);
|
|
54
|
+
newTab: boolean;
|
|
55
|
+
};
|
|
56
|
+
path: string;
|
|
57
|
+
} | {
|
|
58
|
+
Component: import("../../config/types.js").EditViewComponent;
|
|
59
|
+
path: string;
|
|
60
|
+
} | {
|
|
61
|
+
actions: import("react").ComponentType<any>[];
|
|
62
|
+
};
|
|
63
|
+
Default: import("../../config/types.js").EditViewComponent | {
|
|
64
|
+
Tab: import("packages/payload/src/admin/elements/Tab.js").DocumentTabComponent | {
|
|
65
|
+
Pill: import("react").ComponentType<{}>;
|
|
66
|
+
condition: import("packages/payload/src/admin/elements/Tab.js").DocumentTabCondition;
|
|
67
|
+
href: string | ((args: {
|
|
68
|
+
apiURL: string;
|
|
69
|
+
collection: SanitizedCollectionConfig;
|
|
70
|
+
global: import("packages/payload/src/globals/config/types.js").SanitizedGlobalConfig;
|
|
71
|
+
id?: string;
|
|
72
|
+
routes: {
|
|
73
|
+
admin: string;
|
|
74
|
+
api: string;
|
|
75
|
+
graphQL: string;
|
|
76
|
+
graphQLPlayground: string;
|
|
77
|
+
};
|
|
78
|
+
}) => string);
|
|
79
|
+
isActive: boolean | ((args: {
|
|
80
|
+
href: string;
|
|
81
|
+
}) => boolean);
|
|
82
|
+
label: string | ((args: {
|
|
83
|
+
t: (key: string) => string;
|
|
84
|
+
}) => string);
|
|
85
|
+
newTab: boolean;
|
|
86
|
+
};
|
|
87
|
+
path: string;
|
|
88
|
+
} | {
|
|
89
|
+
Component: import("../../config/types.js").EditViewComponent;
|
|
90
|
+
path: string;
|
|
91
|
+
} | {
|
|
92
|
+
actions: import("react").ComponentType<any>[];
|
|
93
|
+
};
|
|
94
|
+
LivePreview: import("../../config/types.js").EditViewComponent | {
|
|
95
|
+
Tab: import("packages/payload/src/admin/elements/Tab.js").DocumentTabComponent | {
|
|
96
|
+
Pill: import("react").ComponentType<{}>;
|
|
97
|
+
condition: import("packages/payload/src/admin/elements/Tab.js").DocumentTabCondition;
|
|
98
|
+
href: string | ((args: {
|
|
99
|
+
apiURL: string;
|
|
100
|
+
collection: SanitizedCollectionConfig;
|
|
101
|
+
global: import("packages/payload/src/globals/config/types.js").SanitizedGlobalConfig;
|
|
102
|
+
id?: string;
|
|
103
|
+
routes: {
|
|
104
|
+
admin: string;
|
|
105
|
+
api: string;
|
|
106
|
+
graphQL: string;
|
|
107
|
+
graphQLPlayground: string;
|
|
108
|
+
};
|
|
109
|
+
}) => string);
|
|
110
|
+
isActive: boolean | ((args: {
|
|
111
|
+
href: string;
|
|
112
|
+
}) => boolean);
|
|
113
|
+
label: string | ((args: {
|
|
114
|
+
t: (key: string) => string;
|
|
115
|
+
}) => string);
|
|
116
|
+
newTab: boolean;
|
|
117
|
+
};
|
|
118
|
+
path: string;
|
|
119
|
+
} | {
|
|
120
|
+
Component: import("../../config/types.js").EditViewComponent;
|
|
121
|
+
path: string;
|
|
122
|
+
} | {
|
|
123
|
+
actions: import("react").ComponentType<any>[];
|
|
124
|
+
};
|
|
125
|
+
Version: import("../../config/types.js").EditViewComponent | {
|
|
126
|
+
Tab: import("packages/payload/src/admin/elements/Tab.js").DocumentTabComponent | {
|
|
127
|
+
Pill: import("react").ComponentType<{}>;
|
|
128
|
+
condition: import("packages/payload/src/admin/elements/Tab.js").DocumentTabCondition;
|
|
129
|
+
href: string | ((args: {
|
|
130
|
+
apiURL: string;
|
|
131
|
+
collection: SanitizedCollectionConfig;
|
|
132
|
+
global: import("packages/payload/src/globals/config/types.js").SanitizedGlobalConfig;
|
|
133
|
+
id?: string;
|
|
134
|
+
routes: {
|
|
135
|
+
admin: string;
|
|
136
|
+
api: string;
|
|
137
|
+
graphQL: string;
|
|
138
|
+
graphQLPlayground: string;
|
|
139
|
+
};
|
|
140
|
+
}) => string);
|
|
141
|
+
isActive: boolean | ((args: {
|
|
142
|
+
href: string;
|
|
143
|
+
}) => boolean);
|
|
144
|
+
label: string | ((args: {
|
|
145
|
+
t: (key: string) => string;
|
|
146
|
+
}) => string);
|
|
147
|
+
newTab: boolean;
|
|
148
|
+
};
|
|
149
|
+
path: string;
|
|
150
|
+
} | {
|
|
151
|
+
Component: import("../../config/types.js").EditViewComponent;
|
|
152
|
+
path: string;
|
|
153
|
+
} | {
|
|
154
|
+
actions: import("react").ComponentType<any>[];
|
|
155
|
+
};
|
|
156
|
+
Versions: import("../../config/types.js").EditViewComponent | {
|
|
157
|
+
Tab: import("packages/payload/src/admin/elements/Tab.js").DocumentTabComponent | {
|
|
158
|
+
Pill: import("react").ComponentType<{}>;
|
|
159
|
+
condition: import("packages/payload/src/admin/elements/Tab.js").DocumentTabCondition;
|
|
160
|
+
href: string | ((args: {
|
|
161
|
+
apiURL: string;
|
|
162
|
+
collection: SanitizedCollectionConfig;
|
|
163
|
+
global: import("packages/payload/src/globals/config/types.js").SanitizedGlobalConfig;
|
|
164
|
+
id?: string;
|
|
165
|
+
routes: {
|
|
166
|
+
admin: string;
|
|
167
|
+
api: string;
|
|
168
|
+
graphQL: string;
|
|
169
|
+
graphQLPlayground: string;
|
|
170
|
+
};
|
|
171
|
+
}) => string);
|
|
172
|
+
isActive: boolean | ((args: {
|
|
173
|
+
href: string;
|
|
174
|
+
}) => boolean);
|
|
175
|
+
label: string | ((args: {
|
|
176
|
+
t: (key: string) => string;
|
|
177
|
+
}) => string);
|
|
178
|
+
newTab: boolean;
|
|
179
|
+
};
|
|
180
|
+
path: string;
|
|
181
|
+
} | {
|
|
182
|
+
Component: import("../../config/types.js").EditViewComponent;
|
|
183
|
+
path: string;
|
|
184
|
+
} | {
|
|
185
|
+
actions: import("react").ComponentType<any>[];
|
|
186
|
+
};
|
|
187
|
+
} | {
|
|
188
|
+
[x: string]: {
|
|
189
|
+
Tab: import("packages/payload/src/admin/elements/Tab.js").DocumentTabComponent | {
|
|
190
|
+
Pill: import("react").ComponentType<{}>;
|
|
191
|
+
condition: import("packages/payload/src/admin/elements/Tab.js").DocumentTabCondition;
|
|
192
|
+
href: string | ((args: {
|
|
193
|
+
apiURL: string;
|
|
194
|
+
collection: SanitizedCollectionConfig;
|
|
195
|
+
global: import("packages/payload/src/globals/config/types.js").SanitizedGlobalConfig;
|
|
196
|
+
id?: string;
|
|
197
|
+
routes: {
|
|
198
|
+
admin: string;
|
|
199
|
+
api: string;
|
|
200
|
+
graphQL: string;
|
|
201
|
+
graphQLPlayground: string;
|
|
202
|
+
};
|
|
203
|
+
}) => string);
|
|
204
|
+
isActive: boolean | ((args: {
|
|
205
|
+
href: string;
|
|
206
|
+
}) => boolean);
|
|
207
|
+
label: string | ((args: {
|
|
208
|
+
t: (key: string) => string;
|
|
209
|
+
}) => string);
|
|
210
|
+
newTab: boolean;
|
|
211
|
+
};
|
|
212
|
+
path: string;
|
|
213
|
+
} | {
|
|
214
|
+
Component: import("../../config/types.js").EditViewComponent;
|
|
215
|
+
path: string;
|
|
216
|
+
} | {
|
|
217
|
+
actions: import("react").ComponentType<any>[];
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
List: import("react").ComponentType<any> | {
|
|
221
|
+
Component: import("react").ComponentType<any>;
|
|
222
|
+
actions: import("react").ComponentType<any>[];
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
defaultColumns: string[];
|
|
227
|
+
description: string | import("react").ComponentType<any> | (() => string) | {
|
|
228
|
+
[x: string]: string;
|
|
229
|
+
};
|
|
230
|
+
disableDuplicate: boolean;
|
|
231
|
+
enableRichTextLink: boolean;
|
|
232
|
+
enableRichTextRelationship: boolean;
|
|
233
|
+
group: string | {
|
|
234
|
+
[x: string]: string;
|
|
235
|
+
};
|
|
236
|
+
hidden: boolean | ((args: {
|
|
237
|
+
user: import("packages/payload/src/auth/types.js").ClientUser;
|
|
238
|
+
}) => boolean);
|
|
239
|
+
hideAPIURL: boolean;
|
|
240
|
+
listSearchableFields: string[];
|
|
241
|
+
livePreview: {
|
|
242
|
+
breakpoints: {
|
|
243
|
+
height: string | number;
|
|
244
|
+
label: string;
|
|
245
|
+
name: string;
|
|
246
|
+
width: string | number;
|
|
247
|
+
}[];
|
|
248
|
+
url: string | ((args: {
|
|
249
|
+
data: Record<string, any>;
|
|
250
|
+
documentInfo: any;
|
|
251
|
+
locale: import("../../config/types.js").Locale;
|
|
252
|
+
}) => string | Promise<string>);
|
|
253
|
+
};
|
|
254
|
+
pagination: {
|
|
255
|
+
defaultLimit: number;
|
|
256
|
+
limits: number[];
|
|
257
|
+
};
|
|
258
|
+
preview: import("../../config/types.js").GeneratePreviewURL;
|
|
259
|
+
useAsTitle: string;
|
|
260
|
+
};
|
|
261
|
+
custom: {
|
|
262
|
+
[x: string]: any;
|
|
263
|
+
};
|
|
264
|
+
graphQL: false | {
|
|
265
|
+
pluralName: string;
|
|
266
|
+
singularName: string;
|
|
267
|
+
};
|
|
268
|
+
hooks: {
|
|
269
|
+
afterChange: import("packages/payload/src/collections/config/types.js").AfterChangeHook<any>[];
|
|
270
|
+
afterDelete: import("packages/payload/src/collections/config/types.js").AfterDeleteHook<any>[];
|
|
271
|
+
afterError: import("packages/payload/src/collections/config/types.js").AfterErrorHook;
|
|
272
|
+
afterForgotPassword: import("packages/payload/src/collections/config/types.js").AfterForgotPasswordHook[];
|
|
273
|
+
afterLogin: import("packages/payload/src/collections/config/types.js").AfterLoginHook<any>[];
|
|
274
|
+
afterLogout: import("packages/payload/src/collections/config/types.js").AfterLogoutHook<any>[];
|
|
275
|
+
afterMe: import("packages/payload/src/collections/config/types.js").AfterMeHook<any>[];
|
|
276
|
+
afterOperation: import("packages/payload/src/collections/config/types.js").AfterOperationHook<any>[];
|
|
277
|
+
afterRead: import("packages/payload/src/collections/config/types.js").AfterReadHook<any>[];
|
|
278
|
+
afterRefresh: import("packages/payload/src/collections/config/types.js").AfterRefreshHook<any>[];
|
|
279
|
+
beforeChange: import("packages/payload/src/collections/config/types.js").BeforeChangeHook<any>[];
|
|
280
|
+
beforeDelete: import("packages/payload/src/collections/config/types.js").BeforeDeleteHook[];
|
|
281
|
+
beforeLogin: import("packages/payload/src/collections/config/types.js").BeforeLoginHook<any>[];
|
|
282
|
+
beforeOperation: import("packages/payload/src/collections/config/types.js").BeforeOperationHook[];
|
|
283
|
+
beforeRead: import("packages/payload/src/collections/config/types.js").BeforeReadHook<any>[];
|
|
284
|
+
beforeValidate: import("packages/payload/src/collections/config/types.js").BeforeValidateHook<any>[];
|
|
285
|
+
};
|
|
286
|
+
typescript: {
|
|
287
|
+
interface: string;
|
|
288
|
+
};
|
|
289
|
+
access: {
|
|
290
|
+
admin: (args?: any) => boolean | Promise<boolean>;
|
|
291
|
+
create: import("../../config/types.js").Access;
|
|
292
|
+
delete: import("../../config/types.js").Access;
|
|
293
|
+
read: import("../../config/types.js").Access;
|
|
294
|
+
readVersions: import("../../config/types.js").Access;
|
|
295
|
+
unlock: import("../../config/types.js").Access;
|
|
296
|
+
update: import("../../config/types.js").Access;
|
|
297
|
+
};
|
|
298
|
+
defaultSort: string;
|
|
299
|
+
labels: {
|
|
300
|
+
plural: string | {
|
|
301
|
+
[x: string]: string;
|
|
302
|
+
};
|
|
303
|
+
singular: string | {
|
|
304
|
+
[x: string]: string;
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
slug: string;
|
|
308
|
+
timestamps: boolean;
|
|
309
|
+
};
|
|
310
|
+
export declare const createClientCollectionConfigs: (collections: SanitizedCollectionConfig[]) => ClientCollectionConfig[];
|
|
311
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAC/F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAEvE,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,yBAAyB,EACzB,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CACpD,GAAG;IACF,KAAK,EAAE,IAAI,CACT,yBAAyB,CAAC,OAAO,CAAC,EAClC,mCAAmC,GAAG,QAAQ,GAAG,aAAa,CAC/D,GAAG;QACF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAItE,eAAO,MAAM,4BAA4B,eAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDjF,CAAA;AAED,eAAO,MAAM,6BAA6B,gBAC3B,yBAAyB,EAAE,KACvC,sBAAsB,EACkD,CAAA"}
|