|
1 | 1 | import { Router } from 'express'; |
2 | 2 |
|
3 | 3 | import { |
4 | | - getAllPermanentSliseAdPlacesRules, |
5 | | - getAllSliseAdPlacesRules, |
6 | | - getPermanentSliseAdPlacesRulesByDomain, |
7 | | - getSliseAdPlacesRulesByDomain, |
8 | | - removePermanentSliseAdPlacesRules, |
9 | | - removeSliseAdPlacesRules, |
10 | | - upsertPermanentSliseAdPlacesRules, |
11 | | - upsertSliseAdPlacesRules |
| 4 | + permanentNativeAdPlacesMethods, |
| 5 | + permanentSliseAdPlacesMethods, |
| 6 | + sliseAdPlacesRulesMethods |
12 | 7 | } from '../../advertising/slise'; |
13 | 8 | import { addObjectStorageMethodsToRouter } from '../../utils/express-helpers'; |
14 | 9 | import { |
@@ -210,6 +205,11 @@ import { |
210 | 205 | * shouldUseDivWrapper: |
211 | 206 | * type: boolean |
212 | 207 | * description: Whether the Slise ads banner should be wrapped in a div |
| 208 | + * elementStyle: |
| 209 | + * type: object |
| 210 | + * description: Style of the new ad banner |
| 211 | + * additionalProperties: |
| 212 | + * type: string |
213 | 213 | * divWrapperStyle: |
214 | 214 | * type: object |
215 | 215 | * description: Style of the div wrapper |
@@ -263,6 +263,104 @@ import { |
263 | 263 |
|
264 | 264 | export const sliseAdPlacesRulesRouter = Router(); |
265 | 265 |
|
| 266 | +/** |
| 267 | + * @swagger |
| 268 | + * /api/slise-ad-rules/ad-places/permanent-native/{domain}: |
| 269 | + * get: |
| 270 | + * summary: Get rules for permanent native ads places for the specified domain |
| 271 | + * tags: |
| 272 | + * - Slise ad places |
| 273 | + * parameters: |
| 274 | + * - in: path |
| 275 | + * name: domain |
| 276 | + * required: true |
| 277 | + * schema: |
| 278 | + * type: string |
| 279 | + * format: hostname |
| 280 | + * example: 'etherscan.io' |
| 281 | + * responses: |
| 282 | + * '200': |
| 283 | + * description: Rules list |
| 284 | + * content: |
| 285 | + * application/json: |
| 286 | + * schema: |
| 287 | + * type: array |
| 288 | + * items: |
| 289 | + * $ref: '#/components/schemas/PermanentSliseAdPlacesRule' |
| 290 | + * '500': |
| 291 | + * $ref: '#/components/responses/ErrorResponse' |
| 292 | + * /api/slise-ad-rules/ad-places/permanent-native: |
| 293 | + * get: |
| 294 | + * summary: Get all rules for permanent native ads places |
| 295 | + * tags: |
| 296 | + * - Slise ad places |
| 297 | + * responses: |
| 298 | + * '200': |
| 299 | + * description: Domain - rules list dictionary |
| 300 | + * content: |
| 301 | + * application/json: |
| 302 | + * schema: |
| 303 | + * $ref: '#/components/schemas/PermanentSliseAdPlacesRulesDictionary' |
| 304 | + * '500': |
| 305 | + * $ref: '#/components/responses/ErrorResponse' |
| 306 | + * post: |
| 307 | + * summary: Add rules for permanent ads places. If rules for a domain already exist, they will be overwritten |
| 308 | + * tags: |
| 309 | + * - Slise ad places |
| 310 | + * security: |
| 311 | + * - basicAuth: [] |
| 312 | + * requestBody: |
| 313 | + * description: Domain - rules list dictionary |
| 314 | + * content: |
| 315 | + * application/json: |
| 316 | + * schema: |
| 317 | + * $ref: '#/components/schemas/PermanentSliseAdPlacesRulesDictionary' |
| 318 | + * responses: |
| 319 | + * '200': |
| 320 | + * $ref: '#/components/responses/SuccessResponse' |
| 321 | + * '400': |
| 322 | + * $ref: '#/components/responses/ErrorResponse' |
| 323 | + * '401': |
| 324 | + * $ref: '#/components/responses/UnauthorizedError' |
| 325 | + * '500': |
| 326 | + * $ref: '#/components/responses/ErrorResponse' |
| 327 | + * delete: |
| 328 | + * summary: Remove rules for permanent ads places |
| 329 | + * tags: |
| 330 | + * - Slise ad places |
| 331 | + * security: |
| 332 | + * - basicAuth: [] |
| 333 | + * requestBody: |
| 334 | + * description: List of domain names to remove rules for |
| 335 | + * content: |
| 336 | + * application/json: |
| 337 | + * schema: |
| 338 | + * type: array |
| 339 | + * items: |
| 340 | + * type: string |
| 341 | + * format: hostname |
| 342 | + * example: |
| 343 | + * - 'etherscan.io' |
| 344 | + * responses: |
| 345 | + * '200': |
| 346 | + * $ref: '#/components/responses/SuccessResponse' |
| 347 | + * '400': |
| 348 | + * $ref: '#/components/responses/ErrorResponse' |
| 349 | + * '401': |
| 350 | + * $ref: '#/components/responses/UnauthorizedError' |
| 351 | + * '500': |
| 352 | + * $ref: '#/components/responses/ErrorResponse' |
| 353 | + */ |
| 354 | +addObjectStorageMethodsToRouter( |
| 355 | + sliseAdPlacesRulesRouter, |
| 356 | + '/permanent-native', |
| 357 | + permanentNativeAdPlacesMethods, |
| 358 | + 'domain', |
| 359 | + permanentSliseAdPlacesRulesDictionarySchema, |
| 360 | + hostnamesListSchema, |
| 361 | + entriesCount => `${entriesCount} entries have been removed` |
| 362 | +); |
| 363 | + |
266 | 364 | /** |
267 | 365 | * @swagger |
268 | 366 | * /api/slise-ad-rules/ad-places/permanent/{domain}: |
@@ -354,12 +452,7 @@ export const sliseAdPlacesRulesRouter = Router(); |
354 | 452 | addObjectStorageMethodsToRouter( |
355 | 453 | sliseAdPlacesRulesRouter, |
356 | 454 | '/permanent', |
357 | | - { |
358 | | - getByKey: getPermanentSliseAdPlacesRulesByDomain, |
359 | | - getAllValues: getAllPermanentSliseAdPlacesRules, |
360 | | - upsertValues: upsertPermanentSliseAdPlacesRules, |
361 | | - removeValues: removePermanentSliseAdPlacesRules |
362 | | - }, |
| 455 | + permanentSliseAdPlacesMethods, |
363 | 456 | 'domain', |
364 | 457 | permanentSliseAdPlacesRulesDictionarySchema, |
365 | 458 | hostnamesListSchema, |
@@ -457,12 +550,7 @@ addObjectStorageMethodsToRouter( |
457 | 550 | addObjectStorageMethodsToRouter( |
458 | 551 | sliseAdPlacesRulesRouter, |
459 | 552 | '/', |
460 | | - { |
461 | | - getByKey: getSliseAdPlacesRulesByDomain, |
462 | | - getAllValues: getAllSliseAdPlacesRules, |
463 | | - upsertValues: upsertSliseAdPlacesRules, |
464 | | - removeValues: removeSliseAdPlacesRules |
465 | | - }, |
| 553 | + sliseAdPlacesRulesMethods, |
466 | 554 | 'domain', |
467 | 555 | sliseAdPlacesRulesDictionarySchema, |
468 | 556 | hostnamesListSchema, |
|
0 commit comments