@dappermountain/payload-plugin-achievements 0.2.2 → 0.2.3
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/README.md +2 -0
- package/dist/access/index.d.ts +2 -2
- package/dist/access/index.d.ts.map +1 -1
- package/dist/access/index.js +2 -2
- package/dist/access/roles/index.d.ts +1 -1
- package/dist/access/roles/index.d.ts.map +1 -1
- package/dist/access/roles/index.js +4 -4
- package/dist/admin/ActorField.js +1 -1
- package/dist/admin/MetricChangeField.js +1 -1
- package/dist/admin/MetricField.js +1 -1
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/reconcile.d.ts +1 -1
- package/dist/cli/reconcile.d.ts.map +1 -1
- package/dist/cli/reconcile.js +1 -1
- package/dist/collections/AchievementRequests/access/index.js +2 -2
- package/dist/collections/AchievementRequests/hooks/index.js +1 -1
- package/dist/collections/AchievementRequests/hooks/prepareAchievementRequest.js +5 -5
- package/dist/collections/AchievementRequests/index.js +4 -4
- package/dist/collections/Achievements/access/index.js +1 -1
- package/dist/collections/Achievements/hooks/afterRequiresReviewDisabled.js +1 -1
- package/dist/collections/Achievements/hooks/index.js +2 -2
- package/dist/collections/Achievements/hooks/validateEligibilityRules.js +1 -1
- package/dist/collections/Achievements/index.js +4 -4
- package/dist/collections/EventTypes/access/index.js +1 -1
- package/dist/collections/EventTypes/hooks/index.js +2 -2
- package/dist/collections/EventTypes/index.js +4 -4
- package/dist/collections/Grants/access/index.js +2 -2
- package/dist/collections/Grants/hooks/afterGrantMutation.js +3 -3
- package/dist/collections/Grants/hooks/ensureUniqueGrant.js +2 -2
- package/dist/collections/Grants/hooks/index.js +3 -3
- package/dist/collections/Grants/hooks/setGrantTitle.js +2 -2
- package/dist/collections/Grants/index.js +5 -5
- package/dist/collections/Logs/access/index.js +2 -2
- package/dist/collections/Logs/fields/validators.js +2 -2
- package/dist/collections/Logs/hooks/ensureTypeRequirements.js +2 -2
- package/dist/collections/Logs/hooks/index.js +1 -1
- package/dist/collections/Logs/index.js +7 -7
- package/dist/collections/Metrics/access/index.js +1 -1
- package/dist/collections/Metrics/hooks/index.js +2 -2
- package/dist/collections/Metrics/index.js +4 -4
- package/dist/collections/TierRequests/access/index.js +2 -2
- package/dist/collections/TierRequests/hooks/index.js +1 -1
- package/dist/collections/TierRequests/hooks/prepareTierRequest.js +4 -4
- package/dist/collections/TierRequests/index.js +4 -4
- package/dist/collections/Tiers/access/index.js +1 -1
- package/dist/collections/Tiers/hooks/afterRequiresReviewDisabled.js +1 -1
- package/dist/collections/Tiers/hooks/index.js +2 -2
- package/dist/collections/Tiers/hooks/validateUnlockRules.js +1 -1
- package/dist/collections/Tiers/index.js +5 -5
- package/dist/collections/access/definitions.d.ts +1 -1
- package/dist/collections/access/definitions.d.ts.map +1 -1
- package/dist/collections/access/definitions.js +2 -2
- package/dist/collections/applyOverrides.d.ts +1 -1
- package/dist/collections/applyOverrides.d.ts.map +1 -1
- package/dist/collections/fields/catalogFilter.js +1 -1
- package/dist/collections/fields/index.d.ts +5 -5
- package/dist/collections/fields/index.d.ts.map +1 -1
- package/dist/collections/fields/index.js +5 -5
- package/dist/collections/fields/ruleFields.js +2 -2
- package/dist/collections/fields/scopeField.js +1 -1
- package/dist/collections/fields/userField.js +1 -1
- package/dist/collections/fields/usersAchievementsGroup.d.ts +1 -1
- package/dist/collections/fields/usersAchievementsGroup.d.ts.map +1 -1
- package/dist/collections/helpers.d.ts +1 -1
- package/dist/collections/helpers.d.ts.map +1 -1
- package/dist/collections/helpers.js +1 -1
- package/dist/collections/hooks/index.d.ts +3 -3
- package/dist/collections/hooks/index.d.ts.map +1 -1
- package/dist/collections/hooks/index.js +3 -3
- package/dist/collections/hooks/preventCatalogDelete.js +3 -3
- package/dist/collections/index.js +10 -10
- package/dist/collections/slugs.d.ts +1 -1
- package/dist/collections/slugs.d.ts.map +1 -1
- package/dist/defaults.d.ts +2 -2
- package/dist/defaults.d.ts.map +1 -1
- package/dist/defaults.js +1 -1
- package/dist/enabled.js +2 -2
- package/dist/endpoints/index.d.ts +1 -1
- package/dist/endpoints/index.d.ts.map +1 -1
- package/dist/endpoints/index.js +2 -2
- package/dist/endpoints/me.js +2 -2
- package/dist/endpoints/reconcile.js +3 -3
- package/dist/exports/client.d.ts +4 -4
- package/dist/exports/client.d.ts.map +1 -1
- package/dist/exports/client.js +4 -4
- package/dist/extensions/registry.d.ts +1 -1
- package/dist/extensions/registry.d.ts.map +1 -1
- package/dist/extensions/registry.js +2 -2
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/options-store.d.ts +2 -2
- package/dist/options-store.d.ts.map +1 -1
- package/dist/options-store.js +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +5 -5
- package/dist/seed/index.js +3 -3
- package/dist/services/achievement/buildCatalogProgressGroups.js +2 -2
- package/dist/services/achievement/builtInRules.d.ts +1 -1
- package/dist/services/achievement/builtInRules.d.ts.map +1 -1
- package/dist/services/achievement/builtInRules.js +5 -5
- package/dist/services/achievement/evaluateRules.js +2 -2
- package/dist/services/achievement/eventTypeRequiresActor.js +2 -2
- package/dist/services/achievement/getUserProgress.js +4 -4
- package/dist/services/achievement/grantSideEffects.d.ts +1 -1
- package/dist/services/achievement/grantSideEffects.d.ts.map +1 -1
- package/dist/services/achievement/grantSideEffects.js +9 -9
- package/dist/services/achievement/index.d.ts +21 -21
- package/dist/services/achievement/index.d.ts.map +1 -1
- package/dist/services/achievement/index.js +14 -14
- package/dist/services/achievement/reconcile.js +8 -8
- package/dist/services/achievement/recordEvent.js +8 -8
- package/dist/services/achievement/releaseReviewGate.js +2 -2
- package/dist/services/achievement/resolveCatalog.d.ts +1 -1
- package/dist/services/achievement/resolveCatalog.d.ts.map +1 -1
- package/dist/services/achievement/resolveCatalog.js +1 -1
- package/dist/services/achievement/resolveCurrentTier.js +4 -4
- package/dist/services/achievement/resolveTierProgress.d.ts +1 -1
- package/dist/services/achievement/resolveTierProgress.d.ts.map +1 -1
- package/dist/services/achievement/resolveTierProgress.js +4 -4
- package/dist/services/achievement/reviewAchievementRequest.js +3 -3
- package/dist/services/achievement/submitAchievementRequest.js +2 -2
- package/dist/services/achievement/tierApproval.js +1 -1
- package/dist/services/achievement/tierProgression.d.ts +1 -1
- package/dist/services/achievement/tierProgression.d.ts.map +1 -1
- package/dist/services/achievement/tierProgression.js +5 -5
- package/dist/services/achievement/validateRules.d.ts +1 -1
- package/dist/services/achievement/validateRules.d.ts.map +1 -1
- package/dist/services/achievement/validateRules.js +2 -2
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Field } from 'payload';
|
|
2
|
-
import type { ResolvedAchievementOptions } from '../../defaults';
|
|
2
|
+
import type { ResolvedAchievementOptions } from '../../defaults.js';
|
|
3
3
|
/**
|
|
4
4
|
* Group on the users collection: reverse joins into grants + requests.
|
|
5
5
|
* Nested JSON shape: `user.achievements.grants` / `.requests`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usersAchievementsGroup.d.ts","sourceRoot":"","sources":["../../../src/collections/fields/usersAchievementsGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"usersAchievementsGroup.d.ts","sourceRoot":"","sources":["../../../src/collections/fields/usersAchievementsGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAEnE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,KAAK,CAgCjF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CollectionConfig, Field } from 'payload';
|
|
2
|
-
import type { AchievementCollectionKey } from '../types';
|
|
2
|
+
import type { AchievementCollectionKey } from '../types.js';
|
|
3
3
|
/** Resolved slug for a logical achievement collection. */
|
|
4
4
|
export declare function slugOf(key: AchievementCollectionKey): string;
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/collections/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/collections/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAG3D,0DAA0D;AAC1D,wBAAgB,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,MAAM,CAE5D;AAED;;;GAGG;AAEH,wBAAgB,YAAY,CAAC,GAAG,EAAE,wBAAwB,GAAG,GAAG,CAE/D;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,KAAK,EAAE,CAElF;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGpE;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAC5C,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAMxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { eachRuleLeaf } from './eachRuleLeaf';
|
|
2
|
-
export { lockSystemCatalogFields } from './lockSystemCatalogFields';
|
|
3
|
-
export { preventCatalogDelete } from './preventCatalogDelete';
|
|
1
|
+
export { eachRuleLeaf } from './eachRuleLeaf.js';
|
|
2
|
+
export { lockSystemCatalogFields } from './lockSystemCatalogFields.js';
|
|
3
|
+
export { preventCatalogDelete } from './preventCatalogDelete.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { eachRuleLeaf } from './eachRuleLeaf';
|
|
2
|
-
export { lockSystemCatalogFields } from './lockSystemCatalogFields';
|
|
3
|
-
export { preventCatalogDelete } from './preventCatalogDelete';
|
|
1
|
+
export { eachRuleLeaf } from './eachRuleLeaf.js';
|
|
2
|
+
export { lockSystemCatalogFields } from './lockSystemCatalogFields.js';
|
|
3
|
+
export { preventCatalogDelete } from './preventCatalogDelete.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { APIError } from 'payload';
|
|
2
|
-
import { collectionOf } from '../helpers';
|
|
3
|
-
import { relationId } from '../../services/achievement/relationId';
|
|
4
|
-
import { eachRuleLeaf } from './eachRuleLeaf';
|
|
2
|
+
import { collectionOf } from '../helpers.js';
|
|
3
|
+
import { relationId } from '../../services/achievement/relationId.js';
|
|
4
|
+
import { eachRuleLeaf } from './eachRuleLeaf.js';
|
|
5
5
|
async function countMatchingLeaves(args) {
|
|
6
6
|
let count = 0;
|
|
7
7
|
const visit = (rule) => {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { getAchievementOptions } from '../options-store';
|
|
2
|
-
import { applyCollectionOverrides } from './applyOverrides';
|
|
3
|
-
import { buildAchievementRequestsCollection } from './AchievementRequests/index';
|
|
4
|
-
import { buildAchievementsCollection } from './Achievements/index';
|
|
5
|
-
import { buildEventTypesCollection } from './EventTypes/index';
|
|
6
|
-
import { buildGrantsCollection } from './Grants/index';
|
|
7
|
-
import { buildLogsCollection } from './Logs/index';
|
|
8
|
-
import { buildMetricsCollection } from './Metrics/index';
|
|
9
|
-
import { buildTierRequestsCollection } from './TierRequests/index';
|
|
10
|
-
import { buildTiersCollection } from './Tiers/index';
|
|
1
|
+
import { getAchievementOptions } from '../options-store.js';
|
|
2
|
+
import { applyCollectionOverrides } from './applyOverrides.js';
|
|
3
|
+
import { buildAchievementRequestsCollection } from './AchievementRequests/index.js';
|
|
4
|
+
import { buildAchievementsCollection } from './Achievements/index.js';
|
|
5
|
+
import { buildEventTypesCollection } from './EventTypes/index.js';
|
|
6
|
+
import { buildGrantsCollection } from './Grants/index.js';
|
|
7
|
+
import { buildLogsCollection } from './Logs/index.js';
|
|
8
|
+
import { buildMetricsCollection } from './Metrics/index.js';
|
|
9
|
+
import { buildTierRequestsCollection } from './TierRequests/index.js';
|
|
10
|
+
import { buildTiersCollection } from './Tiers/index.js';
|
|
11
11
|
const builders = {
|
|
12
12
|
metrics: buildMetricsCollection,
|
|
13
13
|
eventTypes: buildEventTypesCollection,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AchievementCollectionKey, AchievementPluginOptions } from '../types';
|
|
1
|
+
import type { AchievementCollectionKey, AchievementPluginOptions } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Default slug prefix — always applied unless a per-collection `slugs` override is set.
|
|
4
4
|
* Drives collection slug, REST `/api/{slug}`, and default DB table names.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slugs.d.ts","sourceRoot":"","sources":["../../src/collections/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"slugs.d.ts","sourceRoot":"","sources":["../../src/collections/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAErF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,gBAAgB,CAAA;AAEtD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CASlF,CAAA;AAED,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AAEjD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAkB1C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,MAAM,GAAG,KAAK,CAMxF"}
|
package/dist/defaults.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AchievementPluginOptions } from './types';
|
|
2
|
-
import { resolveCollectionSlugs } from './collections/slugs';
|
|
1
|
+
import type { AchievementPluginOptions } from './types.js';
|
|
2
|
+
import { resolveCollectionSlugs } from './collections/slugs.js';
|
|
3
3
|
export declare const DEFAULT_USERS_COLLECTION = "users";
|
|
4
4
|
export declare const DEFAULT_ME_ENDPOINT_PATH = "/achievements/me";
|
|
5
5
|
export declare const DEFAULT_RECONCILE_ENDPOINT_PATH = "/achievements/reconcile";
|
package/dist/defaults.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAEL,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAE/B,eAAO,MAAM,wBAAwB,UAAU,CAAA;AAC/C,eAAO,MAAM,wBAAwB,qBAAqB,CAAA;AAC1D,eAAO,MAAM,+BAA+B,4BAA4B,CAAA;AAExE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,WAAW,CAAC,GAAG;IAC/F,OAAO,EAAE,OAAO,CAAA;IAChB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAA;IAChC,+DAA+D;IAC/D,eAAe,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;IAC1D,oEAAoE;IACpE,UAAU,EAAE,MAAM,GAAG,KAAK,CAAA;IAC1B,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAA;CAC7D,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAIzE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAIlF;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,wBAA6B,GAAG,0BAA0B,CAejG"}
|
package/dist/defaults.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveAdminGroup, resolveCollectionSlugs, } from './collections/slugs';
|
|
1
|
+
import { resolveAdminGroup, resolveCollectionSlugs, } from './collections/slugs.js';
|
|
2
2
|
export const DEFAULT_USERS_COLLECTION = 'users';
|
|
3
3
|
export const DEFAULT_ME_ENDPOINT_PATH = '/achievements/me';
|
|
4
4
|
export const DEFAULT_RECONCILE_ENDPOINT_PATH = '/achievements/reconcile';
|
package/dist/enabled.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { slugOf } from './collections/helpers';
|
|
2
|
-
import { getAchievementOptions } from './options-store';
|
|
1
|
+
import { slugOf } from './collections/helpers.js';
|
|
2
|
+
import { getAchievementOptions } from './options-store.js';
|
|
3
3
|
/** True when the plugin is opted in and its collections are on this Payload config. */
|
|
4
4
|
export function isAchievementPluginEnabled(payload) {
|
|
5
5
|
if (!getAchievementOptions().enabled)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Endpoint } from 'payload';
|
|
2
|
-
import type { ResolvedAchievementOptions } from '../defaults';
|
|
2
|
+
import type { ResolvedAchievementOptions } from '../defaults.js';
|
|
3
3
|
export declare function buildAchievementEndpoints(options: ResolvedAchievementOptions): Endpoint[];
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAIhE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,QAAQ,EAAE,CASzF"}
|
package/dist/endpoints/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { buildMeEndpoint } from './me';
|
|
2
|
-
import { buildReconcileEndpoint } from './reconcile';
|
|
1
|
+
import { buildMeEndpoint } from './me.js';
|
|
2
|
+
import { buildReconcileEndpoint } from './reconcile.js';
|
|
3
3
|
export function buildAchievementEndpoints(options) {
|
|
4
4
|
const endpoints = [];
|
|
5
5
|
if (options.endpoints.me !== false) {
|
package/dist/endpoints/me.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getUserId } from '../access/helpers/index';
|
|
2
|
-
import { getUserProgress } from '../services/achievement/getUserProgress';
|
|
1
|
+
import { getUserId } from '../access/helpers/index.js';
|
|
2
|
+
import { getUserProgress } from '../services/achievement/getUserProgress.js';
|
|
3
3
|
function requestUrl(req) {
|
|
4
4
|
return req.url ? new URL(req.url, 'http://local') : null;
|
|
5
5
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getUserId } from '../access/helpers/index';
|
|
2
|
-
import { getAchievementOptions } from '../options-store';
|
|
3
|
-
import { reconcileProgression } from '../services/achievement/reconcile';
|
|
1
|
+
import { getUserId } from '../access/helpers/index.js';
|
|
2
|
+
import { getAchievementOptions } from '../options-store.js';
|
|
3
|
+
import { reconcileProgression } from '../services/achievement/reconcile.js';
|
|
4
4
|
function requestUrl(req) {
|
|
5
5
|
return req.url ? new URL(req.url, 'http://local') : null;
|
|
6
6
|
}
|
package/dist/exports/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ActorField } from '../admin/ActorField';
|
|
2
|
-
export { MetricChangeField } from '../admin/MetricChangeField';
|
|
3
|
-
export { MetricField } from '../admin/MetricField';
|
|
4
|
-
export { ReconcileProgressionButton } from '../admin/ReconcileProgressionButton';
|
|
1
|
+
export { ActorField } from '../admin/ActorField.js';
|
|
2
|
+
export { MetricChangeField } from '../admin/MetricChangeField.js';
|
|
3
|
+
export { MetricField } from '../admin/MetricField.js';
|
|
4
|
+
export { ReconcileProgressionButton } from '../admin/ReconcileProgressionButton.js';
|
|
5
5
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA"}
|
package/dist/exports/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ActorField } from '../admin/ActorField';
|
|
2
|
-
export { MetricChangeField } from '../admin/MetricChangeField';
|
|
3
|
-
export { MetricField } from '../admin/MetricField';
|
|
4
|
-
export { ReconcileProgressionButton } from '../admin/ReconcileProgressionButton';
|
|
1
|
+
export { ActorField } from '../admin/ActorField.js';
|
|
2
|
+
export { MetricChangeField } from '../admin/MetricChangeField.js';
|
|
3
|
+
export { MetricField } from '../admin/MetricField.js';
|
|
4
|
+
export { ReconcileProgressionButton } from '../admin/ReconcileProgressionButton.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/extensions/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/extensions/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAItD,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CASjE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getAchievementOptions } from '../options-store';
|
|
2
|
-
import { builtInRuleTypes } from '../services/achievement/builtInRules';
|
|
1
|
+
import { getAchievementOptions } from '../options-store.js';
|
|
2
|
+
import { builtInRuleTypes } from '../services/achievement/builtInRules.js';
|
|
3
3
|
export function getRuleTypeMap() {
|
|
4
4
|
const map = new Map();
|
|
5
5
|
for (const rule of builtInRuleTypes) {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { DEFAULT_ACHIEVEMENT_METRIC, DEFAULT_ACHIEVEMENT_METRIC_SLUG, ENGINE_EVENT_TYPES, ENGINE_METRICS, } from './catalog';
|
|
2
|
-
export type { EngineEventTypeSlug, EngineMetricSlug } from './catalog';
|
|
3
|
-
export { achievementPlugin } from './plugin';
|
|
4
|
-
export { seedAchievementCatalog, seedAchievements } from './seed/index';
|
|
5
|
-
export type { AchievementSeedAchievement, AchievementSeedCatalogRow, AchievementSeedInput, AchievementSeedLocalizedText, AchievementSeedTier, } from './seed/index';
|
|
6
|
-
export { evaluateRules, evaluateRuleProgress, collectAchievementCompleteRefs, buildCatalogProgressGroups, getUserProgress, grantAchievement, recordEvent, recordLog, recordMetricChange, reconcileProgression, reconcileUserProgression, releasePendingAchievementReviews, releasePendingTierReviews, resolveCurrentTier, resolveTierProgress, reviewAchievementRequest, submitAchievementRequest, syncTierChangedLog, syncTierProgression, syncCompositeProgression, catalogRef, transitionLogData, transitionToId, validateRuleGroup, validateRuleNode, } from './services/achievement/index';
|
|
7
|
-
export type { ResolvedTier, RuleGroup, TierLadderProgress, CatalogProgressGroup, CatalogProgressItem, CatalogRef, TransitionLogData, ReconcileProgressionArgs, ReconcileProgressionResult, ReleaseReviewGateResult, } from './services/achievement/index';
|
|
8
|
-
export type { BuiltInEventType, BuiltInRuleType, AchievementCollectionKey, AchievementCollectionOverride, AchievementCollectionsOptions, AchievementEndpointsOptions, AchievementPluginOptions, AchievementRuleType, AchievementScopeConfig, AchievementUsersOptions, } from './types';
|
|
9
|
-
export { DEFAULT_COLLECTION_BASE_SLUGS, DEFAULT_COLLECTION_PREFIX, DEFAULT_ADMIN_GROUP } from './collections/slugs';
|
|
10
|
-
export { DEFAULT_ME_ENDPOINT_PATH, DEFAULT_RECONCILE_ENDPOINT_PATH } from './defaults';
|
|
11
|
-
export { collectionOf, slugOf } from './collections/helpers';
|
|
12
|
-
export { isAchievementPluginEnabled } from './enabled';
|
|
1
|
+
export { DEFAULT_ACHIEVEMENT_METRIC, DEFAULT_ACHIEVEMENT_METRIC_SLUG, ENGINE_EVENT_TYPES, ENGINE_METRICS, } from './catalog.js';
|
|
2
|
+
export type { EngineEventTypeSlug, EngineMetricSlug } from './catalog.js';
|
|
3
|
+
export { achievementPlugin } from './plugin.js';
|
|
4
|
+
export { seedAchievementCatalog, seedAchievements } from './seed/index.js';
|
|
5
|
+
export type { AchievementSeedAchievement, AchievementSeedCatalogRow, AchievementSeedInput, AchievementSeedLocalizedText, AchievementSeedTier, } from './seed/index.js';
|
|
6
|
+
export { evaluateRules, evaluateRuleProgress, collectAchievementCompleteRefs, buildCatalogProgressGroups, getUserProgress, grantAchievement, recordEvent, recordLog, recordMetricChange, reconcileProgression, reconcileUserProgression, releasePendingAchievementReviews, releasePendingTierReviews, resolveCurrentTier, resolveTierProgress, reviewAchievementRequest, submitAchievementRequest, syncTierChangedLog, syncTierProgression, syncCompositeProgression, catalogRef, transitionLogData, transitionToId, validateRuleGroup, validateRuleNode, } from './services/achievement/index.js';
|
|
7
|
+
export type { ResolvedTier, RuleGroup, TierLadderProgress, CatalogProgressGroup, CatalogProgressItem, CatalogRef, TransitionLogData, ReconcileProgressionArgs, ReconcileProgressionResult, ReleaseReviewGateResult, } from './services/achievement/index.js';
|
|
8
|
+
export type { BuiltInEventType, BuiltInRuleType, AchievementCollectionKey, AchievementCollectionOverride, AchievementCollectionsOptions, AchievementEndpointsOptions, AchievementPluginOptions, AchievementRuleType, AchievementScopeConfig, AchievementUsersOptions, } from './types.js';
|
|
9
|
+
export { DEFAULT_COLLECTION_BASE_SLUGS, DEFAULT_COLLECTION_PREFIX, DEFAULT_ADMIN_GROUP } from './collections/slugs.js';
|
|
10
|
+
export { DEFAULT_ME_ENDPOINT_PATH, DEFAULT_RECONCILE_ENDPOINT_PATH } from './defaults.js';
|
|
11
|
+
export { collectionOf, slugOf } from './collections/helpers.js';
|
|
12
|
+
export { isAchievementPluginEnabled } from './enabled.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EAClB,cAAc,GACf,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EAClB,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,gCAAgC,EAChC,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,iCAAiC,CAAA;AACxC,YAAY,EACV,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AACxC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACtH,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { DEFAULT_ACHIEVEMENT_METRIC, DEFAULT_ACHIEVEMENT_METRIC_SLUG, ENGINE_EVENT_TYPES, ENGINE_METRICS, } from './catalog';
|
|
2
|
-
export { achievementPlugin } from './plugin';
|
|
3
|
-
export { seedAchievementCatalog, seedAchievements } from './seed/index';
|
|
4
|
-
export { evaluateRules, evaluateRuleProgress, collectAchievementCompleteRefs, buildCatalogProgressGroups, getUserProgress, grantAchievement, recordEvent, recordLog, recordMetricChange, reconcileProgression, reconcileUserProgression, releasePendingAchievementReviews, releasePendingTierReviews, resolveCurrentTier, resolveTierProgress, reviewAchievementRequest, submitAchievementRequest, syncTierChangedLog, syncTierProgression, syncCompositeProgression, catalogRef, transitionLogData, transitionToId, validateRuleGroup, validateRuleNode, } from './services/achievement/index';
|
|
5
|
-
export { DEFAULT_COLLECTION_BASE_SLUGS, DEFAULT_COLLECTION_PREFIX, DEFAULT_ADMIN_GROUP } from './collections/slugs';
|
|
6
|
-
export { DEFAULT_ME_ENDPOINT_PATH, DEFAULT_RECONCILE_ENDPOINT_PATH } from './defaults';
|
|
7
|
-
export { collectionOf, slugOf } from './collections/helpers';
|
|
8
|
-
export { isAchievementPluginEnabled } from './enabled';
|
|
1
|
+
export { DEFAULT_ACHIEVEMENT_METRIC, DEFAULT_ACHIEVEMENT_METRIC_SLUG, ENGINE_EVENT_TYPES, ENGINE_METRICS, } from './catalog.js';
|
|
2
|
+
export { achievementPlugin } from './plugin.js';
|
|
3
|
+
export { seedAchievementCatalog, seedAchievements } from './seed/index.js';
|
|
4
|
+
export { evaluateRules, evaluateRuleProgress, collectAchievementCompleteRefs, buildCatalogProgressGroups, getUserProgress, grantAchievement, recordEvent, recordLog, recordMetricChange, reconcileProgression, reconcileUserProgression, releasePendingAchievementReviews, releasePendingTierReviews, resolveCurrentTier, resolveTierProgress, reviewAchievementRequest, submitAchievementRequest, syncTierChangedLog, syncTierProgression, syncCompositeProgression, catalogRef, transitionLogData, transitionToId, validateRuleGroup, validateRuleNode, } from './services/achievement/index.js';
|
|
5
|
+
export { DEFAULT_COLLECTION_BASE_SLUGS, DEFAULT_COLLECTION_PREFIX, DEFAULT_ADMIN_GROUP } from './collections/slugs.js';
|
|
6
|
+
export { DEFAULT_ME_ENDPOINT_PATH, DEFAULT_RECONCILE_ENDPOINT_PATH } from './defaults.js';
|
|
7
|
+
export { collectionOf, slugOf } from './collections/helpers.js';
|
|
8
|
+
export { isAchievementPluginEnabled } from './enabled.js';
|
package/dist/options-store.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AchievementPluginOptions } from './types';
|
|
2
|
-
import { type ResolvedAchievementOptions } from './defaults';
|
|
1
|
+
import type { AchievementPluginOptions } from './types.js';
|
|
2
|
+
import { type ResolvedAchievementOptions } from './defaults.js';
|
|
3
3
|
export declare function setAchievementOptions(options: AchievementPluginOptions): void;
|
|
4
4
|
/** Test helper — clears the process-wide options singleton. */
|
|
5
5
|
export declare function resetAchievementOptions(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options-store.d.ts","sourceRoot":"","sources":["../src/options-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"options-store.d.ts","sourceRoot":"","sources":["../src/options-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAkB,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAI/E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAE7E;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,qBAAqB,IAAI,0BAA0B,CAKlE"}
|
package/dist/options-store.js
CHANGED
package/dist/plugin.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Plugin } from 'payload';
|
|
2
|
-
import type { AchievementPluginOptions } from './types';
|
|
2
|
+
import type { AchievementPluginOptions } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Payload achievements plugin — merges collections (hooks own request/grant flow)
|
|
5
5
|
* and an optional current-user grants endpoint.
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC3B,UAAS,wBAA6B,KAAG,MA0BzC,CAAA"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { buildAchievementCollections } from './collections/index';
|
|
2
|
-
import { usersAchievementsGroup } from './collections/fields/usersAchievementsGroup';
|
|
3
|
-
import { resolveOptions } from './defaults';
|
|
4
|
-
import { buildAchievementEndpoints } from './endpoints/index';
|
|
5
|
-
import { setAchievementOptions } from './options-store';
|
|
1
|
+
import { buildAchievementCollections } from './collections/index.js';
|
|
2
|
+
import { usersAchievementsGroup } from './collections/fields/usersAchievementsGroup.js';
|
|
3
|
+
import { resolveOptions } from './defaults.js';
|
|
4
|
+
import { buildAchievementEndpoints } from './endpoints/index.js';
|
|
5
|
+
import { setAchievementOptions } from './options-store.js';
|
|
6
6
|
/**
|
|
7
7
|
* Payload achievements plugin — merges collections (hooks own request/grant flow)
|
|
8
8
|
* and an optional current-user grants endpoint.
|
package/dist/seed/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ENGINE_EVENT_TYPES, ENGINE_METRICS } from '../catalog';
|
|
2
|
-
import { collectionOf } from '../collections/helpers';
|
|
3
|
-
import { normalizeRuleGroup } from '../services/achievement/evaluateRules';
|
|
1
|
+
import { ENGINE_EVENT_TYPES, ENGINE_METRICS } from '../catalog.js';
|
|
2
|
+
import { collectionOf } from '../collections/helpers.js';
|
|
3
|
+
import { normalizeRuleGroup } from '../services/achievement/evaluateRules.js';
|
|
4
4
|
function localizedParts(value) {
|
|
5
5
|
if (value == null)
|
|
6
6
|
return {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { relationId } from './relationId';
|
|
2
|
-
import { collectAchievementCompleteRefs } from './evaluateRules';
|
|
1
|
+
import { relationId } from './relationId.js';
|
|
2
|
+
import { collectAchievementCompleteRefs } from './evaluateRules.js';
|
|
3
3
|
function grantKey(achievement) {
|
|
4
4
|
const id = relationId(achievement);
|
|
5
5
|
const slug = achievement && typeof achievement === 'object' && 'slug' in achievement
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtInRules.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/builtInRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"builtInRules.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/builtInRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AA2KlF,eAAO,MAAM,gBAAgB,EAAE,mBAAmB,EAiJjD,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { collectionOf } from '../../collections/helpers';
|
|
2
|
-
import { relationId } from './relationId';
|
|
3
|
-
import { userScopeIncludingUnscopedWhere, userScopeWhere } from './where';
|
|
1
|
+
import { collectionOf } from '../../collections/helpers.js';
|
|
2
|
+
import { relationId } from './relationId.js';
|
|
3
|
+
import { userScopeIncludingUnscopedWhere, userScopeWhere } from './where.js';
|
|
4
4
|
function clamp01(value) {
|
|
5
5
|
if (!Number.isFinite(value))
|
|
6
6
|
return 0;
|
|
@@ -163,7 +163,7 @@ export const builtInRuleTypes = [
|
|
|
163
163
|
return false;
|
|
164
164
|
let currentRank = ladderRank;
|
|
165
165
|
if (currentRank === undefined) {
|
|
166
|
-
const { resolveCurrentTier } = await import('./resolveCurrentTier');
|
|
166
|
+
const { resolveCurrentTier } = await import('./resolveCurrentTier.js');
|
|
167
167
|
const current = await resolveCurrentTier({
|
|
168
168
|
payload,
|
|
169
169
|
req,
|
|
@@ -206,7 +206,7 @@ export const builtInRuleTypes = [
|
|
|
206
206
|
if (visited.has(visitKey))
|
|
207
207
|
return 0;
|
|
208
208
|
visited.add(visitKey);
|
|
209
|
-
const { evaluateRuleProgress, ruleGroupHasProgressRequirements } = await import('./evaluateRules');
|
|
209
|
+
const { evaluateRuleProgress, ruleGroupHasProgressRequirements } = await import('./evaluateRules.js');
|
|
210
210
|
const composition = ruleGroupHasProgressRequirements(ref.completionRules)
|
|
211
211
|
? ref.completionRules
|
|
212
212
|
: ref.eligibilityRules;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { relationId } from './relationId';
|
|
2
|
-
import { getRuleTypeMap } from '../../extensions/registry';
|
|
1
|
+
import { relationId } from './relationId.js';
|
|
2
|
+
import { getRuleTypeMap } from '../../extensions/registry.js';
|
|
3
3
|
export function normalizeRuleGroup(input) {
|
|
4
4
|
if (!input)
|
|
5
5
|
return { combinator: 'and', rules: [] };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { collectionOf } from '../../collections/helpers';
|
|
2
|
-
import { relationId } from './relationId';
|
|
1
|
+
import { collectionOf } from '../../collections/helpers.js';
|
|
2
|
+
import { relationId } from './relationId.js';
|
|
3
3
|
/** Read flags from a loaded event-type document (or populated relationship). */
|
|
4
4
|
export function readEventTypeFlags(doc) {
|
|
5
5
|
if (!doc || typeof doc !== 'object')
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { collectionOf } from '../../collections/helpers';
|
|
2
|
-
import { relationId } from './relationId';
|
|
3
|
-
import { resolveCurrentTier } from './resolveCurrentTier';
|
|
4
|
-
import { userScopeWhere } from './where';
|
|
1
|
+
import { collectionOf } from '../../collections/helpers.js';
|
|
2
|
+
import { relationId } from './relationId.js';
|
|
3
|
+
import { resolveCurrentTier } from './resolveCurrentTier.js';
|
|
4
|
+
import { userScopeWhere } from './where.js';
|
|
5
5
|
function leanCatalog(value) {
|
|
6
6
|
const id = relationId(value);
|
|
7
7
|
if (!id)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PayloadRequest } from 'payload';
|
|
2
|
-
export { CTX_CASCADING_REVOKE, CTX_SKIP_GRANT_SIDE_EFFECTS, CTX_SYSTEM_REQUEST } from './contextFlags';
|
|
2
|
+
export { CTX_CASCADING_REVOKE, CTX_SKIP_GRANT_SIDE_EFFECTS, CTX_SYSTEM_REQUEST } from './contextFlags.js';
|
|
3
3
|
/** Create a grant row only — side effects run in Grants afterChange. */
|
|
4
4
|
export declare function createGrantRow(args: {
|
|
5
5
|
req: PayloadRequest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grantSideEffects.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/grantSideEffects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAWpD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"grantSideEffects.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/grantSideEffects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAWpD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AASzG,wEAAwE;AACxE,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+BnC;AAED,6EAA6E;AAC7E,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAuC9D;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsElD;AAED,oFAAoF;AACpF,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiDlB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { collectionOf } from '../../collections/helpers';
|
|
2
|
-
import { CTX_CASCADING_REVOKE, CTX_SYSTEM_REQUEST } from './contextFlags';
|
|
3
|
-
import { evaluateRules, ruleGroupHasProgressRequirements } from './evaluateRules';
|
|
4
|
-
import { transitionLogData } from './logData';
|
|
5
|
-
import { recordLog, syncTierChangedLog } from './recordEvent';
|
|
6
|
-
import { relationId } from './relationId';
|
|
7
|
-
import { syncTierProgression } from './tierProgression';
|
|
8
|
-
import { userScopeWhere } from './where';
|
|
9
|
-
export { CTX_CASCADING_REVOKE, CTX_SKIP_GRANT_SIDE_EFFECTS, CTX_SYSTEM_REQUEST } from './contextFlags';
|
|
1
|
+
import { collectionOf } from '../../collections/helpers.js';
|
|
2
|
+
import { CTX_CASCADING_REVOKE, CTX_SYSTEM_REQUEST } from './contextFlags.js';
|
|
3
|
+
import { evaluateRules, ruleGroupHasProgressRequirements } from './evaluateRules.js';
|
|
4
|
+
import { transitionLogData } from './logData.js';
|
|
5
|
+
import { recordLog, syncTierChangedLog } from './recordEvent.js';
|
|
6
|
+
import { relationId } from './relationId.js';
|
|
7
|
+
import { syncTierProgression } from './tierProgression.js';
|
|
8
|
+
import { userScopeWhere } from './where.js';
|
|
9
|
+
export { CTX_CASCADING_REVOKE, CTX_SKIP_GRANT_SIDE_EFFECTS, CTX_SYSTEM_REQUEST } from './contextFlags.js';
|
|
10
10
|
/** Create a grant row only — side effects run in Grants afterChange. */
|
|
11
11
|
export async function createGrantRow(args) {
|
|
12
12
|
const scopeId = args.scopeId ?? null;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export { evaluateRules, evaluateRuleProgress, normalizeRuleGroup, collectAchievementCompleteRefs } from './evaluateRules';
|
|
2
|
-
export type { RuleGroup, AchievementCompleteRef } from './evaluateRules';
|
|
3
|
-
export { buildCatalogProgressGroups } from './buildCatalogProgressGroups';
|
|
4
|
-
export type { CatalogProgressGroup, CatalogProgressItem } from './buildCatalogProgressGroups';
|
|
5
|
-
export { getUserProgress } from './getUserProgress';
|
|
6
|
-
export { recordEvent, recordLog, recordMetricChange, syncTierChangedLog } from './recordEvent';
|
|
7
|
-
export { resolveCurrentTier } from './resolveCurrentTier';
|
|
8
|
-
export type { ResolvedTier } from './resolveCurrentTier';
|
|
9
|
-
export { resolveTierProgress } from './resolveTierProgress';
|
|
10
|
-
export type { TierLadderProgress } from './resolveTierProgress';
|
|
11
|
-
export { grantAchievement, submitAchievementRequest } from './submitAchievementRequest';
|
|
12
|
-
export { reviewAchievementRequest } from './reviewAchievementRequest';
|
|
13
|
-
export { validateRuleGroup, validateRuleNode } from './validateRules';
|
|
14
|
-
export { syncCompositeProgression } from './grantSideEffects';
|
|
15
|
-
export { syncTierProgression } from './tierProgression';
|
|
16
|
-
export { reconcileProgression, reconcileUserProgression } from './reconcile';
|
|
17
|
-
export type { ReconcileProgressionArgs, ReconcileProgressionResult } from './reconcile';
|
|
18
|
-
export { didDisableRequiresReview, releasePendingAchievementReviews, releasePendingTierReviews, } from './releaseReviewGate';
|
|
19
|
-
export type { ReleaseReviewGateResult } from './releaseReviewGate';
|
|
20
|
-
export { catalogRef, transitionLogData, transitionToId, } from './logData';
|
|
21
|
-
export type { CatalogRef, TransitionLogData } from './logData';
|
|
1
|
+
export { evaluateRules, evaluateRuleProgress, normalizeRuleGroup, collectAchievementCompleteRefs } from './evaluateRules.js';
|
|
2
|
+
export type { RuleGroup, AchievementCompleteRef } from './evaluateRules.js';
|
|
3
|
+
export { buildCatalogProgressGroups } from './buildCatalogProgressGroups.js';
|
|
4
|
+
export type { CatalogProgressGroup, CatalogProgressItem } from './buildCatalogProgressGroups.js';
|
|
5
|
+
export { getUserProgress } from './getUserProgress.js';
|
|
6
|
+
export { recordEvent, recordLog, recordMetricChange, syncTierChangedLog } from './recordEvent.js';
|
|
7
|
+
export { resolveCurrentTier } from './resolveCurrentTier.js';
|
|
8
|
+
export type { ResolvedTier } from './resolveCurrentTier.js';
|
|
9
|
+
export { resolveTierProgress } from './resolveTierProgress.js';
|
|
10
|
+
export type { TierLadderProgress } from './resolveTierProgress.js';
|
|
11
|
+
export { grantAchievement, submitAchievementRequest } from './submitAchievementRequest.js';
|
|
12
|
+
export { reviewAchievementRequest } from './reviewAchievementRequest.js';
|
|
13
|
+
export { validateRuleGroup, validateRuleNode } from './validateRules.js';
|
|
14
|
+
export { syncCompositeProgression } from './grantSideEffects.js';
|
|
15
|
+
export { syncTierProgression } from './tierProgression.js';
|
|
16
|
+
export { reconcileProgression, reconcileUserProgression } from './reconcile.js';
|
|
17
|
+
export type { ReconcileProgressionArgs, ReconcileProgressionResult } from './reconcile.js';
|
|
18
|
+
export { didDisableRequiresReview, releasePendingAchievementReviews, releasePendingTierReviews, } from './releaseReviewGate.js';
|
|
19
|
+
export type { ReleaseReviewGateResult } from './releaseReviewGate.js';
|
|
20
|
+
export { catalogRef, transitionLogData, transitionToId, } from './logData.js';
|
|
21
|
+
export type { CatalogRef, TransitionLogData } from './logData.js';
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/achievement/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;AAC5H,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAC/E,YAAY,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAC1F,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { evaluateRules, evaluateRuleProgress, normalizeRuleGroup, collectAchievementCompleteRefs } from './evaluateRules';
|
|
2
|
-
export { buildCatalogProgressGroups } from './buildCatalogProgressGroups';
|
|
3
|
-
export { getUserProgress } from './getUserProgress';
|
|
4
|
-
export { recordEvent, recordLog, recordMetricChange, syncTierChangedLog } from './recordEvent';
|
|
5
|
-
export { resolveCurrentTier } from './resolveCurrentTier';
|
|
6
|
-
export { resolveTierProgress } from './resolveTierProgress';
|
|
7
|
-
export { grantAchievement, submitAchievementRequest } from './submitAchievementRequest';
|
|
8
|
-
export { reviewAchievementRequest } from './reviewAchievementRequest';
|
|
9
|
-
export { validateRuleGroup, validateRuleNode } from './validateRules';
|
|
10
|
-
export { syncCompositeProgression } from './grantSideEffects';
|
|
11
|
-
export { syncTierProgression } from './tierProgression';
|
|
12
|
-
export { reconcileProgression, reconcileUserProgression } from './reconcile';
|
|
13
|
-
export { didDisableRequiresReview, releasePendingAchievementReviews, releasePendingTierReviews, } from './releaseReviewGate';
|
|
14
|
-
export { catalogRef, transitionLogData, transitionToId, } from './logData';
|
|
1
|
+
export { evaluateRules, evaluateRuleProgress, normalizeRuleGroup, collectAchievementCompleteRefs } from './evaluateRules.js';
|
|
2
|
+
export { buildCatalogProgressGroups } from './buildCatalogProgressGroups.js';
|
|
3
|
+
export { getUserProgress } from './getUserProgress.js';
|
|
4
|
+
export { recordEvent, recordLog, recordMetricChange, syncTierChangedLog } from './recordEvent.js';
|
|
5
|
+
export { resolveCurrentTier } from './resolveCurrentTier.js';
|
|
6
|
+
export { resolveTierProgress } from './resolveTierProgress.js';
|
|
7
|
+
export { grantAchievement, submitAchievementRequest } from './submitAchievementRequest.js';
|
|
8
|
+
export { reviewAchievementRequest } from './reviewAchievementRequest.js';
|
|
9
|
+
export { validateRuleGroup, validateRuleNode } from './validateRules.js';
|
|
10
|
+
export { syncCompositeProgression } from './grantSideEffects.js';
|
|
11
|
+
export { syncTierProgression } from './tierProgression.js';
|
|
12
|
+
export { reconcileProgression, reconcileUserProgression } from './reconcile.js';
|
|
13
|
+
export { didDisableRequiresReview, releasePendingAchievementReviews, releasePendingTierReviews, } from './releaseReviewGate.js';
|
|
14
|
+
export { catalogRef, transitionLogData, transitionToId, } from './logData.js';
|