oncall-engine/engine/common/api_helpers
Vadim Stepanov 602ed535e3
Fix duplicate orders on routes and escalation policies (#2568)
# What this PR does

Fix duplicate `order` values for models `EscalationPolicy` and
`ChannelFilter` using the same approach as
https://github.com/grafana/oncall/pull/2278.

- Make internal API action `move_to_position` a part of
[OrderedModelViewSet](https://github.com/grafana/oncall/pull/2568/files#diff-eb62521ccbcb072d1bd2156adeadae3b5895bce6d0d54432a23db3948b0ada54R11-R34),
so all ordered model views use the same logic.
- Make public API serializers for ordered models inherit from
[OrderedModelSerializer](https://github.com/grafana/oncall/pull/2568/files#diff-d749f94af5a49adaf5074325cdfad10ddd5a52dbfd78b49582867ebb9c92fae5R6-R38),
so ordered model views are consistent with each other in public API.
- Remove `order` from plugin fronted, since it's not being used
anywhere. The frontend uses step indices & `move_to_position` action
instead.
- Make escalation snapshot use step indices instead of orders, since
orders are not guaranteed to be sequential (+fix a minor off-by-one bug)

## Which issue(s) this PR fixes

https://github.com/grafana/oncall-private/issues/1680

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)
2023-07-18 17:17:53 +00:00
..
__init__.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
custom_fields.py Add is_default fields to templates, remove WritableSerialiserMethodFi… (#1759) 2023-04-18 04:44:51 +00:00
custom_rate_scoped_throttler.py Add ratelimit for phone number verification (#1354) 2023-02-21 16:47:52 +08:00
exceptions.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
filters.py Teams redesign (#1528) 2023-03-22 00:57:20 +08:00
mixins.py Fix duplicate orders on routes and escalation policies (#2568) 2023-07-18 17:17:53 +00:00
optional_slash_router.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
paginators.py augment API response pagination attributes (#2471) 2023-07-14 11:19:40 -04:00
serializers.py Make viewset actions more consistent (#2120) 2023-06-07 12:10:53 +00:00
utils.py add user (full) avatar to schedule filter events internal API endpoint (#2459) 2023-07-06 15:43:04 -04:00