@frigear-nu/subscriptions 0.0.9 → 0.0.10

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/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@frigear-nu/subscriptions",
3
3
  "configKey": "subscriptions",
4
- "version": "0.0.9",
4
+ "version": "0.0.10",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.3",
7
7
  "unbuild": "unknown"
@@ -0,0 +1,240 @@
1
+ export declare const subscriptions: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "subscriptions";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: "id";
7
+ tableName: "subscriptions";
8
+ dataType: "string";
9
+ columnType: "PgText";
10
+ data: string;
11
+ driverParam: string;
12
+ notNull: true;
13
+ hasDefault: false;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: false;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {}>;
22
+ userId: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: "userId";
24
+ tableName: "subscriptions";
25
+ dataType: "number";
26
+ columnType: "PgInteger";
27
+ data: number;
28
+ driverParam: string | number;
29
+ notNull: true;
30
+ hasDefault: false;
31
+ isPrimaryKey: false;
32
+ isAutoincrement: false;
33
+ hasRuntimeDefault: false;
34
+ enumValues: undefined;
35
+ baseColumn: never;
36
+ identity: undefined;
37
+ generated: undefined;
38
+ }, {}, {}>;
39
+ planKey: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: "planKey";
41
+ tableName: "subscriptions";
42
+ dataType: "string";
43
+ columnType: "PgText";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: false;
47
+ hasDefault: false;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {}>;
56
+ priceId: import("drizzle-orm/pg-core").PgColumn<{
57
+ name: "priceId";
58
+ tableName: "subscriptions";
59
+ dataType: "string";
60
+ columnType: "PgText";
61
+ data: string;
62
+ driverParam: string;
63
+ notNull: true;
64
+ hasDefault: false;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: [string, ...string[]];
69
+ baseColumn: never;
70
+ identity: undefined;
71
+ generated: undefined;
72
+ }, {}, {}>;
73
+ status: import("drizzle-orm/pg-core").PgColumn<{
74
+ name: "status";
75
+ tableName: "subscriptions";
76
+ dataType: "string";
77
+ columnType: "PgText";
78
+ data: string;
79
+ driverParam: string;
80
+ notNull: true;
81
+ hasDefault: false;
82
+ isPrimaryKey: false;
83
+ isAutoincrement: false;
84
+ hasRuntimeDefault: false;
85
+ enumValues: [string, ...string[]];
86
+ baseColumn: never;
87
+ identity: undefined;
88
+ generated: undefined;
89
+ }, {}, {}>;
90
+ cancelAtPeriodEnd: import("drizzle-orm/pg-core").PgColumn<{
91
+ name: "cancelAtPeriodEnd";
92
+ tableName: "subscriptions";
93
+ dataType: "boolean";
94
+ columnType: "PgBoolean";
95
+ data: boolean;
96
+ driverParam: boolean;
97
+ notNull: true;
98
+ hasDefault: true;
99
+ isPrimaryKey: false;
100
+ isAutoincrement: false;
101
+ hasRuntimeDefault: false;
102
+ enumValues: undefined;
103
+ baseColumn: never;
104
+ identity: undefined;
105
+ generated: undefined;
106
+ }, {}, {}>;
107
+ currentPeriodStart: import("drizzle-orm/pg-core").PgColumn<{
108
+ name: "currentPeriodStart";
109
+ tableName: "subscriptions";
110
+ dataType: "date";
111
+ columnType: "PgTimestamp";
112
+ data: Date;
113
+ driverParam: string;
114
+ notNull: false;
115
+ hasDefault: false;
116
+ isPrimaryKey: false;
117
+ isAutoincrement: false;
118
+ hasRuntimeDefault: false;
119
+ enumValues: undefined;
120
+ baseColumn: never;
121
+ identity: undefined;
122
+ generated: undefined;
123
+ }, {}, {}>;
124
+ currentPeriodEnd: import("drizzle-orm/pg-core").PgColumn<{
125
+ name: "currentPeriodEnd";
126
+ tableName: "subscriptions";
127
+ dataType: "date";
128
+ columnType: "PgTimestamp";
129
+ data: Date;
130
+ driverParam: string;
131
+ notNull: false;
132
+ hasDefault: false;
133
+ isPrimaryKey: false;
134
+ isAutoincrement: false;
135
+ hasRuntimeDefault: false;
136
+ enumValues: undefined;
137
+ baseColumn: never;
138
+ identity: undefined;
139
+ generated: undefined;
140
+ }, {}, {}>;
141
+ endedAt: import("drizzle-orm/pg-core").PgColumn<{
142
+ name: "endedAt";
143
+ tableName: "subscriptions";
144
+ dataType: "date";
145
+ columnType: "PgTimestamp";
146
+ data: Date;
147
+ driverParam: string;
148
+ notNull: false;
149
+ hasDefault: false;
150
+ isPrimaryKey: false;
151
+ isAutoincrement: false;
152
+ hasRuntimeDefault: false;
153
+ enumValues: undefined;
154
+ baseColumn: never;
155
+ identity: undefined;
156
+ generated: undefined;
157
+ }, {}, {}>;
158
+ source: import("drizzle-orm/pg-core").PgColumn<{
159
+ name: "source";
160
+ tableName: "subscriptions";
161
+ dataType: "string";
162
+ columnType: "PgText";
163
+ data: string;
164
+ driverParam: string;
165
+ notNull: true;
166
+ hasDefault: true;
167
+ isPrimaryKey: false;
168
+ isAutoincrement: false;
169
+ hasRuntimeDefault: false;
170
+ enumValues: [string, ...string[]];
171
+ baseColumn: never;
172
+ identity: undefined;
173
+ generated: undefined;
174
+ }, {}, {}>;
175
+ rawItems: import("drizzle-orm/pg-core").PgColumn<{
176
+ name: "rawItems";
177
+ tableName: "subscriptions";
178
+ dataType: "json";
179
+ columnType: "PgJsonb";
180
+ data: {
181
+ id: string;
182
+ priceId: string;
183
+ lookupKey: string | null;
184
+ quantity: number | null;
185
+ }[];
186
+ driverParam: unknown;
187
+ notNull: false;
188
+ hasDefault: false;
189
+ isPrimaryKey: false;
190
+ isAutoincrement: false;
191
+ hasRuntimeDefault: false;
192
+ enumValues: undefined;
193
+ baseColumn: never;
194
+ identity: undefined;
195
+ generated: undefined;
196
+ }, {}, {
197
+ $type: {
198
+ id: string;
199
+ priceId: string;
200
+ lookupKey: string | null;
201
+ quantity: number | null;
202
+ }[];
203
+ }>;
204
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
205
+ name: "createdAt";
206
+ tableName: "subscriptions";
207
+ dataType: "date";
208
+ columnType: "PgTimestamp";
209
+ data: Date;
210
+ driverParam: string;
211
+ notNull: true;
212
+ hasDefault: true;
213
+ isPrimaryKey: false;
214
+ isAutoincrement: false;
215
+ hasRuntimeDefault: true;
216
+ enumValues: undefined;
217
+ baseColumn: never;
218
+ identity: undefined;
219
+ generated: undefined;
220
+ }, {}, {}>;
221
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
222
+ name: "updatedAt";
223
+ tableName: "subscriptions";
224
+ dataType: "date";
225
+ columnType: "PgTimestamp";
226
+ data: Date;
227
+ driverParam: string;
228
+ notNull: true;
229
+ hasDefault: true;
230
+ isPrimaryKey: false;
231
+ isAutoincrement: false;
232
+ hasRuntimeDefault: true;
233
+ enumValues: undefined;
234
+ baseColumn: never;
235
+ identity: undefined;
236
+ generated: undefined;
237
+ }, {}, {}>;
238
+ };
239
+ dialect: "pg";
240
+ }>;
@@ -0,0 +1,22 @@
1
+ import { pgTable, text, integer, boolean, jsonb, timestamp, index } from "drizzle-orm/pg-core";
2
+ export const subscriptions = pgTable("subscriptions", {
3
+ /** The Stripe subscription id (`sub_...`). */
4
+ id: text().primaryKey(),
5
+ userId: integer().notNull(),
6
+ /** Configured plan key, or null when the price isn't part of any configured plan. */
7
+ planKey: text(),
8
+ priceId: text().notNull(),
9
+ /** The raw Stripe status (`active`, `trialing`, `past_due`, `canceled`, ...). */
10
+ status: text().notNull(),
11
+ cancelAtPeriodEnd: boolean().notNull().default(false),
12
+ currentPeriodStart: timestamp({ withTimezone: true }),
13
+ currentPeriodEnd: timestamp({ withTimezone: true }),
14
+ endedAt: timestamp({ withTimezone: true }),
15
+ /** `stripe` for webhook-synced rows, `manual` for free grants made by staff (no Stripe subscription behind it). */
16
+ source: text().notNull().default("stripe"),
17
+ rawItems: jsonb().$type(),
18
+ createdAt: timestamp({ withTimezone: true }).notNull().$defaultFn(() => /* @__PURE__ */ new Date()),
19
+ updatedAt: timestamp({ withTimezone: true }).notNull().$defaultFn(() => /* @__PURE__ */ new Date()).$onUpdateFn(() => /* @__PURE__ */ new Date())
20
+ }, (t) => [
21
+ index("subscription_user_idx").on(t.userId)
22
+ ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frigear-nu/subscriptions",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "Recurring subscriptions (plans, checkout, upgrade/downgrade, billing portal and entitlements) for the frigear ecosystem, built on @frigear-nu/stripe.",
5
5
  "homepage": "https://docs.frigear.dev/modules/subscriptions",
6
6
  "repository": {
@@ -30,12 +30,12 @@
30
30
  "playground"
31
31
  ],
32
32
  "dependencies": {
33
- "@frigear-nu/auth": "0.0.4",
34
- "@frigear-nu/mcp": "0.0.4",
35
- "@frigear-nu/module-kit": "1.0.0",
36
- "@frigear-nu/stripe": "0.0.9",
37
- "@frigear-nu/ui": "0.0.8",
38
- "@frigear-nu/users": "1.0.10",
33
+ "@frigear-nu/auth": "0.0.5",
34
+ "@frigear-nu/mcp": "0.0.5",
35
+ "@frigear-nu/module-kit": "1.0.1",
36
+ "@frigear-nu/stripe": "0.0.10",
37
+ "@frigear-nu/ui": "0.0.9",
38
+ "@frigear-nu/users": "1.0.11",
39
39
  "@libsql/client": "^0.18.0",
40
40
  "@nuxt/kit": "^4.6.0",
41
41
  "@vueuse/core": "^15.0.0",
@@ -47,8 +47,8 @@
47
47
  "zod": "^4.6.5"
48
48
  },
49
49
  "peerDependencies": {
50
- "@frigear-nu/menu": "0.0.10",
51
- "@frigear-nu/widget": "0.0.3",
50
+ "@frigear-nu/menu": "0.0.11",
51
+ "@frigear-nu/widget": "0.0.4",
52
52
  "@nuxt/ui": "^4.10.0",
53
53
  "@nuxthub/core": "^0.10.8"
54
54
  },
@@ -64,8 +64,8 @@
64
64
  }
65
65
  },
66
66
  "devDependencies": {
67
- "@frigear-nu/menu": "0.0.10",
68
- "@frigear-nu/widget": "0.0.3",
67
+ "@frigear-nu/menu": "0.0.11",
68
+ "@frigear-nu/widget": "0.0.4",
69
69
  "@nuxt/devtools": "^3.4.2",
70
70
  "@nuxt/eslint-config": "^1.17.0",
71
71
  "@nuxt/module-builder": "^1.0.3",