@uecsio/pages-api 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/LICENSE +21 -0
- package/README.md +235 -0
- package/dist/controllers/pages.controller.d.ts +8 -0
- package/dist/controllers/pages.controller.d.ts.map +1 -0
- package/dist/controllers/pages.controller.js +48 -0
- package/dist/controllers/pages.controller.js.map +1 -0
- package/dist/dto/create-page.dto.d.ts +12 -0
- package/dist/dto/create-page.dto.d.ts.map +1 -0
- package/dist/dto/create-page.dto.js +102 -0
- package/dist/dto/create-page.dto.js.map +1 -0
- package/dist/dto/update-page.dto.d.ts +7 -0
- package/dist/dto/update-page.dto.d.ts.map +1 -0
- package/dist/dto/update-page.dto.js +30 -0
- package/dist/dto/update-page.dto.js.map +1 -0
- package/dist/entities/page.entity.d.ts +15 -0
- package/dist/entities/page.entity.d.ts.map +1 -0
- package/dist/entities/page.entity.js +126 -0
- package/dist/entities/page.entity.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/pages.module.d.ts +3 -0
- package/dist/pages.module.d.ts.map +1 -0
- package/dist/pages.module.js +26 -0
- package/dist/pages.module.js.map +1 -0
- package/dist/services/pages.service.d.ts +7 -0
- package/dist/services/pages.service.d.ts.map +1 -0
- package/dist/services/pages.service.js +32 -0
- package/dist/services/pages.service.js.map +1 -0
- package/dist/specs/pages.test.config.d.ts +31 -0
- package/dist/specs/pages.test.config.d.ts.map +1 -0
- package/dist/specs/pages.test.config.js +86 -0
- package/dist/specs/pages.test.config.js.map +1 -0
- package/package.json +81 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Your Organization
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# @your-org/pages-nestjs
|
|
2
|
+
|
|
3
|
+
A reusable NestJS Pages module for content management with full CRUD operations, validation, and Swagger documentation.
|
|
4
|
+
|
|
5
|
+
## 🚀 Features
|
|
6
|
+
|
|
7
|
+
- **Full CRUD Operations**: Create, Read, Update, Delete pages
|
|
8
|
+
- **TypeORM Integration**: Built-in database support
|
|
9
|
+
- **Validation**: Class-validator integration for DTOs
|
|
10
|
+
- **Swagger Documentation**: Auto-generated API documentation
|
|
11
|
+
- **Flexible Configuration**: Easy to customize and extend
|
|
12
|
+
- **TypeScript Support**: Full type safety
|
|
13
|
+
|
|
14
|
+
## 📦 Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @your-org/pages-nestjs
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 🔧 Dependencies
|
|
21
|
+
|
|
22
|
+
This package requires the following peer dependencies in your NestJS application:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install @nestjs/common @nestjs/typeorm typeorm class-validator class-transformer @nestjs-library/crud
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 📖 Usage
|
|
29
|
+
|
|
30
|
+
### 1. Import the Module
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { Module } from '@nestjs/common';
|
|
34
|
+
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
35
|
+
import { PagesModule } from '@your-org/pages-nestjs';
|
|
36
|
+
|
|
37
|
+
@Module({
|
|
38
|
+
imports: [
|
|
39
|
+
TypeOrmModule.forRoot({
|
|
40
|
+
type: 'postgres',
|
|
41
|
+
host: 'localhost',
|
|
42
|
+
port: 5432,
|
|
43
|
+
username: 'postgres',
|
|
44
|
+
password: 'password',
|
|
45
|
+
database: 'your_database',
|
|
46
|
+
entities: [__dirname + '/**/*.entity{.ts,.js}'],
|
|
47
|
+
synchronize: true, // Only in development
|
|
48
|
+
}),
|
|
49
|
+
PagesModule,
|
|
50
|
+
],
|
|
51
|
+
})
|
|
52
|
+
export class AppModule {}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 2. Use the Service
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
import { Injectable } from '@nestjs/common';
|
|
59
|
+
import { PagesService, CreatePageDto, Page } from '@your-org/pages-nestjs';
|
|
60
|
+
|
|
61
|
+
@Injectable()
|
|
62
|
+
export class YourService {
|
|
63
|
+
constructor(private readonly pagesService: PagesService) {}
|
|
64
|
+
|
|
65
|
+
async createPage(data: CreatePageDto): Promise<Page> {
|
|
66
|
+
return this.pagesService.create(data);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async getAllPages(): Promise<Page[]> {
|
|
70
|
+
return this.pagesService.findAll();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async getPageById(id: number): Promise<Page> {
|
|
74
|
+
return this.pagesService.findOne(id);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 3. Use the Controller
|
|
80
|
+
|
|
81
|
+
The package automatically provides a REST API with the following endpoints:
|
|
82
|
+
|
|
83
|
+
- `POST /pages` - Create a new page
|
|
84
|
+
- `GET /pages` - Get all pages
|
|
85
|
+
- `GET /pages/:id` - Get a specific page
|
|
86
|
+
- `PUT /pages/:id` - Update a page
|
|
87
|
+
- `DELETE /pages/:id` - Delete a page
|
|
88
|
+
|
|
89
|
+
### 4. Customize the Page Entity
|
|
90
|
+
|
|
91
|
+
You can extend the Page entity for your specific needs:
|
|
92
|
+
|
|
93
|
+
```typescript
|
|
94
|
+
import { Entity } from 'typeorm';
|
|
95
|
+
import { Page } from '@your-org/pages-nestjs';
|
|
96
|
+
|
|
97
|
+
@Entity()
|
|
98
|
+
export class CustomPage extends Page {
|
|
99
|
+
// Add your custom fields here
|
|
100
|
+
@Column()
|
|
101
|
+
customField: string;
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 🏗️ Architecture
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
src/
|
|
109
|
+
├── entities/
|
|
110
|
+
│ └── page.entity.ts # Page database entity
|
|
111
|
+
├── dto/
|
|
112
|
+
│ ├── create-page.dto.ts # Create page DTO
|
|
113
|
+
│ └── update-page.dto.ts # Update page DTO
|
|
114
|
+
├── services/
|
|
115
|
+
│ └── pages.service.ts # Business logic service
|
|
116
|
+
├── controllers/
|
|
117
|
+
│ └── pages.controller.ts # REST API controller
|
|
118
|
+
├── pages.module.ts # NestJS module
|
|
119
|
+
└── index.ts # Package exports
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## 🔍 API Documentation
|
|
123
|
+
|
|
124
|
+
Once the module is imported, you can access the Swagger documentation at:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
http://localhost:3000/api
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 🧪 Testing
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# Run tests
|
|
134
|
+
npm test
|
|
135
|
+
|
|
136
|
+
# Run tests with coverage
|
|
137
|
+
npm run test:cov
|
|
138
|
+
|
|
139
|
+
# Run tests in watch mode
|
|
140
|
+
npm run test:watch
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## 📝 Configuration
|
|
144
|
+
|
|
145
|
+
### Environment Variables
|
|
146
|
+
|
|
147
|
+
The module uses the following environment variables (with defaults):
|
|
148
|
+
|
|
149
|
+
```env
|
|
150
|
+
DB_HOST=localhost
|
|
151
|
+
DB_PORT=5432
|
|
152
|
+
DB_USERNAME=postgres
|
|
153
|
+
DB_PASSWORD=password
|
|
154
|
+
DB_NAME=your_database
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Custom Database Configuration
|
|
158
|
+
|
|
159
|
+
You can override the database configuration:
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
import { Module } from '@nestjs/common';
|
|
163
|
+
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
164
|
+
import { PagesModule } from '@your-org/pages-nestjs';
|
|
165
|
+
|
|
166
|
+
@Module({
|
|
167
|
+
imports: [
|
|
168
|
+
TypeOrmModule.forRoot({
|
|
169
|
+
// Your custom database configuration
|
|
170
|
+
type: 'mysql',
|
|
171
|
+
host: 'your-host',
|
|
172
|
+
// ... other options
|
|
173
|
+
}),
|
|
174
|
+
PagesModule,
|
|
175
|
+
],
|
|
176
|
+
})
|
|
177
|
+
export class AppModule {}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## 🔌 Extending the Module
|
|
181
|
+
|
|
182
|
+
### Custom Service Methods
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
import { Injectable } from '@nestjs/common';
|
|
186
|
+
import { PagesService } from '@your-org/pages-nestjs';
|
|
187
|
+
|
|
188
|
+
@Injectable()
|
|
189
|
+
export class CustomPagesService extends PagesService {
|
|
190
|
+
async findByStatus(status: number) {
|
|
191
|
+
return this.repository.find({ where: { status } });
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Custom Controller Methods
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
import { Controller } from '@nestjs/common';
|
|
200
|
+
import { PagesController } from '@your-org/pages-nestjs';
|
|
201
|
+
|
|
202
|
+
@Controller('custom-pages')
|
|
203
|
+
export class CustomPagesController extends PagesController {
|
|
204
|
+
// Add your custom endpoints here
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## 🤝 Contributing
|
|
209
|
+
|
|
210
|
+
1. Fork the repository
|
|
211
|
+
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
212
|
+
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
|
213
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
214
|
+
5. Open a Pull Request
|
|
215
|
+
|
|
216
|
+
## 📄 License
|
|
217
|
+
|
|
218
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
219
|
+
|
|
220
|
+
## 🆘 Support
|
|
221
|
+
|
|
222
|
+
If you encounter any problems or have questions, please:
|
|
223
|
+
|
|
224
|
+
1. Check the [documentation](https://github.com/your-org/pages-nestjs#readme)
|
|
225
|
+
2. Search [existing issues](https://github.com/your-org/pages-nestjs/issues)
|
|
226
|
+
3. Create a [new issue](https://github.com/your-org/pages-nestjs/issues/new)
|
|
227
|
+
|
|
228
|
+
## 🔄 Changelog
|
|
229
|
+
|
|
230
|
+
### v1.0.0
|
|
231
|
+
- Initial release
|
|
232
|
+
- Full CRUD operations
|
|
233
|
+
- TypeORM integration
|
|
234
|
+
- Swagger documentation
|
|
235
|
+
- Validation support
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CrudController } from '@nestjs-library/crud';
|
|
2
|
+
import { Page } from '../entities/page.entity';
|
|
3
|
+
import { PagesService } from '../services/pages.service';
|
|
4
|
+
export declare class PagesController implements CrudController<Page> {
|
|
5
|
+
readonly crudService: PagesService;
|
|
6
|
+
constructor(crudService: PagesService);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=pages.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/pages.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,qBAmBa,eAAgB,YAAW,cAAc,CAAC,IAAI,CAAC;aAC9B,WAAW,EAAE,YAAY;gBAAzB,WAAW,EAAE,YAAY;CACtD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PagesController = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const crud_1 = require("@nestjs-library/crud");
|
|
15
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
16
|
+
const page_entity_1 = require("../entities/page.entity");
|
|
17
|
+
const pages_service_1 = require("../services/pages.service");
|
|
18
|
+
const create_page_dto_1 = require("../dto/create-page.dto");
|
|
19
|
+
const update_page_dto_1 = require("../dto/update-page.dto");
|
|
20
|
+
let PagesController = class PagesController {
|
|
21
|
+
constructor(crudService) {
|
|
22
|
+
this.crudService = crudService;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.PagesController = PagesController;
|
|
26
|
+
exports.PagesController = PagesController = __decorate([
|
|
27
|
+
(0, swagger_1.ApiTags)('pages'),
|
|
28
|
+
(0, crud_1.Crud)({
|
|
29
|
+
entity: page_entity_1.Page,
|
|
30
|
+
routes: {
|
|
31
|
+
create: {
|
|
32
|
+
swagger: {
|
|
33
|
+
body: create_page_dto_1.CreatePageDto,
|
|
34
|
+
response: page_entity_1.Page,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
update: {
|
|
38
|
+
swagger: {
|
|
39
|
+
body: update_page_dto_1.UpdatePageDto,
|
|
40
|
+
response: page_entity_1.Page,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
}),
|
|
45
|
+
(0, common_1.Controller)('pages'),
|
|
46
|
+
__metadata("design:paramtypes", [pages_service_1.PagesService])
|
|
47
|
+
], PagesController);
|
|
48
|
+
//# sourceMappingURL=pages.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.controller.js","sourceRoot":"","sources":["../../src/controllers/pages.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA4D;AAC5D,6CAA0C;AAC1C,yDAA+C;AAC/C,6DAAyD;AACzD,4DAAuD;AACvD,4DAAuD;AAqBhD,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA4B,WAAyB;QAAzB,gBAAW,GAAX,WAAW,CAAc;IAAG,CAAC;CAC1D,CAAA;AAFY,0CAAe;0BAAf,eAAe;IAnB3B,IAAA,iBAAO,EAAC,OAAO,CAAC;IAChB,IAAA,WAAI,EAAC;QACJ,MAAM,EAAE,kBAAI;QACZ,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP,IAAI,EAAE,+BAAa;oBACnB,QAAQ,EAAE,kBAAI;iBACf;aACF;YACD,MAAM,EAAE;gBACN,OAAO,EAAE;oBACP,IAAI,EAAE,+BAAa;oBACnB,QAAQ,EAAE,kBAAI;iBACf;aACF;SACF;KACF,CAAC;IACD,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAEuB,4BAAY;GAD1C,eAAe,CAE3B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class CreatePageDto {
|
|
2
|
+
title: string;
|
|
3
|
+
url: string;
|
|
4
|
+
content: string;
|
|
5
|
+
metaTitle?: string;
|
|
6
|
+
metaKeywords?: string;
|
|
7
|
+
metaDescription?: string;
|
|
8
|
+
status: number;
|
|
9
|
+
activateFrom?: Date;
|
|
10
|
+
activateTo?: Date;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=create-page.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-page.dto.d.ts","sourceRoot":"","sources":["../../src/dto/create-page.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IAOxB,KAAK,EAAE,MAAM,CAAC;IASd,GAAG,EAAE,MAAM,CAAC;IAOZ,OAAO,EAAE,MAAM,CAAC;IAShB,SAAS,CAAC,EAAE,MAAM,CAAC;IASnB,YAAY,CAAC,EAAE,MAAM,CAAC;IAQtB,eAAe,CAAC,EAAE,MAAM,CAAC;IASzB,MAAM,EAAE,MAAM,CAAC;IAQf,YAAY,CAAC,EAAE,IAAI,CAAC;IAQpB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CreatePageDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
class CreatePageDto {
|
|
16
|
+
}
|
|
17
|
+
exports.CreatePageDto = CreatePageDto;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, swagger_1.ApiProperty)({
|
|
20
|
+
description: 'The title of the page',
|
|
21
|
+
example: 'Welcome to Our Website',
|
|
22
|
+
maxLength: 255,
|
|
23
|
+
}),
|
|
24
|
+
(0, class_validator_1.IsString)(),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], CreatePageDto.prototype, "title", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiProperty)({
|
|
29
|
+
description: 'The URL of the page',
|
|
30
|
+
example: 'https://example.com/welcome',
|
|
31
|
+
maxLength: 255,
|
|
32
|
+
}),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
(0, class_validator_1.IsUrl)(),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], CreatePageDto.prototype, "url", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, swagger_1.ApiProperty)({
|
|
39
|
+
description: 'The main content of the page',
|
|
40
|
+
example: 'Welcome to our amazing website! We provide the best services...',
|
|
41
|
+
}),
|
|
42
|
+
(0, class_validator_1.IsString)(),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], CreatePageDto.prototype, "content", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
47
|
+
description: 'SEO meta title for the page',
|
|
48
|
+
example: 'Welcome Page - Best Services',
|
|
49
|
+
maxLength: 255,
|
|
50
|
+
}),
|
|
51
|
+
(0, class_validator_1.IsOptional)(),
|
|
52
|
+
(0, class_validator_1.IsString)(),
|
|
53
|
+
__metadata("design:type", String)
|
|
54
|
+
], CreatePageDto.prototype, "metaTitle", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
57
|
+
description: 'SEO meta keywords for the page',
|
|
58
|
+
example: 'welcome, services, website',
|
|
59
|
+
maxLength: 255,
|
|
60
|
+
}),
|
|
61
|
+
(0, class_validator_1.IsOptional)(),
|
|
62
|
+
(0, class_validator_1.IsString)(),
|
|
63
|
+
__metadata("design:type", String)
|
|
64
|
+
], CreatePageDto.prototype, "metaKeywords", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
67
|
+
description: 'SEO meta description for the page',
|
|
68
|
+
example: 'Welcome to our website where you can find the best services...',
|
|
69
|
+
}),
|
|
70
|
+
(0, class_validator_1.IsOptional)(),
|
|
71
|
+
(0, class_validator_1.IsString)(),
|
|
72
|
+
__metadata("design:type", String)
|
|
73
|
+
], CreatePageDto.prototype, "metaDescription", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, swagger_1.ApiProperty)({
|
|
76
|
+
description: 'Page status (1: active, 0: inactive, 2: draft)',
|
|
77
|
+
example: 1,
|
|
78
|
+
minimum: 0,
|
|
79
|
+
maximum: 2,
|
|
80
|
+
}),
|
|
81
|
+
(0, class_validator_1.IsNumber)(),
|
|
82
|
+
__metadata("design:type", Number)
|
|
83
|
+
], CreatePageDto.prototype, "status", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
86
|
+
description: 'Date when the page becomes active',
|
|
87
|
+
example: '2024-01-01T00:00:00.000Z',
|
|
88
|
+
}),
|
|
89
|
+
(0, class_validator_1.IsOptional)(),
|
|
90
|
+
(0, class_validator_1.IsDateString)(),
|
|
91
|
+
__metadata("design:type", Date)
|
|
92
|
+
], CreatePageDto.prototype, "activateFrom", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
95
|
+
description: 'Date when the page becomes inactive',
|
|
96
|
+
example: '2024-12-31T23:59:59.999Z',
|
|
97
|
+
}),
|
|
98
|
+
(0, class_validator_1.IsOptional)(),
|
|
99
|
+
(0, class_validator_1.IsDateString)(),
|
|
100
|
+
__metadata("design:type", Date)
|
|
101
|
+
], CreatePageDto.prototype, "activateTo", void 0);
|
|
102
|
+
//# sourceMappingURL=create-page.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-page.dto.js","sourceRoot":"","sources":["../../src/dto/create-page.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsF;AACtF,6CAAmE;AAEnE,MAAa,aAAa;CA2EzB;AA3ED,sCA2EC;AApEC;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,wBAAwB;QACjC,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,0BAAQ,GAAE;;4CACG;AASd;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,6BAA6B;QACtC,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,uBAAK,GAAE;;0CACI;AAOZ;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,iEAAiE;KAC3E,CAAC;IACD,IAAA,0BAAQ,GAAE;;8CACK;AAShB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,8BAA8B;QACvC,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gDACQ;AASnB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,4BAA4B;QACrC,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACW;AAQtB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,gEAAgE;KAC1E,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;sDACc;AASzB;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,0BAAQ,GAAE;;6CACI;AAQf;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,8BAAY,GAAE;8BACA,IAAI;mDAAC;AAQpB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,8BAAY,GAAE;8BACF,IAAI;iDAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CreatePageDto } from './create-page.dto';
|
|
2
|
+
declare const UpdatePageDto_base: import("@nestjs/mapped-types").MappedType<Partial<CreatePageDto>>;
|
|
3
|
+
export declare class UpdatePageDto extends UpdatePageDto_base {
|
|
4
|
+
id?: number;
|
|
5
|
+
}
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=update-page.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-page.dto.d.ts","sourceRoot":"","sources":["../../src/dto/update-page.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;;AAElD,qBAAa,aAAc,SAAQ,kBAA0B;IAQ3D,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdatePageDto = void 0;
|
|
13
|
+
const mapped_types_1 = require("@nestjs/mapped-types");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
16
|
+
const create_page_dto_1 = require("./create-page.dto");
|
|
17
|
+
class UpdatePageDto extends (0, mapped_types_1.PartialType)(create_page_dto_1.CreatePageDto) {
|
|
18
|
+
}
|
|
19
|
+
exports.UpdatePageDto = UpdatePageDto;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
22
|
+
description: 'The unique identifier of the page',
|
|
23
|
+
example: 1,
|
|
24
|
+
readOnly: true,
|
|
25
|
+
}),
|
|
26
|
+
(0, class_validator_1.IsOptional)(),
|
|
27
|
+
(0, class_validator_1.IsNumber)(),
|
|
28
|
+
__metadata("design:type", Number)
|
|
29
|
+
], UpdatePageDto.prototype, "id", void 0);
|
|
30
|
+
//# sourceMappingURL=update-page.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-page.dto.js","sourceRoot":"","sources":["../../src/dto/update-page.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAmD;AACnD,qDAAuD;AACvD,6CAAsD;AACtD,uDAAkD;AAElD,MAAa,aAAc,SAAQ,IAAA,0BAAW,EAAC,+BAAa,CAAC;CAS5D;AATD,sCASC;AADC;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yCACC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class Page {
|
|
2
|
+
id: number;
|
|
3
|
+
title: string;
|
|
4
|
+
url: string;
|
|
5
|
+
content: string;
|
|
6
|
+
metaTitle: string;
|
|
7
|
+
metaKeywords: string;
|
|
8
|
+
metaDescription: string;
|
|
9
|
+
status: number;
|
|
10
|
+
activateFrom: Date;
|
|
11
|
+
activateTo: Date;
|
|
12
|
+
createdAt: Date;
|
|
13
|
+
updatedAt: Date;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=page.entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.entity.d.ts","sourceRoot":"","sources":["../../src/entities/page.entity.ts"],"names":[],"mappings":"AAGA,qBACa,IAAI;IAOf,EAAE,EAAE,MAAM,CAAC;IAQX,KAAK,EAAE,MAAM,CAAC;IAQd,GAAG,EAAE,MAAM,CAAC;IAOZ,OAAO,EAAE,MAAM,CAAC;IAQhB,SAAS,EAAE,MAAM,CAAC;IAQlB,YAAY,EAAE,MAAM,CAAC;IAOrB,eAAe,EAAE,MAAM,CAAC;IASxB,MAAM,EAAE,MAAM,CAAC;IAOf,YAAY,EAAE,IAAI,CAAC;IAOnB,UAAU,EAAE,IAAI,CAAC;IAQjB,SAAS,EAAE,IAAI,CAAC;IAQhB,SAAS,EAAE,IAAI,CAAC;CACjB"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Page = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
let Page = class Page {
|
|
16
|
+
};
|
|
17
|
+
exports.Page = Page;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, swagger_1.ApiProperty)({
|
|
20
|
+
description: 'The unique identifier of the page',
|
|
21
|
+
example: 1,
|
|
22
|
+
readOnly: true,
|
|
23
|
+
}),
|
|
24
|
+
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
25
|
+
__metadata("design:type", Number)
|
|
26
|
+
], Page.prototype, "id", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiProperty)({
|
|
29
|
+
description: 'The title of the page',
|
|
30
|
+
example: 'Welcome to Our Website',
|
|
31
|
+
maxLength: 255,
|
|
32
|
+
}),
|
|
33
|
+
(0, typeorm_1.Column)({ length: 255 }),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], Page.prototype, "title", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, swagger_1.ApiProperty)({
|
|
38
|
+
description: 'The URL of the page',
|
|
39
|
+
example: 'https://example.com/welcome',
|
|
40
|
+
maxLength: 255,
|
|
41
|
+
}),
|
|
42
|
+
(0, typeorm_1.Column)({ length: 255 }),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], Page.prototype, "url", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, swagger_1.ApiProperty)({
|
|
47
|
+
description: 'The main content of the page',
|
|
48
|
+
example: 'Welcome to our amazing website! We provide the best services...',
|
|
49
|
+
}),
|
|
50
|
+
(0, typeorm_1.Column)(),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], Page.prototype, "content", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
55
|
+
description: 'SEO meta title for the page',
|
|
56
|
+
example: 'Welcome Page - Best Services',
|
|
57
|
+
maxLength: 255,
|
|
58
|
+
}),
|
|
59
|
+
(0, typeorm_1.Column)({ nullable: true, length: 255 }),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], Page.prototype, "metaTitle", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
64
|
+
description: 'SEO meta keywords for the page',
|
|
65
|
+
example: 'welcome, services, website',
|
|
66
|
+
maxLength: 255,
|
|
67
|
+
}),
|
|
68
|
+
(0, typeorm_1.Column)({ nullable: true, length: 255 }),
|
|
69
|
+
__metadata("design:type", String)
|
|
70
|
+
], Page.prototype, "metaKeywords", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
73
|
+
description: 'SEO meta description for the page',
|
|
74
|
+
example: 'Welcome to our website where you can find the best services...',
|
|
75
|
+
}),
|
|
76
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
77
|
+
__metadata("design:type", String)
|
|
78
|
+
], Page.prototype, "metaDescription", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
(0, swagger_1.ApiProperty)({
|
|
81
|
+
description: 'Page status (1: active, 0: inactive, 2: draft)',
|
|
82
|
+
example: 1,
|
|
83
|
+
minimum: 0,
|
|
84
|
+
maximum: 2,
|
|
85
|
+
}),
|
|
86
|
+
(0, typeorm_1.Column)(),
|
|
87
|
+
__metadata("design:type", Number)
|
|
88
|
+
], Page.prototype, "status", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
91
|
+
description: 'Date when the page becomes active',
|
|
92
|
+
example: '2024-01-01T00:00:00.000Z',
|
|
93
|
+
}),
|
|
94
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
95
|
+
__metadata("design:type", Date)
|
|
96
|
+
], Page.prototype, "activateFrom", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
99
|
+
description: 'Date when the page becomes inactive',
|
|
100
|
+
example: '2024-12-31T23:59:59.999Z',
|
|
101
|
+
}),
|
|
102
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
103
|
+
__metadata("design:type", Date)
|
|
104
|
+
], Page.prototype, "activateTo", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, swagger_1.ApiProperty)({
|
|
107
|
+
description: 'Date when the page was created',
|
|
108
|
+
example: '2024-01-01T00:00:00.000Z',
|
|
109
|
+
readOnly: true,
|
|
110
|
+
}),
|
|
111
|
+
(0, typeorm_1.CreateDateColumn)(),
|
|
112
|
+
__metadata("design:type", Date)
|
|
113
|
+
], Page.prototype, "createdAt", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
(0, swagger_1.ApiProperty)({
|
|
116
|
+
description: 'Date when the page was last updated',
|
|
117
|
+
example: '2024-01-01T00:00:00.000Z',
|
|
118
|
+
readOnly: true,
|
|
119
|
+
}),
|
|
120
|
+
(0, typeorm_1.UpdateDateColumn)(),
|
|
121
|
+
__metadata("design:type", Date)
|
|
122
|
+
], Page.prototype, "updatedAt", void 0);
|
|
123
|
+
exports.Page = Page = __decorate([
|
|
124
|
+
(0, typeorm_1.Entity)()
|
|
125
|
+
], Page);
|
|
126
|
+
//# sourceMappingURL=page.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.entity.js","sourceRoot":"","sources":["../../src/entities/page.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAqG;AACrG,6CAAmE;AAG5D,IAAM,IAAI,GAAV,MAAM,IAAI;CA6FhB,CAAA;AA7FY,oBAAI;AAOf;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,gCAAsB,GAAE;;gCACd;AAQX;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,wBAAwB;QACjC,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;mCACV;AAQd;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,6BAA6B;QACtC,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;iCACZ;AAOZ;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,iEAAiE;KAC3E,CAAC;IACD,IAAA,gBAAM,GAAE;;qCACO;AAQhB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,8BAA8B;QACvC,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;uCACtB;AAQlB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,4BAA4B;QACrC,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;0CACnB;AAOrB;IALC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,gEAAgE;KAC1E,CAAC;IACD,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACH;AASxB;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,gBAAM,GAAE;;oCACM;AAOf;IALC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACb,IAAI;0CAAC;AAOnB;IALC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACf,IAAI;wCAAC;AAQjB;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,0BAAgB,GAAE;8BACR,IAAI;uCAAC;AAQhB;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,0BAAgB,GAAE;8BACR,IAAI;uCAAC;eA5FL,IAAI;IADhB,IAAA,gBAAM,GAAE;GACI,IAAI,CA6FhB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './pages.module';
|
|
2
|
+
export * from './services/pages.service';
|
|
3
|
+
export * from './controllers/pages.controller';
|
|
4
|
+
export * from './dto/create-page.dto';
|
|
5
|
+
export * from './dto/update-page.dto';
|
|
6
|
+
export * from './entities/page.entity';
|
|
7
|
+
export { Page } from './entities/page.entity';
|
|
8
|
+
export { CreatePageDto } from './dto/create-page.dto';
|
|
9
|
+
export { UpdatePageDto } from './dto/update-page.dto';
|
|
10
|
+
export { PagesService } from './services/pages.service';
|
|
11
|
+
export { PagesController } from './controllers/pages.controller';
|
|
12
|
+
export { PagesModule } from './pages.module';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.PagesModule = exports.PagesController = exports.PagesService = exports.UpdatePageDto = exports.CreatePageDto = exports.Page = void 0;
|
|
18
|
+
__exportStar(require("./pages.module"), exports);
|
|
19
|
+
__exportStar(require("./services/pages.service"), exports);
|
|
20
|
+
__exportStar(require("./controllers/pages.controller"), exports);
|
|
21
|
+
__exportStar(require("./dto/create-page.dto"), exports);
|
|
22
|
+
__exportStar(require("./dto/update-page.dto"), exports);
|
|
23
|
+
__exportStar(require("./entities/page.entity"), exports);
|
|
24
|
+
var page_entity_1 = require("./entities/page.entity");
|
|
25
|
+
Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return page_entity_1.Page; } });
|
|
26
|
+
var create_page_dto_1 = require("./dto/create-page.dto");
|
|
27
|
+
Object.defineProperty(exports, "CreatePageDto", { enumerable: true, get: function () { return create_page_dto_1.CreatePageDto; } });
|
|
28
|
+
var update_page_dto_1 = require("./dto/update-page.dto");
|
|
29
|
+
Object.defineProperty(exports, "UpdatePageDto", { enumerable: true, get: function () { return update_page_dto_1.UpdatePageDto; } });
|
|
30
|
+
var pages_service_1 = require("./services/pages.service");
|
|
31
|
+
Object.defineProperty(exports, "PagesService", { enumerable: true, get: function () { return pages_service_1.PagesService; } });
|
|
32
|
+
var pages_controller_1 = require("./controllers/pages.controller");
|
|
33
|
+
Object.defineProperty(exports, "PagesController", { enumerable: true, get: function () { return pages_controller_1.PagesController; } });
|
|
34
|
+
var pages_module_1 = require("./pages.module");
|
|
35
|
+
Object.defineProperty(exports, "PagesModule", { enumerable: true, get: function () { return pages_module_1.PagesModule; } });
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,iDAA+B;AAC/B,2DAAyC;AACzC,iEAA+C;AAC/C,wDAAsC;AACtC,wDAAsC;AACtC,yDAAuC;AAGvC,sDAA8C;AAArC,mGAAA,IAAI,OAAA;AACb,yDAAsD;AAA7C,gHAAA,aAAa,OAAA;AACtB,yDAAsD;AAA7C,gHAAA,aAAa,OAAA;AACtB,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,mEAAiE;AAAxD,mHAAA,eAAe,OAAA;AACxB,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.module.d.ts","sourceRoot":"","sources":["../src/pages.module.ts"],"names":[],"mappings":"AAMA,qBAMa,WAAW;CAAG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.PagesModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
12
|
+
const page_entity_1 = require("./entities/page.entity");
|
|
13
|
+
const pages_controller_1 = require("./controllers/pages.controller");
|
|
14
|
+
const pages_service_1 = require("./services/pages.service");
|
|
15
|
+
let PagesModule = class PagesModule {
|
|
16
|
+
};
|
|
17
|
+
exports.PagesModule = PagesModule;
|
|
18
|
+
exports.PagesModule = PagesModule = __decorate([
|
|
19
|
+
(0, common_1.Module)({
|
|
20
|
+
imports: [typeorm_1.TypeOrmModule.forFeature([page_entity_1.Page])],
|
|
21
|
+
controllers: [pages_controller_1.PagesController],
|
|
22
|
+
providers: [pages_service_1.PagesService],
|
|
23
|
+
exports: [pages_service_1.PagesService],
|
|
24
|
+
})
|
|
25
|
+
], PagesModule);
|
|
26
|
+
//# sourceMappingURL=pages.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.module.js","sourceRoot":"","sources":["../src/pages.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,wDAA8C;AAC9C,qEAAiE;AACjE,4DAAwD;AAQjD,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,CAAC,CAAC,CAAC;QAC3C,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CrudService } from '@nestjs-library/crud';
|
|
2
|
+
import { Repository } from 'typeorm';
|
|
3
|
+
import { Page } from '../entities/page.entity';
|
|
4
|
+
export declare class PagesService extends CrudService<Page> {
|
|
5
|
+
constructor(repository: Repository<Page>);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=pages.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.service.d.ts","sourceRoot":"","sources":["../../src/services/pages.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,qBACa,YAAa,SAAQ,WAAW,CAAC,IAAI,CAAC;gBACb,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC;CAGjE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PagesService = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
18
|
+
const crud_1 = require("@nestjs-library/crud");
|
|
19
|
+
const typeorm_2 = require("typeorm");
|
|
20
|
+
const page_entity_1 = require("../entities/page.entity");
|
|
21
|
+
let PagesService = class PagesService extends crud_1.CrudService {
|
|
22
|
+
constructor(repository) {
|
|
23
|
+
super(repository);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.PagesService = PagesService;
|
|
27
|
+
exports.PagesService = PagesService = __decorate([
|
|
28
|
+
(0, common_1.Injectable)(),
|
|
29
|
+
__param(0, (0, typeorm_1.InjectRepository)(page_entity_1.Page)),
|
|
30
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
31
|
+
], PagesService);
|
|
32
|
+
//# sourceMappingURL=pages.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.service.js","sourceRoot":"","sources":["../../src/services/pages.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,+CAAmD;AACnD,qCAAqC;AACrC,yDAA+C;AAGxC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,kBAAiB;IACjD,YAAoC,UAA4B;QAC9D,KAAK,CAAC,UAAU,CAAC,CAAC;IACpB,CAAC;CACF,CAAA;AAJY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;qCAAa,oBAAU;GAD/C,YAAY,CAIxB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TestingModule } from '@nestjs/testing';
|
|
2
|
+
import { Repository } from 'typeorm';
|
|
3
|
+
import { PagesController } from '../controllers/pages.controller';
|
|
4
|
+
import { PagesService } from '../services/pages.service';
|
|
5
|
+
import { Page } from '../entities/page.entity';
|
|
6
|
+
export interface TestContext {
|
|
7
|
+
module: TestingModule;
|
|
8
|
+
controller: PagesController;
|
|
9
|
+
service: PagesService;
|
|
10
|
+
repository: Repository<Page>;
|
|
11
|
+
}
|
|
12
|
+
export declare const createTestModule: () => Promise<TestContext>;
|
|
13
|
+
export declare const mockPage: Page;
|
|
14
|
+
export declare const mockCreatePageDto: {
|
|
15
|
+
title: string;
|
|
16
|
+
url: string;
|
|
17
|
+
content: string;
|
|
18
|
+
metaTitle: string;
|
|
19
|
+
metaKeywords: string;
|
|
20
|
+
metaDescription: string;
|
|
21
|
+
status: number;
|
|
22
|
+
activateFrom: Date;
|
|
23
|
+
activateTo: Date;
|
|
24
|
+
};
|
|
25
|
+
export declare const mockUpdatePageDto: {
|
|
26
|
+
title: string;
|
|
27
|
+
status: number;
|
|
28
|
+
};
|
|
29
|
+
export declare const setupRepositoryMocks: (repository: Repository<Page>) => void;
|
|
30
|
+
export declare const clearRepositoryMocks: (repository: Repository<Page>) => void;
|
|
31
|
+
//# sourceMappingURL=pages.test.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.test.config.d.ts","sourceRoot":"","sources":["../../src/specs/pages.test.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,WAAW,CAkC5D,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,IAatB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;CAU7B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,YAAY,UAAU,CAAC,IAAI,CAAC,SAOhE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,YAAY,UAAU,CAAC,IAAI,CAAC,SAEhE,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clearRepositoryMocks = exports.setupRepositoryMocks = exports.mockUpdatePageDto = exports.mockCreatePageDto = exports.mockPage = exports.createTestModule = void 0;
|
|
4
|
+
const testing_1 = require("@nestjs/testing");
|
|
5
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
6
|
+
const pages_module_1 = require("../pages.module");
|
|
7
|
+
const pages_controller_1 = require("../controllers/pages.controller");
|
|
8
|
+
const pages_service_1 = require("../services/pages.service");
|
|
9
|
+
const page_entity_1 = require("../entities/page.entity");
|
|
10
|
+
const createTestModule = async () => {
|
|
11
|
+
const module = await testing_1.Test.createTestingModule({
|
|
12
|
+
imports: [pages_module_1.PagesModule],
|
|
13
|
+
})
|
|
14
|
+
.overrideProvider((0, typeorm_1.getRepositoryToken)(page_entity_1.Page))
|
|
15
|
+
.useValue({
|
|
16
|
+
create: jest.fn(),
|
|
17
|
+
save: jest.fn(),
|
|
18
|
+
find: jest.fn(),
|
|
19
|
+
findOne: jest.fn(),
|
|
20
|
+
update: jest.fn(),
|
|
21
|
+
delete: jest.fn(),
|
|
22
|
+
createQueryBuilder: jest.fn(() => ({
|
|
23
|
+
where: jest.fn().mockReturnThis(),
|
|
24
|
+
andWhere: jest.fn().mockReturnThis(),
|
|
25
|
+
orderBy: jest.fn().mockReturnThis(),
|
|
26
|
+
skip: jest.fn().mockReturnThis(),
|
|
27
|
+
take: jest.fn().mockReturnThis(),
|
|
28
|
+
getMany: jest.fn(),
|
|
29
|
+
getOne: jest.fn(),
|
|
30
|
+
})),
|
|
31
|
+
})
|
|
32
|
+
.compile();
|
|
33
|
+
const controller = module.get(pages_controller_1.PagesController);
|
|
34
|
+
const service = module.get(pages_service_1.PagesService);
|
|
35
|
+
const repository = module.get((0, typeorm_1.getRepositoryToken)(page_entity_1.Page));
|
|
36
|
+
return {
|
|
37
|
+
module,
|
|
38
|
+
controller,
|
|
39
|
+
service,
|
|
40
|
+
repository,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.createTestModule = createTestModule;
|
|
44
|
+
exports.mockPage = {
|
|
45
|
+
id: 1,
|
|
46
|
+
title: 'Test Page',
|
|
47
|
+
url: 'https://example.com/test',
|
|
48
|
+
content: 'This is a test page content',
|
|
49
|
+
metaTitle: 'Test Page - SEO Title',
|
|
50
|
+
metaKeywords: 'test, page, example',
|
|
51
|
+
metaDescription: 'A test page for testing purposes',
|
|
52
|
+
status: 1,
|
|
53
|
+
activateFrom: new Date('2024-01-01'),
|
|
54
|
+
activateTo: new Date('2024-12-31'),
|
|
55
|
+
createdAt: new Date('2024-01-01T00:00:00.000Z'),
|
|
56
|
+
updatedAt: new Date('2024-01-01T00:00:00.000Z'),
|
|
57
|
+
};
|
|
58
|
+
exports.mockCreatePageDto = {
|
|
59
|
+
title: 'New Test Page',
|
|
60
|
+
url: 'https://example.com/new-test',
|
|
61
|
+
content: 'This is a new test page content',
|
|
62
|
+
metaTitle: 'New Test Page - SEO Title',
|
|
63
|
+
metaKeywords: 'new, test, page',
|
|
64
|
+
metaDescription: 'A new test page for testing purposes',
|
|
65
|
+
status: 1,
|
|
66
|
+
activateFrom: new Date('2024-01-01'),
|
|
67
|
+
activateTo: new Date('2024-12-31'),
|
|
68
|
+
};
|
|
69
|
+
exports.mockUpdatePageDto = {
|
|
70
|
+
title: 'Updated Test Page',
|
|
71
|
+
status: 2,
|
|
72
|
+
};
|
|
73
|
+
const setupRepositoryMocks = (repository) => {
|
|
74
|
+
jest.spyOn(repository, 'create').mockReturnValue(exports.mockPage);
|
|
75
|
+
jest.spyOn(repository, 'save').mockResolvedValue(exports.mockPage);
|
|
76
|
+
jest.spyOn(repository, 'find').mockResolvedValue([exports.mockPage]);
|
|
77
|
+
jest.spyOn(repository, 'findOne').mockResolvedValue(exports.mockPage);
|
|
78
|
+
jest.spyOn(repository, 'update').mockResolvedValue({ affected: 1 });
|
|
79
|
+
jest.spyOn(repository, 'delete').mockResolvedValue({ affected: 1 });
|
|
80
|
+
};
|
|
81
|
+
exports.setupRepositoryMocks = setupRepositoryMocks;
|
|
82
|
+
const clearRepositoryMocks = (repository) => {
|
|
83
|
+
jest.clearAllMocks();
|
|
84
|
+
};
|
|
85
|
+
exports.clearRepositoryMocks = clearRepositoryMocks;
|
|
86
|
+
//# sourceMappingURL=pages.test.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.test.config.js","sourceRoot":"","sources":["../../src/specs/pages.test.config.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@uecsio/pages-api",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A reusable NestJS API Pages module for content management",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"nestjs",
|
|
7
|
+
"pages",
|
|
8
|
+
"cms",
|
|
9
|
+
"content-management",
|
|
10
|
+
"typeorm",
|
|
11
|
+
"crud"
|
|
12
|
+
],
|
|
13
|
+
"author": "Dmytro Morozov <morosovdmitry@gmail.com>",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"main": "dist/index.js",
|
|
16
|
+
"types": "dist/index.d.ts",
|
|
17
|
+
"files": [
|
|
18
|
+
"dist/**/*"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc",
|
|
22
|
+
"build:watch": "tsc --watch",
|
|
23
|
+
"test": "jest",
|
|
24
|
+
"test:watch": "jest --watch",
|
|
25
|
+
"test:cov": "jest --coverage",
|
|
26
|
+
"lint": "eslint src/**/*.ts",
|
|
27
|
+
"lint:fix": "eslint src/**/*.ts --fix",
|
|
28
|
+
"prepublishOnly": "npm run build",
|
|
29
|
+
"clean": "rimraf dist"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"@nestjs/common": "^10.0.0",
|
|
33
|
+
"@nestjs/core": "^10.0.0",
|
|
34
|
+
"@nestjs/typeorm": "^10.0.0",
|
|
35
|
+
"typeorm": "^0.3.0",
|
|
36
|
+
"class-validator": "^0.14.0",
|
|
37
|
+
"class-transformer": "^0.5.1",
|
|
38
|
+
"@nestjs-library/crud": "^0.13.1"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@nestjs/common": "^10.0.0",
|
|
42
|
+
"@nestjs/core": "^10.0.0",
|
|
43
|
+
"@nestjs/testing": "^10.0.0",
|
|
44
|
+
"@nestjs/typeorm": "^10.0.0",
|
|
45
|
+
"@types/jest": "^29.0.0",
|
|
46
|
+
"@types/node": "^20.0.0",
|
|
47
|
+
"jest": "^29.0.0",
|
|
48
|
+
"ts-jest": "^29.0.0",
|
|
49
|
+
"typescript": "^5.0.0",
|
|
50
|
+
"typeorm": "^0.3.0",
|
|
51
|
+
"class-validator": "^0.14.0",
|
|
52
|
+
"class-transformer": "^0.5.1",
|
|
53
|
+
"@nestjs-library/crud": "^0.13.1",
|
|
54
|
+
"rimraf": "^5.0.0"
|
|
55
|
+
},
|
|
56
|
+
"jest": {
|
|
57
|
+
"moduleFileExtensions": [
|
|
58
|
+
"js",
|
|
59
|
+
"json",
|
|
60
|
+
"ts"
|
|
61
|
+
],
|
|
62
|
+
"rootDir": "src",
|
|
63
|
+
"testRegex": ".*\\.spec\\.ts$",
|
|
64
|
+
"transform": {
|
|
65
|
+
"^.+\\.(t|j)s$": "ts-jest"
|
|
66
|
+
},
|
|
67
|
+
"collectCoverageFrom": [
|
|
68
|
+
"**/*.(t|j)s"
|
|
69
|
+
],
|
|
70
|
+
"coverageDirectory": "../coverage",
|
|
71
|
+
"testEnvironment": "node"
|
|
72
|
+
},
|
|
73
|
+
"repository": {
|
|
74
|
+
"type": "git",
|
|
75
|
+
"url": "https://github.com/uecsio/pages-api.git"
|
|
76
|
+
},
|
|
77
|
+
"bugs": {
|
|
78
|
+
"url": "https://github.com/uecsio/pages-api/issues"
|
|
79
|
+
},
|
|
80
|
+
"homepage": "https://github.com/uecsio/pages-api#readme"
|
|
81
|
+
}
|