@nexo-labs/payload-stripe-inventory 1.6.1

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.
@@ -0,0 +1,123 @@
1
+ import { a as Permission, c as WithPermissions, d as RouteHandlers, f as StripeHandlers, i as BaseUser, l as Customer, n as UnlockItem, o as Subscription, r as UserInventory, s as User, t as FavoriteItem, u as CustomerInventory } from "./index-lWjbVzU5.mjs";
2
+
3
+ //#region src/model/builders.d.ts
4
+ declare const generateUserInventory: () => UserInventory;
5
+ declare const generateCustomerInventory: () => CustomerInventory;
6
+ //#endregion
7
+ //#region src/model/constants.d.ts
8
+ declare const COLLECTION_SLUG_PRODUCTS: "products";
9
+ declare const COLLECTION_SLUG_PRICES: "prices";
10
+ declare const COLLECTION_SLUG_USER: "users";
11
+ declare const COLLECTION_SLUG_CUSTOMERS: "customers";
12
+ declare const QUERY_PERMISSION_TYPES: {
13
+ readonly ALL: "all";
14
+ readonly ROLES: "roles";
15
+ readonly ONLY_NO_ROLES: "only_no_roles";
16
+ readonly ONLY_GUESS: "only_guess";
17
+ };
18
+ declare const permissionSlugs: {
19
+ webAdmin: string;
20
+ dev: string;
21
+ tester: string;
22
+ free: string;
23
+ freemium: string;
24
+ basic: string;
25
+ };
26
+ declare const PERMISSIONS: {
27
+ id: number;
28
+ slug: string;
29
+ title: string;
30
+ }[];
31
+ declare const MAX_UNLOCKS_PER_WEEK: 3;
32
+ declare const PricingType: {
33
+ readonly one_time: "One Time";
34
+ readonly recurring: "Recurring";
35
+ };
36
+ declare const PricingPlanInterval: {
37
+ readonly day: "Day";
38
+ readonly week: "Week";
39
+ readonly month: "Month";
40
+ readonly year: "Year";
41
+ };
42
+ declare const formatOptions: (obj: Record<string, string>) => {
43
+ value: string;
44
+ label: string;
45
+ }[];
46
+ //#endregion
47
+ //#region src/model/eval-advance-permissionQuery.d.ts
48
+ /**
49
+ * Evalúa permisos avanzados basados en el tipo de permiso y usuario
50
+ */
51
+ interface Props$1<T extends BaseUser> {
52
+ user: T | null;
53
+ typeOfPermission: keyof typeof QUERY_PERMISSION_TYPES | string;
54
+ permissions?: string[] | undefined;
55
+ }
56
+ declare const evalAdvancePermissionQuery: <T extends BaseUser>({
57
+ user,
58
+ typeOfPermission,
59
+ permissions
60
+ }: Props$1<T>) => boolean;
61
+ //#endregion
62
+ //#region src/model/eval-permission-by-role-query.d.ts
63
+ /**
64
+ * Evalúa si un usuario tiene los permisos necesarios basados en las semillas de permisos
65
+ */
66
+ interface Props<T extends BaseUser> {
67
+ user: T | null | undefined;
68
+ permissions?: string[] | null;
69
+ content?: {
70
+ collection: string;
71
+ id: number;
72
+ };
73
+ }
74
+ declare const evalPermissionByRoleQuery: <T extends BaseUser>({
75
+ user,
76
+ permissions,
77
+ content
78
+ }: Props<T>) => boolean;
79
+ //#endregion
80
+ //#region src/model/fetch-permitted-content-query.d.ts
81
+ /**
82
+ * Filtra contenido basado en los permisos del usuario
83
+ */
84
+ declare const fetchPermittedContentQuery: <T extends BaseUser, C>(user: T | null | undefined, permissions: (Permission | number)[] | null | undefined, content: C, freeContent?: C | null) => C | null;
85
+ //#endregion
86
+ //#region src/model/get-user-permissions.d.ts
87
+ /**
88
+ * Obtiene los permisos de un usuario basados en su inventario y suscripciones activas
89
+ */
90
+ declare const getUserPermissions: (user?: BaseUser | null) => string[];
91
+ //#endregion
92
+ //#region src/model/permissions.d.ts
93
+ declare const getPermissionsSlugs: ({
94
+ permissions
95
+ }: {
96
+ permissions?: (number | Permission)[] | null | undefined;
97
+ }) => string[];
98
+ //#endregion
99
+ //#region src/model/check-if-user-can-unlock-query.d.ts
100
+ /**
101
+ * Verifica si un usuario puede desbloquear un elemento basado en sus permisos y límites semanales
102
+ * @param user Usuario base
103
+ * @param permissions Permisos requeridos para el elemento
104
+ * @returns Booleano indicando si el usuario puede desbloquear el elemento
105
+ */
106
+ declare const checkIfUserCanUnlockQuery: (user: BaseUser, permissions: string[]) => boolean;
107
+ //#endregion
108
+ //#region src/model/get-count-weekly-unlocks-query.d.ts
109
+ /**
110
+ * Cuenta cuántos elementos ha desbloqueado el usuario en los últimos 7 días
111
+ * @param user Usuario base
112
+ * @returns Número de elementos desbloqueados en los últimos 7 días
113
+ */
114
+ declare const countWeeklyUnlocksQuery: (user: BaseUser<UserInventory>) => number;
115
+ //#endregion
116
+ //#region src/model/get-next-unlock-date-query.d.ts
117
+ declare const getNextUnlockDateQuery: (user: BaseUser<UserInventory>) => Date;
118
+ //#endregion
119
+ //#region src/model/is-content-unlocked.d.ts
120
+ declare const isContentUnlocked: (user: BaseUser<UserInventory>, contentId: number, collection: string) => boolean;
121
+ //#endregion
122
+ export { BaseUser, COLLECTION_SLUG_CUSTOMERS, COLLECTION_SLUG_PRICES, COLLECTION_SLUG_PRODUCTS, COLLECTION_SLUG_USER, Customer, CustomerInventory, FavoriteItem, MAX_UNLOCKS_PER_WEEK, PERMISSIONS, Permission, PricingPlanInterval, PricingType, QUERY_PERMISSION_TYPES, RouteHandlers, StripeHandlers, Subscription, UnlockItem, User, UserInventory, WithPermissions, checkIfUserCanUnlockQuery, countWeeklyUnlocksQuery, evalAdvancePermissionQuery, evalPermissionByRoleQuery, fetchPermittedContentQuery, formatOptions, generateCustomerInventory, generateUserInventory, getNextUnlockDateQuery, getPermissionsSlugs, getUserPermissions, isContentUnlocked, permissionSlugs };
123
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/model/builders.ts","../src/model/constants.ts","../src/model/eval-advance-permissionQuery.ts","../src/model/eval-permission-by-role-query.ts","../src/model/fetch-permitted-content-query.ts","../src/model/get-user-permissions.ts","../src/model/permissions.ts","../src/model/check-if-user-can-unlock-query.ts","../src/model/get-count-weekly-unlocks-query.ts","../src/model/get-next-unlock-date-query.ts","../src/model/is-content-unlocked.ts"],"sourcesContent":[],"mappings":";;;cAEa,6BAA4B;cAK5B,iCAAgC;;;cCPhC;cACA;cACA;ADAA,cCCA,yBDD4B,EAAA,WAGvC;AAEW,cCFA,sBDOX,EAL2C;;;;ECPhC,SAAA,UAAA,EAAA,YAA8C;AAC3D,CAAA;AACa,cAiBA,eAjBuC,EAAA;EACvC,QAAA,EAAA,MAAA;EAEA,GAAA,EAAA,MAAA;EAcA,MAAA,EAAA,MAAA;EASA,IAAA,EAAA,MAAA;EAQA,QAAA,EAAA,MAAA;EAEA,KAAA,EAAA,MAAA;AAKb,CAAA;AAOa,cAtBA,WAsBsB,EAAA;;;;ACjDqB,CAAA,EAAA;AAO9B,cD4Bb,oBC5Ba,EAAA,CAAA;AAClB,cD6BK,WC7BL,EAAA;EACyB,SAAA,QAAA,EAAA,UAAA;EAAsB,SAAA,SAAA,EAAA,WAAA;AAIvD,CAAA;AAAqD,cD6BxC,mBC7BwC,EAAA;EAAQ,SAAA,GAAA,EAAA,KAAA;EAAA,SAAA,IAAA,EAAA,MAAA;EAAA,SAAA,KAAA,EAAA,OAAA;EAIpD,SAAA,IAAA,EAAA,MAAA;CAAN;AAAK,cDgCK,aChCL,EAAA,CAAA,GAAA,EDgC2B,MChC3B,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,GAAA;;;;;;;AFhBR;AAKA;UECU,kBAAgB;QAClB;iCACyB;EDVpB,WAAA,CAAA,EAAA,MAAA,EAAA,GAAA,SAA8C;AAC3D;AACa,cCYA,0BDZuC,EAAA,CAAA,UCYC,QDZD,CAAA,CAAA;EAAA,IAAA;EAAA,gBAAA;EAAA;AAAA,CAAA,ECgBjD,ODhBiD,CCgB3C,CDhB2C,CAAA,EAAA,GAAA,OAAA;;;;;ADApD;AAKA,UGAU,KHAG,CAAA,UGAa,QHKxB,CAAA,CAAA;QGJM;;;IFRK,UAAA,EAAA,MAAA;IACA,EAAA,EAAA,MAAA;EACA,CAAA;AACb;AAEa,cEWA,yBFNH,EAAA,CAAA,UEM0C,QFN1C,CAAA,CAAA;EAAA,IAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EEUP,KFVO,CEUD,CFVC,CAAA,EAAA,GAAA,OAAA;;;;;ADRV;AAKa,cICA,0BJDgC,EAAA,CAAA,UICQ,QJInD,EAAA,CAAA,CAAA,CAAA,IAAA,EIHM,CJGN,GAAA,IAAA,GAAA,SAAA,EAAA,WAAA,EAAA,CIFc,UJEd,GAAA,MAAA,CAAA,EAAA,GAAA,IAAA,GAAA,SAAA,EAAA,OAAA,EIDS,CJCT,EAAA,WAAA,CAAA,EIAa,CJAb,GAAA,IAAA,EAAA,GICC,CJDD,GAAA,IAAA;;;;;AAVF;AAKa,cKFA,kBLOX,EAAA,CAAA,IAAA,CAL2C,EKFH,QLEG,GAAA,IAK3C,EAAA,GAAA,MAAA,EAAA;;;cMVW;;ANAb;0BMG0B;ANH1B,CAAA,EAAA,GAAa,MAAA,EAAA;;;;;AAAb;AAKA;;;cOEa,kCACL;;;;;APRR;AAKA;;cQAa,gCACL,SAAS;;;cCNJ,+BAAgC,SAAS,mBAAiB;;;cCA1D,0BACL,SAAS"}
package/dist/index.mjs ADDED
@@ -0,0 +1,3 @@
1
+ import { S as generateUserInventory, _ as PricingType, a as getPermissionsSlugs, b as permissionSlugs, c as isContentUnlocked, d as COLLECTION_SLUG_PRICES, f as COLLECTION_SLUG_PRODUCTS, g as PricingPlanInterval, h as PERMISSIONS, i as fetchPermittedContentQuery, l as getUserPermissions, m as MAX_UNLOCKS_PER_WEEK, n as countWeeklyUnlocksQuery, o as evalAdvancePermissionQuery, p as COLLECTION_SLUG_USER, r as checkIfUserCanUnlockQuery, s as evalPermissionByRoleQuery, t as getNextUnlockDateQuery, u as COLLECTION_SLUG_CUSTOMERS, v as QUERY_PERMISSION_TYPES, x as generateCustomerInventory, y as formatOptions } from "./src-BmlQoR4x.mjs";
2
+
3
+ export { COLLECTION_SLUG_CUSTOMERS, COLLECTION_SLUG_PRICES, COLLECTION_SLUG_PRODUCTS, COLLECTION_SLUG_USER, MAX_UNLOCKS_PER_WEEK, PERMISSIONS, PricingPlanInterval, PricingType, QUERY_PERMISSION_TYPES, checkIfUserCanUnlockQuery, countWeeklyUnlocksQuery, evalAdvancePermissionQuery, evalPermissionByRoleQuery, fetchPermittedContentQuery, formatOptions, generateCustomerInventory, generateUserInventory, getNextUnlockDateQuery, getPermissionsSlugs, getUserPermissions, isContentUnlocked, permissionSlugs };