@venturialstd/project 0.0.6 → 0.0.7
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 +278 -278
- package/dist/constants/project.constant.d.ts +21 -0
- package/dist/constants/project.constant.d.ts.map +1 -0
- package/dist/constants/project.constant.js +27 -0
- package/dist/constants/project.constant.js.map +1 -0
- package/dist/entities/project.entity.d.ts +3 -0
- package/dist/entities/project.entity.d.ts.map +1 -1
- package/dist/entities/project.entity.js +13 -0
- package/dist/entities/project.entity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/package.json +54 -54
package/README.md
CHANGED
|
@@ -1,278 +1,278 @@
|
|
|
1
|
-
# @venturialstd/project
|
|
2
|
-
|
|
3
|
-
A NestJS module for managing organizational projects with CRUD operations and organization-specific project management.
|
|
4
|
-
|
|
5
|
-
## 📋 Table of Contents
|
|
6
|
-
|
|
7
|
-
- [Features](#features)
|
|
8
|
-
- [Installation](#installation)
|
|
9
|
-
- [Quick Start](#quick-start)
|
|
10
|
-
- [API Reference](#api-reference)
|
|
11
|
-
- [Examples](#examples)
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## ✨ Features
|
|
16
|
-
|
|
17
|
-
- 🏢 **Project Management**: Complete CRUD operations for projects
|
|
18
|
-
- 🏷️ **Project Attributes**: Support for keys, statuses, tags, and date ranges
|
|
19
|
-
- 📦 **Organization Isolation**: Each project belongs to a specific organization
|
|
20
|
-
- 🔄 **TypeORM Integration**: Full database support with TypeORM
|
|
21
|
-
- 📦 **Fully Typed**: Complete TypeScript support
|
|
22
|
-
- 🎯 **Archive Support**: Archive and unarchive projects
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## 📦 Installation
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
npm install @venturialstd/project
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Peer Dependencies
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"@dataui/crud": "^6.0.0",
|
|
37
|
-
"@dataui/crud-typeorm": "^6.0.0",
|
|
38
|
-
"@nestjs/common": "^11.0.11",
|
|
39
|
-
"@nestjs/core": "^11.0.5",
|
|
40
|
-
"@nestjs/swagger": "^8.0.3",
|
|
41
|
-
"@nestjs/typeorm": "^10.0.0",
|
|
42
|
-
"class-transformer": "^0.5.1",
|
|
43
|
-
"class-validator": "^0.14.1",
|
|
44
|
-
"typeorm": "^0.3.20"
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## 🚀 Quick Start
|
|
51
|
-
|
|
52
|
-
### 1. Import the Module
|
|
53
|
-
|
|
54
|
-
```typescript
|
|
55
|
-
import { Module } from '@nestjs/common';
|
|
56
|
-
import { ProjectModule } from '@venturialstd/project';
|
|
57
|
-
|
|
58
|
-
@Module({
|
|
59
|
-
imports: [ProjectModule],
|
|
60
|
-
})
|
|
61
|
-
export class AppModule {}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 2. Use the Services
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
import { Injectable } from '@nestjs/common';
|
|
68
|
-
import {
|
|
69
|
-
OrganizationProjectService,
|
|
70
|
-
CreateProjectDto,
|
|
71
|
-
OrganizationProject,
|
|
72
|
-
} from '@venturialstd/project';
|
|
73
|
-
|
|
74
|
-
@Injectable()
|
|
75
|
-
export class YourService {
|
|
76
|
-
constructor(
|
|
77
|
-
private readonly projectService: OrganizationProjectService,
|
|
78
|
-
) {}
|
|
79
|
-
|
|
80
|
-
async createProject(organizationId: string, name: string) {
|
|
81
|
-
return this.projectService.createProjectForOrganization({
|
|
82
|
-
organizationId,
|
|
83
|
-
name,
|
|
84
|
-
description: 'My new project',
|
|
85
|
-
status: 'active',
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
async getProjects(organizationId: string) {
|
|
90
|
-
return this.projectService.getProjectsByOrganization(organizationId);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## 📚 API Reference
|
|
98
|
-
|
|
99
|
-
### Services
|
|
100
|
-
|
|
101
|
-
#### OrganizationProjectService
|
|
102
|
-
|
|
103
|
-
```typescript
|
|
104
|
-
class OrganizationProjectService {
|
|
105
|
-
// Create a new project
|
|
106
|
-
createProjectForOrganization(dto: CreateProjectDto): Promise<OrganizationProject>
|
|
107
|
-
|
|
108
|
-
// Update a project
|
|
109
|
-
updateProject(id: string, dto: UpdateProjectDto): Promise<OrganizationProject | null>
|
|
110
|
-
|
|
111
|
-
// Get all projects for an organization
|
|
112
|
-
getProjectsByOrganization(
|
|
113
|
-
organizationId: string,
|
|
114
|
-
includeArchived?: boolean
|
|
115
|
-
): Promise<OrganizationProject[]>
|
|
116
|
-
|
|
117
|
-
// Get project by ID
|
|
118
|
-
getProjectById(id: string): Promise<OrganizationProject | null>
|
|
119
|
-
|
|
120
|
-
// Get active projects
|
|
121
|
-
getActiveProjectsByOrganization(organizationId: string): Promise<OrganizationProject[]>
|
|
122
|
-
|
|
123
|
-
// Archive a project
|
|
124
|
-
archiveProject(id: string): Promise<OrganizationProject | null>
|
|
125
|
-
|
|
126
|
-
// Delete a project
|
|
127
|
-
deleteProject(id: string): Promise<void>
|
|
128
|
-
}
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### Entities
|
|
132
|
-
|
|
133
|
-
#### OrganizationProject
|
|
134
|
-
|
|
135
|
-
```typescript
|
|
136
|
-
class OrganizationProject {
|
|
137
|
-
id: string;
|
|
138
|
-
organizationId: string;
|
|
139
|
-
name: string;
|
|
140
|
-
description?: string;
|
|
141
|
-
key?: string; // Project key/code (e.g., "PROJ", "DEV")
|
|
142
|
-
status?: string; // e.g., "active", "completed", "archived", "on-hold"
|
|
143
|
-
startDate?: Date;
|
|
144
|
-
endDate?: Date;
|
|
145
|
-
ownerId?: string; // User who owns/leads the project
|
|
146
|
-
tags?: string[];
|
|
147
|
-
isArchived: boolean;
|
|
148
|
-
createdAt: Date;
|
|
149
|
-
updatedAt: Date;
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### DTOs
|
|
154
|
-
|
|
155
|
-
#### CreateProjectDto
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
class CreateProjectDto {
|
|
159
|
-
organizationId: string; // Required
|
|
160
|
-
name: string; // Required
|
|
161
|
-
description?: string;
|
|
162
|
-
key?: string;
|
|
163
|
-
status?: string;
|
|
164
|
-
startDate?: string; // ISO date string
|
|
165
|
-
endDate?: string; // ISO date string
|
|
166
|
-
ownerId?: string;
|
|
167
|
-
tags?: string[];
|
|
168
|
-
isArchived?: boolean;
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
#### UpdateProjectDto
|
|
173
|
-
|
|
174
|
-
```typescript
|
|
175
|
-
class UpdateProjectDto {
|
|
176
|
-
name?: string;
|
|
177
|
-
description?: string;
|
|
178
|
-
key?: string;
|
|
179
|
-
status?: string;
|
|
180
|
-
startDate?: string;
|
|
181
|
-
endDate?: string;
|
|
182
|
-
ownerId?: string;
|
|
183
|
-
tags?: string[];
|
|
184
|
-
isArchived?: boolean;
|
|
185
|
-
}
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## 💻 Examples
|
|
191
|
-
|
|
192
|
-
### Example 1: Create and Configure a Project
|
|
193
|
-
|
|
194
|
-
```typescript
|
|
195
|
-
@Injectable()
|
|
196
|
-
export class ProjectSetupService {
|
|
197
|
-
constructor(
|
|
198
|
-
private readonly projectService: OrganizationProjectService,
|
|
199
|
-
) {}
|
|
200
|
-
|
|
201
|
-
async setupNewProject(organizationId: string, ownerId: string) {
|
|
202
|
-
const project = await this.projectService.createProjectForOrganization({
|
|
203
|
-
organizationId,
|
|
204
|
-
name: 'Q1 2024 Initiative',
|
|
205
|
-
description: 'Strategic goals for Q1 2024',
|
|
206
|
-
key: 'Q1-2024',
|
|
207
|
-
status: 'active',
|
|
208
|
-
startDate: '2024-01-01',
|
|
209
|
-
endDate: '2024-03-31',
|
|
210
|
-
ownerId,
|
|
211
|
-
tags: ['strategic', 'quarterly'],
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
return project;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
### Example 2: Get Active Projects
|
|
220
|
-
|
|
221
|
-
```typescript
|
|
222
|
-
@Injectable()
|
|
223
|
-
export class DashboardService {
|
|
224
|
-
constructor(
|
|
225
|
-
private readonly projectService: OrganizationProjectService,
|
|
226
|
-
) {}
|
|
227
|
-
|
|
228
|
-
async getActiveDashboard(organizationId: string) {
|
|
229
|
-
const activeProjects = await this.projectService.getActiveProjectsByOrganization(
|
|
230
|
-
organizationId
|
|
231
|
-
);
|
|
232
|
-
|
|
233
|
-
return {
|
|
234
|
-
total: activeProjects.length,
|
|
235
|
-
projects: activeProjects,
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
### Example 3: Archive Completed Projects
|
|
242
|
-
|
|
243
|
-
```typescript
|
|
244
|
-
@Injectable()
|
|
245
|
-
export class ProjectMaintenanceService {
|
|
246
|
-
constructor(
|
|
247
|
-
private readonly projectService: OrganizationProjectService,
|
|
248
|
-
) {}
|
|
249
|
-
|
|
250
|
-
async archiveCompletedProjects(organizationId: string) {
|
|
251
|
-
const projects = await this.projectService.getProjectsByOrganization(
|
|
252
|
-
organizationId
|
|
253
|
-
);
|
|
254
|
-
|
|
255
|
-
const completedProjects = projects.filter(
|
|
256
|
-
p => p.status === 'completed' && !p.isArchived
|
|
257
|
-
);
|
|
258
|
-
|
|
259
|
-
for (const project of completedProjects) {
|
|
260
|
-
await this.projectService.archiveProject(project.id);
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
return { archived: completedProjects.length };
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
## 📄 License
|
|
271
|
-
|
|
272
|
-
MIT
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
## 🤝 Contributing
|
|
277
|
-
|
|
278
|
-
Contributions welcome! Please read the contributing guidelines before submitting PRs.
|
|
1
|
+
# @venturialstd/project
|
|
2
|
+
|
|
3
|
+
A NestJS module for managing organizational projects with CRUD operations and organization-specific project management.
|
|
4
|
+
|
|
5
|
+
## 📋 Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Features](#features)
|
|
8
|
+
- [Installation](#installation)
|
|
9
|
+
- [Quick Start](#quick-start)
|
|
10
|
+
- [API Reference](#api-reference)
|
|
11
|
+
- [Examples](#examples)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ✨ Features
|
|
16
|
+
|
|
17
|
+
- 🏢 **Project Management**: Complete CRUD operations for projects
|
|
18
|
+
- 🏷️ **Project Attributes**: Support for keys, statuses, tags, and date ranges
|
|
19
|
+
- 📦 **Organization Isolation**: Each project belongs to a specific organization
|
|
20
|
+
- 🔄 **TypeORM Integration**: Full database support with TypeORM
|
|
21
|
+
- 📦 **Fully Typed**: Complete TypeScript support
|
|
22
|
+
- 🎯 **Archive Support**: Archive and unarchive projects
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 📦 Installation
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install @venturialstd/project
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Peer Dependencies
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"@dataui/crud": "^6.0.0",
|
|
37
|
+
"@dataui/crud-typeorm": "^6.0.0",
|
|
38
|
+
"@nestjs/common": "^11.0.11",
|
|
39
|
+
"@nestjs/core": "^11.0.5",
|
|
40
|
+
"@nestjs/swagger": "^8.0.3",
|
|
41
|
+
"@nestjs/typeorm": "^10.0.0",
|
|
42
|
+
"class-transformer": "^0.5.1",
|
|
43
|
+
"class-validator": "^0.14.1",
|
|
44
|
+
"typeorm": "^0.3.20"
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 🚀 Quick Start
|
|
51
|
+
|
|
52
|
+
### 1. Import the Module
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
import { Module } from '@nestjs/common';
|
|
56
|
+
import { ProjectModule } from '@venturialstd/project';
|
|
57
|
+
|
|
58
|
+
@Module({
|
|
59
|
+
imports: [ProjectModule],
|
|
60
|
+
})
|
|
61
|
+
export class AppModule {}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 2. Use the Services
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
import { Injectable } from '@nestjs/common';
|
|
68
|
+
import {
|
|
69
|
+
OrganizationProjectService,
|
|
70
|
+
CreateProjectDto,
|
|
71
|
+
OrganizationProject,
|
|
72
|
+
} from '@venturialstd/project';
|
|
73
|
+
|
|
74
|
+
@Injectable()
|
|
75
|
+
export class YourService {
|
|
76
|
+
constructor(
|
|
77
|
+
private readonly projectService: OrganizationProjectService,
|
|
78
|
+
) {}
|
|
79
|
+
|
|
80
|
+
async createProject(organizationId: string, name: string) {
|
|
81
|
+
return this.projectService.createProjectForOrganization({
|
|
82
|
+
organizationId,
|
|
83
|
+
name,
|
|
84
|
+
description: 'My new project',
|
|
85
|
+
status: 'active',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async getProjects(organizationId: string) {
|
|
90
|
+
return this.projectService.getProjectsByOrganization(organizationId);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 📚 API Reference
|
|
98
|
+
|
|
99
|
+
### Services
|
|
100
|
+
|
|
101
|
+
#### OrganizationProjectService
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
class OrganizationProjectService {
|
|
105
|
+
// Create a new project
|
|
106
|
+
createProjectForOrganization(dto: CreateProjectDto): Promise<OrganizationProject>
|
|
107
|
+
|
|
108
|
+
// Update a project
|
|
109
|
+
updateProject(id: string, dto: UpdateProjectDto): Promise<OrganizationProject | null>
|
|
110
|
+
|
|
111
|
+
// Get all projects for an organization
|
|
112
|
+
getProjectsByOrganization(
|
|
113
|
+
organizationId: string,
|
|
114
|
+
includeArchived?: boolean
|
|
115
|
+
): Promise<OrganizationProject[]>
|
|
116
|
+
|
|
117
|
+
// Get project by ID
|
|
118
|
+
getProjectById(id: string): Promise<OrganizationProject | null>
|
|
119
|
+
|
|
120
|
+
// Get active projects
|
|
121
|
+
getActiveProjectsByOrganization(organizationId: string): Promise<OrganizationProject[]>
|
|
122
|
+
|
|
123
|
+
// Archive a project
|
|
124
|
+
archiveProject(id: string): Promise<OrganizationProject | null>
|
|
125
|
+
|
|
126
|
+
// Delete a project
|
|
127
|
+
deleteProject(id: string): Promise<void>
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Entities
|
|
132
|
+
|
|
133
|
+
#### OrganizationProject
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
class OrganizationProject {
|
|
137
|
+
id: string;
|
|
138
|
+
organizationId: string;
|
|
139
|
+
name: string;
|
|
140
|
+
description?: string;
|
|
141
|
+
key?: string; // Project key/code (e.g., "PROJ", "DEV")
|
|
142
|
+
status?: string; // e.g., "active", "completed", "archived", "on-hold"
|
|
143
|
+
startDate?: Date;
|
|
144
|
+
endDate?: Date;
|
|
145
|
+
ownerId?: string; // User who owns/leads the project
|
|
146
|
+
tags?: string[];
|
|
147
|
+
isArchived: boolean;
|
|
148
|
+
createdAt: Date;
|
|
149
|
+
updatedAt: Date;
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### DTOs
|
|
154
|
+
|
|
155
|
+
#### CreateProjectDto
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
class CreateProjectDto {
|
|
159
|
+
organizationId: string; // Required
|
|
160
|
+
name: string; // Required
|
|
161
|
+
description?: string;
|
|
162
|
+
key?: string;
|
|
163
|
+
status?: string;
|
|
164
|
+
startDate?: string; // ISO date string
|
|
165
|
+
endDate?: string; // ISO date string
|
|
166
|
+
ownerId?: string;
|
|
167
|
+
tags?: string[];
|
|
168
|
+
isArchived?: boolean;
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### UpdateProjectDto
|
|
173
|
+
|
|
174
|
+
```typescript
|
|
175
|
+
class UpdateProjectDto {
|
|
176
|
+
name?: string;
|
|
177
|
+
description?: string;
|
|
178
|
+
key?: string;
|
|
179
|
+
status?: string;
|
|
180
|
+
startDate?: string;
|
|
181
|
+
endDate?: string;
|
|
182
|
+
ownerId?: string;
|
|
183
|
+
tags?: string[];
|
|
184
|
+
isArchived?: boolean;
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 💻 Examples
|
|
191
|
+
|
|
192
|
+
### Example 1: Create and Configure a Project
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
@Injectable()
|
|
196
|
+
export class ProjectSetupService {
|
|
197
|
+
constructor(
|
|
198
|
+
private readonly projectService: OrganizationProjectService,
|
|
199
|
+
) {}
|
|
200
|
+
|
|
201
|
+
async setupNewProject(organizationId: string, ownerId: string) {
|
|
202
|
+
const project = await this.projectService.createProjectForOrganization({
|
|
203
|
+
organizationId,
|
|
204
|
+
name: 'Q1 2024 Initiative',
|
|
205
|
+
description: 'Strategic goals for Q1 2024',
|
|
206
|
+
key: 'Q1-2024',
|
|
207
|
+
status: 'active',
|
|
208
|
+
startDate: '2024-01-01',
|
|
209
|
+
endDate: '2024-03-31',
|
|
210
|
+
ownerId,
|
|
211
|
+
tags: ['strategic', 'quarterly'],
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
return project;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Example 2: Get Active Projects
|
|
220
|
+
|
|
221
|
+
```typescript
|
|
222
|
+
@Injectable()
|
|
223
|
+
export class DashboardService {
|
|
224
|
+
constructor(
|
|
225
|
+
private readonly projectService: OrganizationProjectService,
|
|
226
|
+
) {}
|
|
227
|
+
|
|
228
|
+
async getActiveDashboard(organizationId: string) {
|
|
229
|
+
const activeProjects = await this.projectService.getActiveProjectsByOrganization(
|
|
230
|
+
organizationId
|
|
231
|
+
);
|
|
232
|
+
|
|
233
|
+
return {
|
|
234
|
+
total: activeProjects.length,
|
|
235
|
+
projects: activeProjects,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Example 3: Archive Completed Projects
|
|
242
|
+
|
|
243
|
+
```typescript
|
|
244
|
+
@Injectable()
|
|
245
|
+
export class ProjectMaintenanceService {
|
|
246
|
+
constructor(
|
|
247
|
+
private readonly projectService: OrganizationProjectService,
|
|
248
|
+
) {}
|
|
249
|
+
|
|
250
|
+
async archiveCompletedProjects(organizationId: string) {
|
|
251
|
+
const projects = await this.projectService.getProjectsByOrganization(
|
|
252
|
+
organizationId
|
|
253
|
+
);
|
|
254
|
+
|
|
255
|
+
const completedProjects = projects.filter(
|
|
256
|
+
p => p.status === 'completed' && !p.isArchived
|
|
257
|
+
);
|
|
258
|
+
|
|
259
|
+
for (const project of completedProjects) {
|
|
260
|
+
await this.projectService.archiveProject(project.id);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
return { archived: completedProjects.length };
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 📄 License
|
|
271
|
+
|
|
272
|
+
MIT
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 🤝 Contributing
|
|
277
|
+
|
|
278
|
+
Contributions welcome! Please read the contributing guidelines before submitting PRs.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare enum PROJECT_ENVIRONMENT {
|
|
2
|
+
LOCAL = "local",
|
|
3
|
+
DEVELOPMENT = "development",
|
|
4
|
+
TEST = "test",
|
|
5
|
+
STAGING = "staging",
|
|
6
|
+
PRODUCTION = "production"
|
|
7
|
+
}
|
|
8
|
+
export declare enum PROJECT_TYPE {
|
|
9
|
+
WEB = "web",
|
|
10
|
+
API = "api",
|
|
11
|
+
MOBILE = "mobile",
|
|
12
|
+
CLI = "cli",
|
|
13
|
+
WORKER = "worker",
|
|
14
|
+
BFF = "bff"
|
|
15
|
+
}
|
|
16
|
+
export declare enum PROJECT_GIT_PROVIDER {
|
|
17
|
+
GITHUB = "github",
|
|
18
|
+
GITLAB = "gitlab",
|
|
19
|
+
BITBUCKET = "bitbucket"
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=project.constant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.constant.d.ts","sourceRoot":"","sources":["../../src/constants/project.constant.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC3B,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAED,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PROJECT_GIT_PROVIDER = exports.PROJECT_TYPE = exports.PROJECT_ENVIRONMENT = void 0;
|
|
4
|
+
var PROJECT_ENVIRONMENT;
|
|
5
|
+
(function (PROJECT_ENVIRONMENT) {
|
|
6
|
+
PROJECT_ENVIRONMENT["LOCAL"] = "local";
|
|
7
|
+
PROJECT_ENVIRONMENT["DEVELOPMENT"] = "development";
|
|
8
|
+
PROJECT_ENVIRONMENT["TEST"] = "test";
|
|
9
|
+
PROJECT_ENVIRONMENT["STAGING"] = "staging";
|
|
10
|
+
PROJECT_ENVIRONMENT["PRODUCTION"] = "production";
|
|
11
|
+
})(PROJECT_ENVIRONMENT || (exports.PROJECT_ENVIRONMENT = PROJECT_ENVIRONMENT = {}));
|
|
12
|
+
var PROJECT_TYPE;
|
|
13
|
+
(function (PROJECT_TYPE) {
|
|
14
|
+
PROJECT_TYPE["WEB"] = "web";
|
|
15
|
+
PROJECT_TYPE["API"] = "api";
|
|
16
|
+
PROJECT_TYPE["MOBILE"] = "mobile";
|
|
17
|
+
PROJECT_TYPE["CLI"] = "cli";
|
|
18
|
+
PROJECT_TYPE["WORKER"] = "worker";
|
|
19
|
+
PROJECT_TYPE["BFF"] = "bff";
|
|
20
|
+
})(PROJECT_TYPE || (exports.PROJECT_TYPE = PROJECT_TYPE = {}));
|
|
21
|
+
var PROJECT_GIT_PROVIDER;
|
|
22
|
+
(function (PROJECT_GIT_PROVIDER) {
|
|
23
|
+
PROJECT_GIT_PROVIDER["GITHUB"] = "github";
|
|
24
|
+
PROJECT_GIT_PROVIDER["GITLAB"] = "gitlab";
|
|
25
|
+
PROJECT_GIT_PROVIDER["BITBUCKET"] = "bitbucket";
|
|
26
|
+
})(PROJECT_GIT_PROVIDER || (exports.PROJECT_GIT_PROVIDER = PROJECT_GIT_PROVIDER = {}));
|
|
27
|
+
//# sourceMappingURL=project.constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.constant.js","sourceRoot":"","sources":["../../src/constants/project.constant.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAMT;AANH,WAAY,mBAAmB;IAC3B,sCAAe,CAAA;IACf,kDAA2B,CAAA;IAC3B,oCAAa,CAAA;IACb,0CAAmB,CAAA;IACnB,gDAAyB,CAAA;AAC3B,CAAC,EANS,mBAAmB,mCAAnB,mBAAmB,QAM5B;AAED,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,iCAAiB,CAAA;IACjB,2BAAW,CAAA;IACX,iCAAiB,CAAA;IACjB,2BAAW,CAAA;AACb,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB;AAED,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,yCAAiB,CAAA;IACjB,+CAAuB,CAAA;AACzB,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { PROJECT_ENVIRONMENT, PROJECT_TYPE } from '../constants/project.constant';
|
|
1
2
|
export declare class Project {
|
|
2
3
|
id: string;
|
|
3
4
|
name: string;
|
|
4
5
|
description?: string;
|
|
6
|
+
type: PROJECT_TYPE;
|
|
7
|
+
environment?: PROJECT_ENVIRONMENT;
|
|
5
8
|
key?: string;
|
|
6
9
|
status?: string;
|
|
7
10
|
startDate?: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.entity.d.ts","sourceRoot":"","sources":["../../src/entities/project.entity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project.entity.d.ts","sourceRoot":"","sources":["../../src/entities/project.entity.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElF,qBACa,OAAO;IAElB,EAAE,EAAE,MAAM,CAAC;IAKX,IAAI,EAAE,MAAM,CAAC;IAKb,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,IAAI,EAAE,YAAY,CAAC;IAInB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAKlC,GAAG,CAAC,EAAE,MAAM,CAAC;IAKb,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,IAAI,CAAC;IAGjB,OAAO,CAAC,EAAE,IAAI,CAAC;IAKf,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAGhB,UAAU,EAAE,OAAO,CAAC;IAQpB,SAAS,EAAE,IAAI,CAAC;IAQhB,SAAS,EAAE,IAAI,CAAC;CACjB"}
|
|
@@ -12,10 +12,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.Project = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const typeorm_1 = require("typeorm");
|
|
15
|
+
const project_constant_1 = require("../constants/project.constant");
|
|
15
16
|
let Project = class Project {
|
|
16
17
|
id;
|
|
17
18
|
name;
|
|
18
19
|
description;
|
|
20
|
+
type;
|
|
21
|
+
environment;
|
|
19
22
|
key;
|
|
20
23
|
status;
|
|
21
24
|
startDate;
|
|
@@ -43,6 +46,16 @@ __decorate([
|
|
|
43
46
|
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
44
47
|
__metadata("design:type", String)
|
|
45
48
|
], Project.prototype, "description", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
51
|
+
(0, typeorm_1.Column)({ type: 'enum', enum: project_constant_1.PROJECT_TYPE, nullable: false }),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], Project.prototype, "type", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, class_validator_1.IsOptional)(),
|
|
56
|
+
(0, typeorm_1.Column)({ type: 'enum', enum: project_constant_1.PROJECT_ENVIRONMENT, nullable: true, default: project_constant_1.PROJECT_ENVIRONMENT.LOCAL }),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], Project.prototype, "environment", void 0);
|
|
46
59
|
__decorate([
|
|
47
60
|
(0, class_validator_1.IsString)(),
|
|
48
61
|
(0, class_validator_1.IsOptional)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.entity.js","sourceRoot":"","sources":["../../src/entities/project.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2E;AAC3E,qCAMiB;
|
|
1
|
+
{"version":3,"file":"project.entity.js","sourceRoot":"","sources":["../../src/entities/project.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA2E;AAC3E,qCAMiB;AACjB,oEAAkF;AAG3E,IAAM,OAAO,GAAb,MAAM,OAAO;IAElB,EAAE,CAAS;IAKX,IAAI,CAAS;IAKb,WAAW,CAAU;IAIrB,IAAI,CAAe;IAInB,WAAW,CAAuB;IAKlC,GAAG,CAAU;IAKb,MAAM,CAAU;IAGhB,SAAS,CAAQ;IAGjB,OAAO,CAAQ;IAKf,OAAO,CAAU;IAGjB,IAAI,CAAY;IAGhB,UAAU,CAAU;IAQpB,SAAS,CAAO;IAQhB,SAAS,CAAO;CACjB,CAAA;AAhEY,0BAAO;AAElB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;mCACpB;AAKX;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,gBAAM,GAAE;;qCACI;AAKb;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACpB;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;qCAC3C;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,sCAAmB,CAAC,KAAK,EAAE,CAAC;;4CACtE;AAKlC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCACd;AAKb;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACX;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC7B,IAAI;0CAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC/B,IAAI;wCAAC;AAKf;IAHC,IAAA,wBAAM,GAAE;IACR,IAAA,4BAAU,GAAE;IACZ,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACV;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCACjC;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;2CACP;AAQpB;IANC,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB;KACnC,CAAC;8BACS,IAAI;0CAAC;AAQhB;IANC,IAAA,0BAAgB,EAAC;QAChB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB;KACnC,CAAC;8BACS,IAAI;0CAAC;kBA/DL,OAAO;IADnB,IAAA,gBAAM,EAAC,SAAS,CAAC;GACL,OAAO,CAgEnB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ export { Project } from './entities';
|
|
|
3
3
|
export { ProjectService } from './services';
|
|
4
4
|
export { CreateProjectDto, UpdateProjectDto } from './dtos';
|
|
5
5
|
export { ProjectController } from './controllers';
|
|
6
|
+
export * from './constants/project.constant';
|
|
6
7
|
//# 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":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,cAAc,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.ProjectController = exports.UpdateProjectDto = exports.CreateProjectDto = exports.ProjectService = exports.Project = exports.ProjectModule = void 0;
|
|
4
18
|
var project_module_1 = require("./project.module");
|
|
@@ -12,4 +26,5 @@ Object.defineProperty(exports, "CreateProjectDto", { enumerable: true, get: func
|
|
|
12
26
|
Object.defineProperty(exports, "UpdateProjectDto", { enumerable: true, get: function () { return dtos_1.UpdateProjectDto; } });
|
|
13
27
|
var controllers_1 = require("./controllers");
|
|
14
28
|
Object.defineProperty(exports, "ProjectController", { enumerable: true, get: function () { return controllers_1.ProjectController; } });
|
|
29
|
+
__exportStar(require("./constants/project.constant"), exports);
|
|
15
30
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AAGtB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAGhB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AAGvB,+BAA4D;AAAnD,wGAAA,gBAAgB,OAAA;AAAE,wGAAA,gBAAgB,OAAA;AAG3C,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAG1B,+DAA6C"}
|
package/package.json
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@venturialstd/project",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Project Management Module for Venturial - Project Entity Only",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"type": "commonjs",
|
|
8
|
-
"files": [
|
|
9
|
-
"dist"
|
|
10
|
-
],
|
|
11
|
-
"publishConfig": {
|
|
12
|
-
"access": "public"
|
|
13
|
-
},
|
|
14
|
-
"scripts": {
|
|
15
|
-
"build": "tsc -p tsconfig.json",
|
|
16
|
-
"prepublishOnly": "npm run build",
|
|
17
|
-
"release:patch": "npm run build && npm version patch --no-git-tag-version && npm publish"
|
|
18
|
-
},
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"@dataui/crud": "^5.3.4",
|
|
21
|
-
"@dataui/crud-typeorm": "^5.3.4",
|
|
22
|
-
"@nestjs/cache-manager": "^2.2.2",
|
|
23
|
-
"@nestjs/common": "^11.0.11",
|
|
24
|
-
"@nestjs/config": "^4.0.0",
|
|
25
|
-
"@nestjs/core": "^11.0.5",
|
|
26
|
-
"@nestjs/swagger": "^11.0.3",
|
|
27
|
-
"@nestjs/typeorm": "^10.0.0",
|
|
28
|
-
"@types/node": "^20.0.0",
|
|
29
|
-
"@venturialstd/core": "^1.6.6",
|
|
30
|
-
"cache-manager": "^5.7.6",
|
|
31
|
-
"class-transformer": "^0.5.1",
|
|
32
|
-
"class-validator": "^0.14.1",
|
|
33
|
-
"rxjs": "^7.8.2",
|
|
34
|
-
"ts-node": "^10.9.0",
|
|
35
|
-
"tsconfig-paths": "^4.2.0",
|
|
36
|
-
"typeorm": "^0.3.20",
|
|
37
|
-
"typescript": "^5.9.3"
|
|
38
|
-
},
|
|
39
|
-
"peerDependencies": {
|
|
40
|
-
"@dataui/crud": "^5.3.4",
|
|
41
|
-
"@dataui/crud-typeorm": "^5.3.4",
|
|
42
|
-
"@nestjs/cache-manager": "^2.2.2",
|
|
43
|
-
"@nestjs/common": "^11.0.11",
|
|
44
|
-
"@nestjs/core": "^11.0.5",
|
|
45
|
-
"@nestjs/swagger": "^11.0.3",
|
|
46
|
-
"@nestjs/typeorm": "^10.0.0",
|
|
47
|
-
"@venturialstd/core": "^1.0.16",
|
|
48
|
-
"cache-manager": "^5.7.6",
|
|
49
|
-
"class-transformer": "^0.5.1",
|
|
50
|
-
"class-validator": "^0.14.1",
|
|
51
|
-
"rxjs": "^7.8.2",
|
|
52
|
-
"typeorm": "^0.3.20"
|
|
53
|
-
}
|
|
54
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@venturialstd/project",
|
|
3
|
+
"version": "0.0.7",
|
|
4
|
+
"description": "Project Management Module for Venturial - Project Entity Only",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"type": "commonjs",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc -p tsconfig.json",
|
|
16
|
+
"prepublishOnly": "npm run build",
|
|
17
|
+
"release:patch": "npm run build && npm version patch --no-git-tag-version && npm publish"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@dataui/crud": "^5.3.4",
|
|
21
|
+
"@dataui/crud-typeorm": "^5.3.4",
|
|
22
|
+
"@nestjs/cache-manager": "^2.2.2",
|
|
23
|
+
"@nestjs/common": "^11.0.11",
|
|
24
|
+
"@nestjs/config": "^4.0.0",
|
|
25
|
+
"@nestjs/core": "^11.0.5",
|
|
26
|
+
"@nestjs/swagger": "^11.0.3",
|
|
27
|
+
"@nestjs/typeorm": "^10.0.0",
|
|
28
|
+
"@types/node": "^20.0.0",
|
|
29
|
+
"@venturialstd/core": "^1.6.6",
|
|
30
|
+
"cache-manager": "^5.7.6",
|
|
31
|
+
"class-transformer": "^0.5.1",
|
|
32
|
+
"class-validator": "^0.14.1",
|
|
33
|
+
"rxjs": "^7.8.2",
|
|
34
|
+
"ts-node": "^10.9.0",
|
|
35
|
+
"tsconfig-paths": "^4.2.0",
|
|
36
|
+
"typeorm": "^0.3.20",
|
|
37
|
+
"typescript": "^5.9.3"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"@dataui/crud": "^5.3.4",
|
|
41
|
+
"@dataui/crud-typeorm": "^5.3.4",
|
|
42
|
+
"@nestjs/cache-manager": "^2.2.2",
|
|
43
|
+
"@nestjs/common": "^11.0.11",
|
|
44
|
+
"@nestjs/core": "^11.0.5",
|
|
45
|
+
"@nestjs/swagger": "^11.0.3",
|
|
46
|
+
"@nestjs/typeorm": "^10.0.0",
|
|
47
|
+
"@venturialstd/core": "^1.0.16",
|
|
48
|
+
"cache-manager": "^5.7.6",
|
|
49
|
+
"class-transformer": "^0.5.1",
|
|
50
|
+
"class-validator": "^0.14.1",
|
|
51
|
+
"rxjs": "^7.8.2",
|
|
52
|
+
"typeorm": "^0.3.20"
|
|
53
|
+
}
|
|
54
|
+
}
|