Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ dist-ssr
*.njsproj
*.sln
*.sw?
/.venv
6 changes: 6 additions & 0 deletions openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1840,6 +1840,9 @@
{ "type": "null" }
]
}
,
"is_published": { "type": "boolean", "title": "Is Published", "default": false },
"published_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Published At" }
},
"type": "object",
"required": ["id"],
Expand Down Expand Up @@ -2686,6 +2689,9 @@
"type": "array",
"title": "Sensor Variables"
}
,
"is_published": { "type": "boolean", "title": "Is Published", "default": false },
"published_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Published At" }
},
"type": "object",
"required": [
Expand Down
94 changes: 93 additions & 1 deletion packages/upstream-api/apis/CampaignsApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ import type {
GetCampaignResponse,
HTTPValidationError,
ListCampaignsResponsePagination,
PublishRequest,
PublishResponse,
} from '../models/index';
import {
CampaignCreateResponseFromJSON,
Expand All @@ -35,6 +37,10 @@ import {
HTTPValidationErrorToJSON,
ListCampaignsResponsePaginationFromJSON,
ListCampaignsResponsePaginationToJSON,
PublishRequestFromJSON,
PublishRequestToJSON,
PublishResponseFromJSON,
PublishResponseToJSON,
} from '../models/index';

export interface CreateCampaignApiV1CampaignsPostRequest {
Expand Down Expand Up @@ -68,8 +74,17 @@ export interface UpdateCampaignApiV1CampaignsCampaignIdPutRequest {
campaignsIn: CampaignsIn;
}

export interface PublishCampaignApiV1CampaignsCampaignIdPublishPostRequest {
campaignId: number;
publishRequest?: PublishRequest;
}

export interface UnpublishCampaignApiV1CampaignsCampaignIdUnpublishPostRequest {
campaignId: number;
}

/**
*
*
*/
export class CampaignsApi extends runtime.BaseAPI {

Expand Down Expand Up @@ -340,4 +355,81 @@ export class CampaignsApi extends runtime.BaseAPI {
return await response.value();
}

/**
* Publish Campaign
*/
async publishCampaignApiV1CampaignsCampaignIdPublishPostRaw(requestParameters: PublishCampaignApiV1CampaignsCampaignIdPublishPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PublishResponse>> {
if (requestParameters['campaignId'] == null) {
throw new runtime.RequiredError(
'campaignId',
'Required parameter "campaignId" was null or undefined when calling publishCampaignApiV1CampaignsCampaignIdPublishPost().'
);
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};

headerParameters['Content-Type'] = 'application/json';

if (this.configuration && this.configuration.accessToken) {
headerParameters["Authorization"] = await this.configuration.accessToken("HTTPBearer", []);
}

const response = await this.request({
path: `/api/v1/campaigns/{campaign_id}/publish`.replace(`{${"campaign_id"}}`, encodeURIComponent(String(requestParameters['campaignId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: PublishRequestToJSON(requestParameters['publishRequest']),
}, initOverrides);

return new runtime.JSONApiResponse(response, (jsonValue) => PublishResponseFromJSON(jsonValue));
}

/**
* Publish Campaign
*/
async publishCampaignApiV1CampaignsCampaignIdPublishPost(requestParameters: PublishCampaignApiV1CampaignsCampaignIdPublishPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PublishResponse> {
const response = await this.publishCampaignApiV1CampaignsCampaignIdPublishPostRaw(requestParameters, initOverrides);
return await response.value();
}

/**
* Unpublish Campaign
*/
async unpublishCampaignApiV1CampaignsCampaignIdUnpublishPostRaw(requestParameters: UnpublishCampaignApiV1CampaignsCampaignIdUnpublishPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PublishResponse>> {
if (requestParameters['campaignId'] == null) {
throw new runtime.RequiredError(
'campaignId',
'Required parameter "campaignId" was null or undefined when calling unpublishCampaignApiV1CampaignsCampaignIdUnpublishPost().'
);
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};

if (this.configuration && this.configuration.accessToken) {
headerParameters["Authorization"] = await this.configuration.accessToken("HTTPBearer", []);
}

const response = await this.request({
path: `/api/v1/campaigns/{campaign_id}/unpublish`.replace(`{${"campaign_id"}}`, encodeURIComponent(String(requestParameters['campaignId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);

return new runtime.JSONApiResponse(response, (jsonValue) => PublishResponseFromJSON(jsonValue));
}

/**
* Unpublish Campaign
*/
async unpublishCampaignApiV1CampaignsCampaignIdUnpublishPost(requestParameters: UnpublishCampaignApiV1CampaignsCampaignIdUnpublishPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PublishResponse> {
const response = await this.unpublishCampaignApiV1CampaignsCampaignIdUnpublishPostRaw(requestParameters, initOverrides);
return await response.value();
}

}
125 changes: 125 additions & 0 deletions packages/upstream-api/apis/SensorsApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ import type {
GetSensorResponse,
HTTPValidationError,
ListSensorsResponsePagination,
PublishRequest,
PublishResponse,
SensorCreateResponse,
SensorUpdate,
SortField,
Expand All @@ -29,6 +31,10 @@ import {
HTTPValidationErrorToJSON,
ListSensorsResponsePaginationFromJSON,
ListSensorsResponsePaginationToJSON,
PublishRequestFromJSON,
PublishRequestToJSON,
PublishResponseFromJSON,
PublishResponseToJSON,
SensorCreateResponseFromJSON,
SensorCreateResponseToJSON,
SensorUpdateFromJSON,
Expand Down Expand Up @@ -76,6 +82,19 @@ export interface UpdateSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSen
sensorUpdate: SensorUpdate;
}

export interface PublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPostRequest {
campaignId: number;
stationId: number;
sensorId: number;
publishRequest?: PublishRequest;
}

export interface UnpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPostRequest {
campaignId: number;
stationId: number;
sensorId: number;
}

/**
*
*/
Expand Down Expand Up @@ -382,4 +401,110 @@ export class SensorsApi extends runtime.BaseAPI {
return await response.value();
}

/**
* Publish Sensor
*/
async publishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPostRaw(requestParameters: PublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PublishResponse>> {
if (requestParameters['campaignId'] == null) {
throw new runtime.RequiredError(
'campaignId',
'Required parameter "campaignId" was null or undefined when calling publishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPost().'
);
}

if (requestParameters['stationId'] == null) {
throw new runtime.RequiredError(
'stationId',
'Required parameter "stationId" was null or undefined when calling publishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPost().'
);
}

if (requestParameters['sensorId'] == null) {
throw new runtime.RequiredError(
'sensorId',
'Required parameter "sensorId" was null or undefined when calling publishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPost().'
);
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};

headerParameters['Content-Type'] = 'application/json';

if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("HTTPBearer", []);
}

const response = await this.request({
path: `/api/v1/campaigns/{campaign_id}/stations/{station_id}/sensors/{sensor_id}/publish`.replace(`{${"campaign_id"}}`, encodeURIComponent(String(requestParameters['campaignId']))).replace(`{${"station_id"}}`, encodeURIComponent(String(requestParameters['stationId']))).replace(`{${"sensor_id"}}`, encodeURIComponent(String(requestParameters['sensorId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: PublishRequestToJSON(requestParameters['publishRequest']),
}, initOverrides);

return new runtime.JSONApiResponse(response, (jsonValue) => PublishResponseFromJSON(jsonValue));
}

/**
* Publish Sensor
*/
async publishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPost(requestParameters: PublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PublishResponse> {
const response = await this.publishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdPublishPostRaw(requestParameters, initOverrides);
return await response.value();
}

/**
* Unpublish Sensor
*/
async unpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPostRaw(requestParameters: UnpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PublishResponse>> {
if (requestParameters['campaignId'] == null) {
throw new runtime.RequiredError(
'campaignId',
'Required parameter "campaignId" was null or undefined when calling unpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPost().'
);
}

if (requestParameters['stationId'] == null) {
throw new runtime.RequiredError(
'stationId',
'Required parameter "stationId" was null or undefined when calling unpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPost().'
);
}

if (requestParameters['sensorId'] == null) {
throw new runtime.RequiredError(
'sensorId',
'Required parameter "sensorId" was null or undefined when calling unpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPost().'
);
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};

if (this.configuration && this.configuration.accessToken) {
headerParameters["Authorization"] = await this.configuration.accessToken("HTTPBearer", []);
}

const response = await this.request({
path: `/api/v1/campaigns/{campaign_id}/stations/{station_id}/sensors/{sensor_id}/unpublish`.replace(`{${"campaign_id"}}`, encodeURIComponent(String(requestParameters['campaignId']))).replace(`{${"station_id"}}`, encodeURIComponent(String(requestParameters['stationId']))).replace(`{${"sensor_id"}}`, encodeURIComponent(String(requestParameters['sensorId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);

return new runtime.JSONApiResponse(response, (jsonValue) => PublishResponseFromJSON(jsonValue));
}

/**
* Unpublish Sensor
*/
async unpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPost(requestParameters: UnpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PublishResponse> {
const response = await this.unpublishSensorApiV1CampaignsCampaignIdStationsStationIdSensorsSensorIdUnpublishPostRaw(requestParameters, initOverrides);
return await response.value();
}

}
Loading