@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 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":"AASA,qBACa,OAAO;IAElB,EAAE,EAAE,MAAM,CAAC;IAKX,IAAI,EAAE,MAAM,CAAC;IAKb,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,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"}
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;AAGV,IAAM,OAAO,GAAb,MAAM,OAAO;IAElB,EAAE,CAAS;IAKX,IAAI,CAAS;IAKb,WAAW,CAAU;IAKrB,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;AAxDY,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;AAKrB;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;kBAvDL,OAAO;IADnB,IAAA,gBAAM,EAAC,SAAS,CAAC;GACL,OAAO,CAwDnB"}
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
@@ -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":";;;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"}
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.6",
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
+ }