kfreelance-project-postgresql-prisma 1.0.0
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 +217 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/generated/prisma/client.d.ts +1 -0
- package/generated/prisma/client.js +4 -0
- package/generated/prisma/default.d.ts +1 -0
- package/generated/prisma/default.js +4 -0
- package/generated/prisma/edge.d.ts +1 -0
- package/generated/prisma/edge.js +201 -0
- package/generated/prisma/index-browser.js +187 -0
- package/generated/prisma/index.d.ts +3968 -0
- package/generated/prisma/index.js +222 -0
- package/generated/prisma/libquery_engine-darwin-arm64.dylib.node +0 -0
- package/generated/prisma/package.json +183 -0
- package/generated/prisma/query_engine_bg.js +2 -0
- package/generated/prisma/query_engine_bg.wasm +0 -0
- package/generated/prisma/runtime/edge-esm.js +34 -0
- package/generated/prisma/runtime/edge.js +34 -0
- package/generated/prisma/runtime/index-browser.d.ts +370 -0
- package/generated/prisma/runtime/index-browser.js +16 -0
- package/generated/prisma/runtime/library.d.ts +3976 -0
- package/generated/prisma/runtime/library.js +146 -0
- package/generated/prisma/runtime/react-native.js +83 -0
- package/generated/prisma/runtime/wasm-compiler-edge.js +84 -0
- package/generated/prisma/runtime/wasm-engine-edge.js +36 -0
- package/generated/prisma/schema.prisma +37 -0
- package/generated/prisma/wasm-edge-light-loader.mjs +4 -0
- package/generated/prisma/wasm-worker-loader.mjs +4 -0
- package/generated/prisma/wasm.d.ts +1 -0
- package/generated/prisma/wasm.js +208 -0
- package/package.json +48 -0
- package/prisma/migrations/20251003030244_init/migration.sql +33 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +37 -0
package/README.MD
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# kfreelance-project-postgresql-prisma
|
|
2
|
+
|
|
3
|
+
A shared Prisma client library for microservices, providing a centralized database schema and ORM functionality.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install kfreelance-project-postgresql-prisma
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
### Basic Usage
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { PrismaClient } from 'kfreelance-project-postgresql-prisma';
|
|
17
|
+
|
|
18
|
+
const prisma = new PrismaClient();
|
|
19
|
+
|
|
20
|
+
async function main() {
|
|
21
|
+
// Create a user
|
|
22
|
+
const user = await prisma.user.create({
|
|
23
|
+
data: {
|
|
24
|
+
username: 'john_doe',
|
|
25
|
+
email: 'john@example.com',
|
|
26
|
+
passwordHash: 'hashed_password_here',
|
|
27
|
+
is_active: true,
|
|
28
|
+
must_reset_password: false,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// Find all users
|
|
33
|
+
const users = await prisma.user.findMany();
|
|
34
|
+
console.log(users);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
main()
|
|
38
|
+
.then(async () => {
|
|
39
|
+
await prisma.$disconnect();
|
|
40
|
+
})
|
|
41
|
+
.catch(async (e) => {
|
|
42
|
+
console.error(e);
|
|
43
|
+
await prisma.$disconnect();
|
|
44
|
+
process.exit(1);
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Using Custom Database URL
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { createPrismaClient } from 'kfreelance-project-postgresql-prisma';
|
|
52
|
+
|
|
53
|
+
const prisma = createPrismaClient({
|
|
54
|
+
databaseUrl: 'postgresql://user:password@localhost:5432/mydb',
|
|
55
|
+
log: ['query', 'error'],
|
|
56
|
+
});
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Direct Client Import (Alternative)
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
import { PrismaClient } from 'kfreelance-project-postgresql-prisma/client';
|
|
63
|
+
|
|
64
|
+
const prisma = new PrismaClient();
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Environment Variables
|
|
68
|
+
|
|
69
|
+
Set the following environment variable in your microservice:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
DATABASE_URL="postgresql://postgres:your_secure_password@localhost:5432/freelance_db?schema=public"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Available Types
|
|
76
|
+
|
|
77
|
+
The library exports all Prisma-generated types:
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
import type { User, PasswordResetToken, Prisma } from 'kfreelance-project-postgresql-prisma';
|
|
81
|
+
|
|
82
|
+
// Use types for function parameters
|
|
83
|
+
function createUser(userData: Prisma.UserCreateInput): Promise<User> {
|
|
84
|
+
return prisma.user.create({ data: userData });
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Database Schema
|
|
89
|
+
|
|
90
|
+
The library includes the following models:
|
|
91
|
+
|
|
92
|
+
### User
|
|
93
|
+
- `id`: String (UUID)
|
|
94
|
+
- `username`: String (unique)
|
|
95
|
+
- `email`: String (unique)
|
|
96
|
+
- `passwordHash`: String
|
|
97
|
+
- `is_active`: Boolean
|
|
98
|
+
- `must_reset_password`: Boolean
|
|
99
|
+
- `created_at`: DateTime
|
|
100
|
+
- `updated_at`: DateTime
|
|
101
|
+
|
|
102
|
+
### PasswordResetToken
|
|
103
|
+
- `id`: String (UUID)
|
|
104
|
+
- `user_id`: String (foreign key to User)
|
|
105
|
+
- `reset_token`: String (hashed)
|
|
106
|
+
- `expires_at`: DateTime
|
|
107
|
+
- `used`: Boolean
|
|
108
|
+
|
|
109
|
+
## Utility Functions
|
|
110
|
+
|
|
111
|
+
### `createPrismaClient(options?)`
|
|
112
|
+
|
|
113
|
+
Create a PrismaClient instance with custom configuration:
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
const prisma = createPrismaClient({
|
|
117
|
+
databaseUrl: 'your-custom-database-url',
|
|
118
|
+
log: ['query', 'info', 'warn', 'error'], // Optional logging
|
|
119
|
+
});
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### `getDefaultDatabaseUrl()`
|
|
123
|
+
|
|
124
|
+
Get the default database URL (useful for debugging):
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
import { getDefaultDatabaseUrl } from 'kfreelance-project-postgresql-prisma';
|
|
128
|
+
|
|
129
|
+
console.log('Using database:', getDefaultDatabaseUrl());
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Development
|
|
133
|
+
|
|
134
|
+
If you're working on this library:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Install dependencies
|
|
138
|
+
npm install
|
|
139
|
+
|
|
140
|
+
# Copy environment file
|
|
141
|
+
cp .env.example .env
|
|
142
|
+
|
|
143
|
+
# Generate Prisma client
|
|
144
|
+
npm run generate
|
|
145
|
+
|
|
146
|
+
# Build the library
|
|
147
|
+
npm run build
|
|
148
|
+
|
|
149
|
+
# Run development example
|
|
150
|
+
npm run dev
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Publishing
|
|
154
|
+
|
|
155
|
+
To publish a new version:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Build the library
|
|
159
|
+
npm run build
|
|
160
|
+
|
|
161
|
+
# Publish to npm
|
|
162
|
+
npm publish
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Integration in Microservices
|
|
166
|
+
|
|
167
|
+
### 1. Install the library
|
|
168
|
+
```bash
|
|
169
|
+
npm install kfreelance-project-postgresql-prisma
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 2. Set environment variables
|
|
173
|
+
```bash
|
|
174
|
+
# .env
|
|
175
|
+
DATABASE_URL="postgresql://postgres:password@localhost:5432/freelance_db?schema=public"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### 3. Use in your microservice
|
|
179
|
+
```typescript
|
|
180
|
+
import { PrismaClient, type User } from 'kfreelance-project-postgresql-prisma';
|
|
181
|
+
|
|
182
|
+
const prisma = new PrismaClient();
|
|
183
|
+
|
|
184
|
+
export class UserService {
|
|
185
|
+
async findUserById(id: string): Promise<User | null> {
|
|
186
|
+
return prisma.user.findUnique({ where: { id } });
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
async createUser(userData: {
|
|
190
|
+
username: string;
|
|
191
|
+
email: string;
|
|
192
|
+
passwordHash: string;
|
|
193
|
+
}): Promise<User> {
|
|
194
|
+
return prisma.user.create({
|
|
195
|
+
data: {
|
|
196
|
+
...userData,
|
|
197
|
+
is_active: true,
|
|
198
|
+
must_reset_password: false,
|
|
199
|
+
},
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Migration Notes
|
|
206
|
+
|
|
207
|
+
When the database schema changes:
|
|
208
|
+
|
|
209
|
+
1. Update the Prisma schema in this library
|
|
210
|
+
2. Generate new migrations
|
|
211
|
+
3. Build and publish a new version
|
|
212
|
+
4. Update the library version in your microservices
|
|
213
|
+
5. Run database migrations
|
|
214
|
+
|
|
215
|
+
## Support
|
|
216
|
+
|
|
217
|
+
For issues or questions about this library, please contact the platform team or create an issue in the repository.
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,mBAAmB,8BAA8B,CAAC"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { PrismaClient } from "../generated/prisma/index.js";
|
|
2
|
+
export type { User, PasswordResetToken, Prisma, } from "../generated/prisma/index.js";
|
|
3
|
+
import { PrismaClient } from "../generated/prisma/index.js";
|
|
4
|
+
export declare const createPrismaClient: (options?: {
|
|
5
|
+
databaseUrl?: string;
|
|
6
|
+
log?: Array<"query" | "info" | "warn" | "error">;
|
|
7
|
+
}) => PrismaClient<import("../generated/prisma/index.js").Prisma.PrismaClientOptions, never, import("../generated/prisma/runtime/library.js").DefaultArgs>;
|
|
8
|
+
export declare const getDefaultDatabaseUrl: () => string;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,YAAY,EACV,IAAI,EACJ,kBAAkB,EAClB,MAAM,GACP,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,eAAO,MAAM,kBAAkB,GAAI,UAAU;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAClD,yJAgBA,CAAC;AAGF,eAAO,MAAM,qBAAqB,cAEjC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Library entry point - exports PrismaClient and types for consuming microservices
|
|
2
|
+
export { PrismaClient } from "../generated/prisma/index.js";
|
|
3
|
+
import { PrismaClient } from "../generated/prisma/index.js";
|
|
4
|
+
// Utility function to create a PrismaClient with custom options
|
|
5
|
+
export const createPrismaClient = (options) => {
|
|
6
|
+
const config = {};
|
|
7
|
+
if (options?.databaseUrl) {
|
|
8
|
+
config.datasources = {
|
|
9
|
+
db: {
|
|
10
|
+
url: options.databaseUrl,
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
if (options?.log) {
|
|
15
|
+
config.log = options.log;
|
|
16
|
+
}
|
|
17
|
+
return new PrismaClient(config);
|
|
18
|
+
};
|
|
19
|
+
// Export database configuration helpers
|
|
20
|
+
export const getDefaultDatabaseUrl = () => {
|
|
21
|
+
return process.env.DATABASE_URL || "postgresql://postgres:your_secure_password@localhost:5432/freelance_db?schema=public";
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAS5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,gEAAgE;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAGlC,EAAE,EAAE;IACH,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;QACzB,MAAM,CAAC,WAAW,GAAG;YACnB,EAAE,EAAE;gBACF,GAAG,EAAE,OAAO,CAAC,WAAW;aACzB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,sFAAsF,CAAC;AAC5H,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./index"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./index"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./default"
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
|
|
2
|
+
/* !!! This is code generated by Prisma. Do not edit directly. !!!
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
|
|
7
|
+
const {
|
|
8
|
+
PrismaClientKnownRequestError,
|
|
9
|
+
PrismaClientUnknownRequestError,
|
|
10
|
+
PrismaClientRustPanicError,
|
|
11
|
+
PrismaClientInitializationError,
|
|
12
|
+
PrismaClientValidationError,
|
|
13
|
+
getPrismaClient,
|
|
14
|
+
sqltag,
|
|
15
|
+
empty,
|
|
16
|
+
join,
|
|
17
|
+
raw,
|
|
18
|
+
skip,
|
|
19
|
+
Decimal,
|
|
20
|
+
Debug,
|
|
21
|
+
objectEnumValues,
|
|
22
|
+
makeStrictEnum,
|
|
23
|
+
Extensions,
|
|
24
|
+
warnOnce,
|
|
25
|
+
defineDmmfProperty,
|
|
26
|
+
Public,
|
|
27
|
+
getRuntime,
|
|
28
|
+
createParam,
|
|
29
|
+
} = require('./runtime/edge.js')
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
const Prisma = {}
|
|
33
|
+
|
|
34
|
+
exports.Prisma = Prisma
|
|
35
|
+
exports.$Enums = {}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Prisma Client JS version: 6.16.3
|
|
39
|
+
* Query Engine version: bb420e667c1820a8c05a38023385f6cc7ef8e83a
|
|
40
|
+
*/
|
|
41
|
+
Prisma.prismaVersion = {
|
|
42
|
+
client: "6.16.3",
|
|
43
|
+
engine: "bb420e667c1820a8c05a38023385f6cc7ef8e83a"
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError;
|
|
47
|
+
Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError
|
|
48
|
+
Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError
|
|
49
|
+
Prisma.PrismaClientInitializationError = PrismaClientInitializationError
|
|
50
|
+
Prisma.PrismaClientValidationError = PrismaClientValidationError
|
|
51
|
+
Prisma.Decimal = Decimal
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Re-export of sql-template-tag
|
|
55
|
+
*/
|
|
56
|
+
Prisma.sql = sqltag
|
|
57
|
+
Prisma.empty = empty
|
|
58
|
+
Prisma.join = join
|
|
59
|
+
Prisma.raw = raw
|
|
60
|
+
Prisma.validator = Public.validator
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Extensions
|
|
64
|
+
*/
|
|
65
|
+
Prisma.getExtensionContext = Extensions.getExtensionContext
|
|
66
|
+
Prisma.defineExtension = Extensions.defineExtension
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Shorthand utilities for JSON filtering
|
|
70
|
+
*/
|
|
71
|
+
Prisma.DbNull = objectEnumValues.instances.DbNull
|
|
72
|
+
Prisma.JsonNull = objectEnumValues.instances.JsonNull
|
|
73
|
+
Prisma.AnyNull = objectEnumValues.instances.AnyNull
|
|
74
|
+
|
|
75
|
+
Prisma.NullTypes = {
|
|
76
|
+
DbNull: objectEnumValues.classes.DbNull,
|
|
77
|
+
JsonNull: objectEnumValues.classes.JsonNull,
|
|
78
|
+
AnyNull: objectEnumValues.classes.AnyNull
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Enums
|
|
87
|
+
*/
|
|
88
|
+
exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
|
|
89
|
+
ReadUncommitted: 'ReadUncommitted',
|
|
90
|
+
ReadCommitted: 'ReadCommitted',
|
|
91
|
+
RepeatableRead: 'RepeatableRead',
|
|
92
|
+
Serializable: 'Serializable'
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
exports.Prisma.UserScalarFieldEnum = {
|
|
96
|
+
id: 'id',
|
|
97
|
+
username: 'username',
|
|
98
|
+
email: 'email',
|
|
99
|
+
passwordHash: 'passwordHash',
|
|
100
|
+
is_active: 'is_active',
|
|
101
|
+
must_reset_password: 'must_reset_password',
|
|
102
|
+
created_at: 'created_at',
|
|
103
|
+
updated_at: 'updated_at'
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
exports.Prisma.PasswordResetTokenScalarFieldEnum = {
|
|
107
|
+
id: 'id',
|
|
108
|
+
user_id: 'user_id',
|
|
109
|
+
reset_token: 'reset_token',
|
|
110
|
+
expires_at: 'expires_at',
|
|
111
|
+
used: 'used'
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
exports.Prisma.SortOrder = {
|
|
115
|
+
asc: 'asc',
|
|
116
|
+
desc: 'desc'
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
exports.Prisma.QueryMode = {
|
|
120
|
+
default: 'default',
|
|
121
|
+
insensitive: 'insensitive'
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
exports.Prisma.ModelName = {
|
|
126
|
+
User: 'User',
|
|
127
|
+
PasswordResetToken: 'PasswordResetToken'
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Create the Client
|
|
131
|
+
*/
|
|
132
|
+
const config = {
|
|
133
|
+
"generator": {
|
|
134
|
+
"name": "client",
|
|
135
|
+
"provider": {
|
|
136
|
+
"fromEnvVar": null,
|
|
137
|
+
"value": "prisma-client-js"
|
|
138
|
+
},
|
|
139
|
+
"output": {
|
|
140
|
+
"value": "/Users/devuser01/Documents/MartinGithub/freelance-project/postgresql-prisma/generated/prisma",
|
|
141
|
+
"fromEnvVar": null
|
|
142
|
+
},
|
|
143
|
+
"config": {
|
|
144
|
+
"engineType": "library"
|
|
145
|
+
},
|
|
146
|
+
"binaryTargets": [
|
|
147
|
+
{
|
|
148
|
+
"fromEnvVar": null,
|
|
149
|
+
"value": "darwin-arm64",
|
|
150
|
+
"native": true
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"previewFeatures": [],
|
|
154
|
+
"sourceFilePath": "/Users/devuser01/Documents/MartinGithub/freelance-project/postgresql-prisma/prisma/schema.prisma",
|
|
155
|
+
"isCustomOutput": true
|
|
156
|
+
},
|
|
157
|
+
"relativeEnvPaths": {
|
|
158
|
+
"rootEnvPath": null,
|
|
159
|
+
"schemaEnvPath": "../../.env"
|
|
160
|
+
},
|
|
161
|
+
"relativePath": "../../prisma",
|
|
162
|
+
"clientVersion": "6.16.3",
|
|
163
|
+
"engineVersion": "bb420e667c1820a8c05a38023385f6cc7ef8e83a",
|
|
164
|
+
"datasourceNames": [
|
|
165
|
+
"db"
|
|
166
|
+
],
|
|
167
|
+
"activeProvider": "postgresql",
|
|
168
|
+
"postinstall": false,
|
|
169
|
+
"inlineDatasources": {
|
|
170
|
+
"db": {
|
|
171
|
+
"url": {
|
|
172
|
+
"fromEnvVar": "DATABASE_URL",
|
|
173
|
+
"value": null
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel User {\n id String @id @default(uuid())\n username String @unique\n email String @unique\n passwordHash String // Hashed password\n is_active Boolean\n must_reset_password Boolean\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n\n PasswordResetTokens PasswordResetToken[]\n}\n\nmodel PasswordResetToken {\n id String @id @default(uuid())\n user User @relation(fields: [user_id], references: [id])\n user_id String\n reset_token String // Hashed\n expires_at DateTime\n used Boolean\n}\n",
|
|
178
|
+
"inlineSchemaHash": "c4e23dc59763709dd29d03a9006f79e39b1bb63dfdd6af3874fc971c1c262691",
|
|
179
|
+
"copyEngine": true
|
|
180
|
+
}
|
|
181
|
+
config.dirname = '/'
|
|
182
|
+
|
|
183
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"must_reset_password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"PasswordResetTokens\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PasswordResetToken\",\"nativeType\":null,\"relationName\":\"PasswordResetTokenToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PasswordResetToken\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"uuid\",\"args\":[4]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"PasswordResetTokenToUser\",\"relationFromFields\":[\"user_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reset_token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"used\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
|
184
|
+
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
|
185
|
+
config.engineWasm = undefined
|
|
186
|
+
config.compilerWasm = undefined
|
|
187
|
+
|
|
188
|
+
config.injectableEdgeEnv = () => ({
|
|
189
|
+
parsed: {
|
|
190
|
+
DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined
|
|
191
|
+
}
|
|
192
|
+
})
|
|
193
|
+
|
|
194
|
+
if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) {
|
|
195
|
+
Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined)
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
const PrismaClient = getPrismaClient(config)
|
|
199
|
+
exports.PrismaClient = PrismaClient
|
|
200
|
+
Object.assign(exports, Prisma)
|
|
201
|
+
|