Skip to content

Commit c32ce39

Browse files
committed
first pass at implementation of hits
1 parent 392214c commit c32ce39

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

src/posit/connect/metrics/hits.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from typing_extensions import (
2+
Iterable,
3+
List,
4+
Literal,
5+
Protocol,
6+
overload,
7+
)
8+
9+
from ..context import requires
10+
from ..resources import Resource, ResourceSequence
11+
12+
13+
class Hit(Resource, Protocol):
14+
pass
15+
16+
17+
class Hits(ResourceSequence[Hit], Protocol):
18+
pass
19+
20+
21+
# TODO:
22+
# fetch, find_by documentation
23+
# - fetch function args are gonna be the query params
24+
# - find_by is the object props
25+
# if the server fails with extra query params that'd be bad.
26+
# tests
27+
# - reference packages_test file

src/posit/connect/metrics/metrics.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
"""Metric resources."""
22

3+
import posixpath
4+
35
from .. import resources
6+
from ..context import requires
7+
from .hits import Hits
48
from .usage import Usage
59

610

@@ -16,3 +20,8 @@ class Metrics(resources.Resources):
1620
@property
1721
def usage(self) -> Usage:
1822
return Usage(self._ctx)
23+
24+
@property
25+
@requires(version="2025.04.0")
26+
def hits(self) -> Hits:
27+
return resources._ResourceSequence(self._ctx, "v1/instrumentation/content/hits", uid="id")

0 commit comments

Comments
 (0)