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