You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: core/services/resources-internal.tsp
+54-3Lines changed: 54 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@ import "@typespec/http";
2
2
import"@typespec/openapi";
3
3
import"@typespec/openapi3";
4
4
5
-
import"../models/resource/model.tsp";
6
-
import"../models/common/model.tsp";
7
-
import"../models/statuses/model.tsp";
5
+
import"../../shared/models/resource/model.tsp";
6
+
import"../../shared/models/common/model.tsp";
7
+
import"../../shared/models/statuses/model.tsp";
8
8
9
9
usingHttp;
10
10
usingOpenAPI;
@@ -90,4 +90,55 @@ interface Resources {
90
90
| Error
91
91
| BadRequestResponse;
92
92
93
+
/**
94
+
* Permanently removes the resource record from the database for a resource stuck in Finalizing state.
95
+
* This is a database-only operation. Requires a reason for audit purposes.
96
+
*/
97
+
@route("/{resource_id}/force-delete")
98
+
@post
99
+
@summary("Force-delete a resource")
100
+
@operationId("forceDeleteResource")
101
+
forceDeleteResource(
102
+
@pathresource_id:string,
103
+
@bodybody:ForceDeleteRequest,
104
+
): {
105
+
@statusCodestatusCode:204;
106
+
} | Error
107
+
| NotFoundResponse
108
+
| BadRequestResponse
109
+
| ConflictResponse;
110
+
}
111
+
112
+
@tag("Resource statuses")
113
+
@route("/resources/{resource_id}/statuses")
114
+
@useAuth(HyperFleet.BearerAuth)
115
+
interfaceResourceStatuses {
116
+
/**
117
+
* Returns adapter statuses for a resource.
118
+
*/
119
+
@route("")
120
+
@get
121
+
@summary("List resource statuses")
122
+
@operationId("getResourceStatuses")
123
+
getResourceStatuses(
124
+
@pathresource_id:string,
125
+
...QueryParams,
126
+
):Body<AdapterStatusList>
127
+
| Error
128
+
| NotFoundResponse
129
+
| BadRequestResponse;
130
+
131
+
@route("")
132
+
@put
133
+
@summary("Adapter creates or updates resource status")
134
+
@operationId("putResourceStatuses")
135
+
@doc("Adapters call this endpoint to report status for a resource after each evaluation. The adapter's status entry is created if it doesn't exist, or updated if it does (upserted by adapter name).")
@summary("Adapter creates or updates resource status")
72
-
@operationId("putResourceStatuses")
73
-
@doc("Adapters call this endpoint to report status for a resource after each evaluation. The adapter's status entry is created if it doesn't exist, or updated if it does (upserted by adapter name).")
74
-
putResourceStatuses(
75
-
@pathresource_id:string,
76
-
@bodybody:AdapterStatusCreateRequest,
77
-
):
78
-
| (CreatedResponse & AdapterStatus)
79
-
| BadRequestResponse
80
-
| NotFoundResponse
81
-
| ConflictResponse;
82
-
}
83
-
84
-
@tag("Resources")
85
-
@route("/resources")
86
-
@useAuth(HyperFleet.BearerAuth)
87
-
interfaceResourcesForceDelete {
88
-
/**
89
-
* Permanently removes the resource record from the database for a resource stuck in Finalizing state.
90
-
* This is a database-only operation. Requires a reason for audit purposes.
0 commit comments