Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
})
getUser(
@pathParam({ description: "User unique identifier" }) userId: Int64
): Promise<{
name: string;
age?: Float;
}> {
return response();
}
@endpoint({
method: "DELETE",
path: "/users/:userId-confirmed",
tags: ["users"]
})
@genericError()
@specificError({
name: "forbidden",
statusCode: 403
})
deleteUser(
@pathParam() userId: Int64,
@header({
name: "Authorization"
})
authToken: string
): null {
return response();
}
}
// Requests and responses.
getUser(
@pathParam({ description: "User unique identifier" }) userId: Int64
): Promise<{
name: string;
age?: Float;
}> {
return response();
}
@endpoint({
method: "DELETE",
path: "/users/:userId-confirmed",
tags: ["users"]
})
@genericError()
@specificError({
name: "forbidden",
statusCode: 403
})
deleteUser(
@pathParam() userId: Int64,
@header({
name: "Authorization"
})
authToken: string
): null {
return response();
}
}
// Requests and responses.
import {
api,
body,
endpoint,
Integer,
pathParams,
request,
response,
String,
test
} from "@airtasker/spot";
@api({ name: "company-api" })
class CompanyApi {}
@endpoint({
method: "GET",
path: "/companies/:companyId"
})
class GetCompany {
@request
request(
@pathParams
pathParams: {
companyId: String;
}
) {}
@response({ status: 200 })
successResponse(@body body: CompanyBody) {}
@test({
test
} from "@airtasker/spot";
@api({ name: "company-api" })
class CompanyApi {}
@draft
@endpoint({
method: "POST",
path: "/companies"
})
class CreateCompany {
@request
request(@body body: CreateCompanyRequestBody) {}
@response({ status: 201 })
successResponse(@body body: CompanyBody) {}
@test({
request: {
body: {
name: "My Company",
private: true
}
},
response: {
status: 201
}
})
successResponseTest() {}
}
String,
test
} from "@airtasker/spot";
@api({ name: "company-api" })
class CompanyApi {}
@endpoint({
method: "POST",
path: "/companies"
})
class CreateCompany {
@request
request(@body body: CreateCompanyRequestBody) {}
@response({ status: 201 })
successResponse(
@headers
headers: {
Location: String;
},
@body body: CompanyBody
) {}
@defaultResponse
defaultResponse(@body body: DefaultErrorBody) {}
@test(
{
request: {
body: {
private: true
class CompanyApi {}
@endpoint({
method: "GET",
path: "/companies"
})
class GetCompanies {
@request
request(
@queryParams
queryParam: {
profile?: { name: String };
}
) {}
@response({ status: 200 })
successResponse(@body body: CompanyBody[]) {}
@test({
request: {
queryParams: {
profile: {
name: "testname"
}
}
},
response: {
status: 200
}
})
successResponseTest() {}
}
String,
test
} from "@airtasker/spot";
@api({ name: "company-api" })
class CompanyApi {}
@endpoint({
method: "POST",
path: "/companies"
})
class CreateCompany {
@request
request(@body body: CreateCompanyRequestBody) {}
@response({ status: 201 })
successResponse(
@headers
headers: {
Location: String;
},
@body body: CompanyBody
) {}
@response({ status: 400 })
badRequestResponse(@body body: ErrorBody) {}
@test({
request: {
body: {
name: "My Company",
private: true
import {
api,
body,
draft,
endpoint,
headers,
request,
response,
String,
test
} from "@airtasker/spot";
@api({ name: "company-api" })
class CompanyApi {}
@draft
@endpoint({
method: "POST",
path: "/companies"
})
class CreateCompany {
@request
request(@body body: CreateCompanyRequestBody) {}
@response({ status: 201 })
successResponse(@body body: CompanyBody) {}
@test({
request: {
@request
request(@body body: CreateCompanyRequestBody) {}
@response({ status: 201 })
successResponse(
@headers
headers: {
Location: String;
},
@body body: CompanyBody
) {}
@defaultResponse
defaultResponse(@body body: DefaultErrorBody) {}
@test(
{
request: {
body: {
private: true
}
},
response: {
status: 400
}
},
{ allowInvalidRequest: true }
)
defaultResponseTest() {}
}
interface CreateCompanyRequestBody {
@api({ name: "company-api" })
class CompanyApi {}
@draft
@endpoint({
method: "POST",
path: "/companies"
})
class CreateCompany {
@request
request(@body body: CreateCompanyRequestBody) {}
@response({ status: 201 })
successResponse(@body body: CompanyBody) {}
@test({
request: {
body: {
name: "My Company",
private: true
}
},
response: {
status: 201
}
})
successResponseTest() {}
}
interface CreateCompanyRequestBody {
name: String;
private: boolean;