feat: support for sending client credentials via basic auth header (#4635)
Co-authored-by: jamesgeorge007 <25279263+jamesgeorge007@users.noreply.github.com> Co-authored-by: nivedin <nivedinp@gmail.com>
This commit is contained in:
parent
a16402e94d
commit
8b70d7f419
26 changed files with 522 additions and 179 deletions
|
|
@ -50,7 +50,7 @@
|
|||
"lodash-es": "4.17.21",
|
||||
"papaparse": "5.4.1",
|
||||
"qs": "6.13.0",
|
||||
"verzod": "0.2.3",
|
||||
"verzod": "0.2.4",
|
||||
"xmlbuilder2": "3.1.1",
|
||||
"zod": "3.23.8"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -485,17 +485,17 @@ export const WORKSPACE_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Worksp
|
|||
export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: HoppCollection[] =
|
||||
[
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1f86hv000010f8szcfya0t",
|
||||
name: "Multiple child collections with authorization & headers set at each level",
|
||||
folders: [
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fjgah000110f8a5bs68gd",
|
||||
name: "folder-1",
|
||||
folders: [
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fjwmm000410f8l1gkkr1a",
|
||||
name: "folder-11",
|
||||
folders: [],
|
||||
|
|
@ -537,7 +537,7 @@ export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Hopp
|
|||
],
|
||||
},
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fjyxm000510f8pv90dt43",
|
||||
name: "folder-12",
|
||||
folders: [],
|
||||
|
|
@ -595,7 +595,7 @@ export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Hopp
|
|||
],
|
||||
},
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fk1cv000610f88kc3aupy",
|
||||
name: "folder-13",
|
||||
folders: [],
|
||||
|
|
@ -707,12 +707,12 @@ export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Hopp
|
|||
],
|
||||
},
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fjk9o000210f8j0573pls",
|
||||
name: "folder-2",
|
||||
folders: [
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fk516000710f87sfpw6bo",
|
||||
name: "folder-21",
|
||||
folders: [],
|
||||
|
|
@ -752,7 +752,7 @@ export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Hopp
|
|||
],
|
||||
},
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fk72t000810f8gfwkpi5y",
|
||||
name: "folder-22",
|
||||
folders: [],
|
||||
|
|
@ -810,7 +810,7 @@ export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Hopp
|
|||
],
|
||||
},
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fk95g000910f8bunhaoo8",
|
||||
name: "folder-23",
|
||||
folders: [],
|
||||
|
|
@ -915,12 +915,12 @@ export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Hopp
|
|||
],
|
||||
},
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1fjmlq000310f86o4d3w2o",
|
||||
name: "folder-3",
|
||||
folders: [
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1iwq0p003e10f8u8zg0p85",
|
||||
name: "folder-31",
|
||||
folders: [],
|
||||
|
|
@ -960,7 +960,7 @@ export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Hopp
|
|||
],
|
||||
},
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1izut7003m10f894ip59zg",
|
||||
name: "folder-32",
|
||||
folders: [],
|
||||
|
|
@ -1018,7 +1018,7 @@ export const TRANSFORMED_MULTIPLE_CHILD_COLLECTIONS_WITH_AUTH_HEADERS_MOCK: Hopp
|
|||
],
|
||||
},
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
id: "clx1j2ka9003q10f8cdbzpgpg",
|
||||
name: "folder-33",
|
||||
folders: [],
|
||||
|
|
|
|||
|
|
@ -199,7 +199,10 @@
|
|||
"label_password": "Password",
|
||||
"label_username": "Username",
|
||||
"label_auth_code": "Authorization Code",
|
||||
"label_client_credentials": "Client Credentials"
|
||||
"label_client_credentials": "Client Credentials",
|
||||
"label_send_as": "Client Authentication",
|
||||
"label_send_in_body": "Send Credentials in Body",
|
||||
"label_send_as_basic_auth": "Send Credentials as Basic Auth"
|
||||
},
|
||||
"pass_key_by": "Pass by",
|
||||
"pass_by_query_params_label": "Query Parameters",
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@
|
|||
"url": "0.11.4",
|
||||
"util": "0.12.5",
|
||||
"uuid": "10.0.0",
|
||||
"verzod": "0.2.3",
|
||||
"verzod": "0.2.4",
|
||||
"vue": "3.5.12",
|
||||
"vue-i18n": "10.0.4",
|
||||
"vue-pdf-embed": "2.1.0",
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ const onSaveAsExample = () => {
|
|||
} = response.req
|
||||
|
||||
const originalRequest: HoppRESTResponseOriginalRequest = {
|
||||
v: "2",
|
||||
v: "3",
|
||||
method,
|
||||
endpoint,
|
||||
headers,
|
||||
|
|
|
|||
|
|
@ -564,6 +564,33 @@ const supportedGrantTypes = [
|
|||
}
|
||||
)
|
||||
|
||||
const clientAuthentication = refWithCallbackOnChange(
|
||||
grantTypeInfo.clientAuthentication
|
||||
? grantTypeInfo.clientAuthentication === "AS_BASIC_AUTH_HEADERS"
|
||||
? {
|
||||
id: "AS_BASIC_AUTH_HEADERS" as const,
|
||||
label: t("authorization.oauth.label_send_as_basic_auth"),
|
||||
}
|
||||
: {
|
||||
id: "IN_BODY" as const,
|
||||
label: t("authorization.oauth.label_send_in_body"),
|
||||
}
|
||||
: {
|
||||
id: "IN_BODY" as const,
|
||||
label: t("authorization.oauth.label_send_in_body"),
|
||||
},
|
||||
(value) => {
|
||||
if (!("clientAuthentication" in auth.value.grantTypeInfo)) {
|
||||
return
|
||||
}
|
||||
|
||||
auth.value.grantTypeInfo = {
|
||||
...auth.value.grantTypeInfo,
|
||||
clientAuthentication: value.id,
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
const runAction = async () => {
|
||||
const values: ClientCredentialsFlowParams =
|
||||
replaceTemplateStringsInObjectValues({
|
||||
|
|
@ -571,6 +598,7 @@ const supportedGrantTypes = [
|
|||
clientID: clientID.value,
|
||||
clientSecret: clientSecret.value,
|
||||
scopes: scopes.value,
|
||||
clientAuthentication: clientAuthentication.value.id,
|
||||
})
|
||||
|
||||
const parsedArgs = clientCredentials.params.safeParse(values)
|
||||
|
|
@ -596,28 +624,46 @@ const supportedGrantTypes = [
|
|||
return [
|
||||
{
|
||||
id: "authEndpoint",
|
||||
label: "Authorization Endpoint",
|
||||
label: t("authorization.oauth.label_authorization_endpoint"),
|
||||
type: "text" as const,
|
||||
ref: authEndpoint,
|
||||
},
|
||||
{
|
||||
id: "clientId",
|
||||
label: "Client ID",
|
||||
label: t("authorization.oauth.label_client_id"),
|
||||
type: "text" as const,
|
||||
ref: clientID,
|
||||
},
|
||||
{
|
||||
id: "clientSecret",
|
||||
label: "Client Secret",
|
||||
label: t("authorization.oauth.label_client_secret"),
|
||||
type: "text" as const,
|
||||
ref: clientSecret,
|
||||
},
|
||||
{
|
||||
id: "scopes",
|
||||
label: "Scopes",
|
||||
label: t("authorization.oauth.label_scopes"),
|
||||
type: "text" as const,
|
||||
ref: scopes,
|
||||
},
|
||||
{
|
||||
id: "clientAuthentication",
|
||||
label: t("authorization.oauth.label_send_as"),
|
||||
type: "dropdown" as const,
|
||||
ref: clientAuthentication,
|
||||
tippyRefName: "clientAuthenticationTippyActions",
|
||||
tippyRef: clientAuthenticationTippyActions,
|
||||
options: [
|
||||
{
|
||||
id: "IN_BODY" as const,
|
||||
label: t("authorization.oauth.label_send_in_body"),
|
||||
},
|
||||
{
|
||||
id: "AS_BASIC_AUTH_HEADERS" as const,
|
||||
label: t("authorization.oauth.label_send_as_basic_auth"),
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
})
|
||||
|
||||
|
|
@ -1066,4 +1112,5 @@ const generateOAuthToken = async () => {
|
|||
const grantTypeTippyActions = ref<HTMLElement | null>(null)
|
||||
const pkceTippyActions = ref<HTMLElement | null>(null)
|
||||
const authTippyActions = ref<HTMLElement | null>(null)
|
||||
const clientAuthenticationTippyActions = ref<HTMLElement | null>(null)
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -470,6 +470,7 @@ const resolveOpenAPIV3SecurityObj = (
|
|||
clientSecret: "",
|
||||
scopes: _schemeData.join(" "),
|
||||
token: "",
|
||||
clientAuthentication: "IN_BODY",
|
||||
},
|
||||
addTo: "HEADERS",
|
||||
}
|
||||
|
|
@ -616,6 +617,7 @@ const resolveOpenAPIV2SecurityScheme = (
|
|||
grantType: "CLIENT_CREDENTIALS",
|
||||
scopes: _schemeData.join(" "),
|
||||
token: "",
|
||||
clientAuthentication: "IN_BODY",
|
||||
},
|
||||
addTo: "HEADERS",
|
||||
}
|
||||
|
|
@ -812,7 +814,7 @@ const convertPathToHoppReqs = (
|
|||
requestVariables: parseOpenAPIVariables(
|
||||
(info.parameters as OpenAPIParamsType[] | undefined) ?? []
|
||||
),
|
||||
v: "2",
|
||||
v: "3",
|
||||
}),
|
||||
}),
|
||||
metadata: {
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ const getHoppResponses = (
|
|||
requestVariables: getHoppReqVariables(
|
||||
response.originalRequest?.url.variables ?? null
|
||||
),
|
||||
v: "2" as const,
|
||||
v: "3" as const,
|
||||
},
|
||||
}
|
||||
return [response.name, res]
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import * as E from "fp-ts/Either"
|
|||
import { InterceptorService } from "~/services/interceptor.service"
|
||||
import { useToast } from "~/composables/toast"
|
||||
import { ClientCredentialsGrantTypeParams } from "@hoppscotch/data"
|
||||
import { AxiosRequestConfig } from "axios"
|
||||
|
||||
const interceptorService = getService(InterceptorService)
|
||||
|
||||
|
|
@ -18,6 +19,7 @@ const ClientCredentialsFlowParamsSchema = ClientCredentialsGrantTypeParams.pick(
|
|||
clientID: true,
|
||||
clientSecret: true,
|
||||
scopes: true,
|
||||
clientAuthentication: true,
|
||||
}
|
||||
).refine(
|
||||
(params) => {
|
||||
|
|
@ -42,37 +44,20 @@ export const getDefaultClientCredentialsFlowParams =
|
|||
clientID: "",
|
||||
clientSecret: "",
|
||||
scopes: undefined,
|
||||
clientAuthentication: "IN_BODY",
|
||||
})
|
||||
|
||||
const initClientCredentialsOAuthFlow = async ({
|
||||
clientID,
|
||||
clientSecret,
|
||||
scopes,
|
||||
authEndpoint,
|
||||
}: ClientCredentialsFlowParams) => {
|
||||
const initClientCredentialsOAuthFlow = async (
|
||||
payload: ClientCredentialsFlowParams
|
||||
) => {
|
||||
const toast = useToast()
|
||||
|
||||
const formData = new URLSearchParams()
|
||||
formData.append("grant_type", "client_credentials")
|
||||
formData.append("client_id", clientID)
|
||||
const requestPayload =
|
||||
payload.clientAuthentication === "AS_BASIC_AUTH_HEADERS"
|
||||
? getPayloadForViaBasicAuthHeader(payload)
|
||||
: getPayloadForViaBody(payload)
|
||||
|
||||
if (clientSecret) {
|
||||
formData.append("client_secret", clientSecret)
|
||||
}
|
||||
|
||||
if (scopes) {
|
||||
formData.append("scope", scopes)
|
||||
}
|
||||
|
||||
const { response } = interceptorService.runRequest({
|
||||
url: authEndpoint,
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
Accept: "application/json",
|
||||
},
|
||||
data: formData.toString(),
|
||||
})
|
||||
const { response } = interceptorService.runRequest(requestPayload)
|
||||
|
||||
const res = await response
|
||||
|
||||
|
|
@ -183,3 +168,58 @@ export default createFlowConfig(
|
|||
initClientCredentialsOAuthFlow,
|
||||
handleRedirectForAuthCodeOauthFlow
|
||||
)
|
||||
|
||||
const getPayloadForViaBasicAuthHeader = (
|
||||
payload: Omit<ClientCredentialsFlowParams, "clientAuthentication">
|
||||
): AxiosRequestConfig => {
|
||||
const { clientID, clientSecret, scopes, authEndpoint } = payload
|
||||
|
||||
const basicAuthToken = btoa(`${clientID}:${clientSecret}`)
|
||||
|
||||
const formData = new URLSearchParams()
|
||||
|
||||
formData.append("grant_type", "client_credentials")
|
||||
|
||||
if (scopes) {
|
||||
formData.append("scope", scopes)
|
||||
}
|
||||
|
||||
return {
|
||||
method: "POST",
|
||||
url: authEndpoint,
|
||||
headers: {
|
||||
Authorization: `Basic ${basicAuthToken}`,
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
Accept: "application/json",
|
||||
},
|
||||
data: formData.toString(),
|
||||
}
|
||||
}
|
||||
|
||||
const getPayloadForViaBody = (
|
||||
payload: Omit<ClientCredentialsFlowParams, "clientAuthentication">
|
||||
) => {
|
||||
const { clientID, clientSecret, scopes, authEndpoint } = payload
|
||||
|
||||
const formData = new URLSearchParams()
|
||||
formData.append("grant_type", "client_credentials")
|
||||
formData.append("client_id", clientID)
|
||||
|
||||
if (clientSecret) {
|
||||
formData.append("client_secret", clientSecret)
|
||||
}
|
||||
|
||||
if (scopes) {
|
||||
formData.append("scope", scopes)
|
||||
}
|
||||
|
||||
return {
|
||||
method: "POST",
|
||||
url: authEndpoint,
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
Accept: "application/json",
|
||||
},
|
||||
data: formData.toString(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ const DEFAULT_SETTINGS = getDefaultSettings()
|
|||
|
||||
export const REST_COLLECTIONS_MOCK: HoppCollection[] = [
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
name: "Echo",
|
||||
requests: [
|
||||
{
|
||||
|
|
@ -57,11 +57,11 @@ export const REST_COLLECTIONS_MOCK: HoppCollection[] = [
|
|||
|
||||
export const GQL_COLLECTIONS_MOCK: HoppCollection[] = [
|
||||
{
|
||||
v: 5,
|
||||
v: 6,
|
||||
name: "Echo",
|
||||
requests: [
|
||||
{
|
||||
v: 7,
|
||||
v: 8,
|
||||
name: "Echo test",
|
||||
url: "https://echo.hoppscotch.io/graphql",
|
||||
headers: [],
|
||||
|
|
@ -167,7 +167,7 @@ export const GQL_HISTORY_MOCK: GQLHistoryEntry[] = [
|
|||
{
|
||||
v: 1,
|
||||
request: {
|
||||
v: 7,
|
||||
v: 8,
|
||||
name: "Untitled",
|
||||
url: "https://echo.hoppscotch.io/graphql",
|
||||
query: "query Request { url }",
|
||||
|
|
@ -188,7 +188,7 @@ export const GQL_TAB_STATE_MOCK: PersistableTabState<HoppGQLDocument> = {
|
|||
tabID: "5edbe8d4-65c9-4381-9354-5f1bf05d8ccc",
|
||||
doc: {
|
||||
request: {
|
||||
v: 7,
|
||||
v: 8,
|
||||
name: "Untitled",
|
||||
url: "https://echo.hoppscotch.io/graphql",
|
||||
headers: [],
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
"lodash": "4.17.21",
|
||||
"parser-ts": "0.7.0",
|
||||
"uuid": "10.0.0",
|
||||
"verzod": "0.2.3",
|
||||
"verzod": "0.2.4",
|
||||
"zod": "3.23.8"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import V2_VERSION from "./v/2"
|
|||
import V3_VERSION from "./v/3"
|
||||
import V4_VERSION from "./v/4"
|
||||
import V5_VERSION from "./v/5"
|
||||
import V6_VERSION from "./v/6"
|
||||
|
||||
import { z } from "zod"
|
||||
import { translateToNewRequest } from "../rest"
|
||||
|
|
@ -16,13 +17,14 @@ const versionedObject = z.object({
|
|||
})
|
||||
|
||||
export const HoppCollection = createVersionedEntity({
|
||||
latestVersion: 5,
|
||||
latestVersion: 6,
|
||||
versionMap: {
|
||||
1: V1_VERSION,
|
||||
2: V2_VERSION,
|
||||
3: V3_VERSION,
|
||||
4: V4_VERSION,
|
||||
5: V5_VERSION,
|
||||
6: V6_VERSION,
|
||||
},
|
||||
getVersion(data) {
|
||||
const versionCheck = versionedObject.safeParse(data)
|
||||
|
|
@ -38,7 +40,7 @@ export const HoppCollection = createVersionedEntity({
|
|||
|
||||
export type HoppCollection = InferredEntity<typeof HoppCollection>
|
||||
|
||||
export const CollectionSchemaVersion = 5
|
||||
export const CollectionSchemaVersion = 6
|
||||
|
||||
/**
|
||||
* Generates a Collection object. This ignores the version number object
|
||||
|
|
|
|||
|
|
@ -26,9 +26,10 @@ type Output = z.output<typeof baseCollectionSchema> & {
|
|||
folders: Output[]
|
||||
}
|
||||
|
||||
export const V1_SCHEMA: z.ZodType<Output, z.ZodTypeDef, Input> = baseCollectionSchema.extend({
|
||||
folders: z.lazy(() => z.array(V1_SCHEMA)),
|
||||
})
|
||||
export const V1_SCHEMA: z.ZodType<Output, z.ZodTypeDef, Input> =
|
||||
baseCollectionSchema.extend({
|
||||
folders: z.lazy(() => z.array(V1_SCHEMA)),
|
||||
})
|
||||
|
||||
export default defineVersion({
|
||||
initial: true,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { z } from "zod"
|
|||
import { V4_SCHEMA, v4_baseCollectionSchema } from "./4"
|
||||
import { generateUniqueRefId } from "../../utils/collection"
|
||||
|
||||
const v5_baseCollectionSchema = v4_baseCollectionSchema.extend({
|
||||
export const v5_baseCollectionSchema = v4_baseCollectionSchema.extend({
|
||||
v: z.literal(5),
|
||||
_ref_id: z.string().optional(),
|
||||
})
|
||||
|
|
@ -17,7 +17,7 @@ type Output = z.output<typeof v5_baseCollectionSchema> & {
|
|||
folders: Output[]
|
||||
}
|
||||
|
||||
const V5_SCHEMA: z.ZodType<Output, z.ZodTypeDef, Input> =
|
||||
export const V5_SCHEMA: z.ZodType<Output, z.ZodTypeDef, Input> =
|
||||
v5_baseCollectionSchema.extend({
|
||||
folders: z.lazy(() => z.array(V5_SCHEMA)),
|
||||
})
|
||||
|
|
|
|||
54
packages/hoppscotch-data/src/collection/v/6.ts
Normal file
54
packages/hoppscotch-data/src/collection/v/6.ts
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
import { defineVersion } from "verzod"
|
||||
import { z } from "zod"
|
||||
|
||||
import { HoppGQLAuth } from "../../graphql/v/8"
|
||||
import { HoppRESTAuth } from "../../rest/v/11"
|
||||
|
||||
import { V5_SCHEMA, v5_baseCollectionSchema } from "./5"
|
||||
|
||||
export const v6_baseCollectionSchema = v5_baseCollectionSchema.extend({
|
||||
v: z.literal(6),
|
||||
auth: z.union([HoppRESTAuth, HoppGQLAuth]),
|
||||
})
|
||||
|
||||
type Input = z.input<typeof v6_baseCollectionSchema> & {
|
||||
folders: Input[]
|
||||
}
|
||||
|
||||
type Output = z.output<typeof v6_baseCollectionSchema> & {
|
||||
folders: Output[]
|
||||
}
|
||||
|
||||
export const V6_SCHEMA: z.ZodType<Output, z.ZodTypeDef, Input> =
|
||||
v6_baseCollectionSchema.extend({
|
||||
folders: z.lazy(() => z.array(V6_SCHEMA)),
|
||||
})
|
||||
|
||||
export default defineVersion({
|
||||
initial: false,
|
||||
schema: V6_SCHEMA,
|
||||
// @ts-expect-error
|
||||
up(old: z.infer<typeof V5_SCHEMA>) {
|
||||
const auth = old.auth
|
||||
|
||||
const migratedAuth: HoppRESTAuth =
|
||||
auth.authType === "oauth-2"
|
||||
? {
|
||||
...auth,
|
||||
grantTypeInfo:
|
||||
auth.grantTypeInfo.grantType === "CLIENT_CREDENTIALS"
|
||||
? {
|
||||
...auth.grantTypeInfo,
|
||||
clientAuthentication: "IN_BODY",
|
||||
}
|
||||
: auth.grantTypeInfo,
|
||||
}
|
||||
: auth
|
||||
|
||||
return {
|
||||
...old,
|
||||
auth: migratedAuth,
|
||||
v: 6 as const,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
|
@ -7,6 +7,7 @@ import V4_VERSION from "./v/4"
|
|||
import V5_VERSION from "./v/5"
|
||||
import V6_VERSION from "./v/6"
|
||||
import V7_VERSION from "./v/7"
|
||||
import V8_VERSION from "./v/8"
|
||||
|
||||
export {
|
||||
HoppGQLAuthBasic,
|
||||
|
|
@ -18,16 +19,16 @@ export {
|
|||
export { HoppGQLAuthAPIKey } from "./v/4"
|
||||
|
||||
export { GQLHeader, HoppGQLAuthAWSSignature } from "./v/6"
|
||||
export { HoppGQLAuth, HoppGQLAuthOAuth2 } from "./v/7"
|
||||
export { HoppGQLAuth, HoppGQLAuthOAuth2 } from "./v/8"
|
||||
|
||||
export const GQL_REQ_SCHEMA_VERSION = 7
|
||||
export const GQL_REQ_SCHEMA_VERSION = 8
|
||||
|
||||
const versionedObject = z.object({
|
||||
v: z.number(),
|
||||
})
|
||||
|
||||
export const HoppGQLRequest = createVersionedEntity({
|
||||
latestVersion: 7,
|
||||
latestVersion: 8,
|
||||
versionMap: {
|
||||
1: V1_VERSION,
|
||||
2: V2_VERSION,
|
||||
|
|
@ -36,6 +37,7 @@ export const HoppGQLRequest = createVersionedEntity({
|
|||
5: V5_VERSION,
|
||||
6: V6_VERSION,
|
||||
7: V7_VERSION,
|
||||
8: V8_VERSION,
|
||||
},
|
||||
getVersion(x) {
|
||||
const result = versionedObject.safeParse(x)
|
||||
|
|
|
|||
64
packages/hoppscotch-data/src/graphql/v/8.ts
Normal file
64
packages/hoppscotch-data/src/graphql/v/8.ts
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
import { defineVersion } from "verzod"
|
||||
import { z } from "zod"
|
||||
|
||||
import {
|
||||
HoppGQLAuthBasic,
|
||||
HoppGQLAuthBearer,
|
||||
HoppGQLAuthInherit,
|
||||
HoppGQLAuthNone,
|
||||
} from "./2"
|
||||
import { HoppGQLAuthAPIKey } from "./4"
|
||||
import { HoppGQLAuthAWSSignature } from "./6"
|
||||
import { HoppRESTAuthOAuth2 } from "./../../rest/v/11"
|
||||
import { V7_SCHEMA } from "./7"
|
||||
|
||||
export { HoppRESTAuthOAuth2 as HoppGQLAuthOAuth2 } from "../../rest/v/11"
|
||||
|
||||
export const HoppGQLAuth = z
|
||||
.discriminatedUnion("authType", [
|
||||
HoppGQLAuthNone,
|
||||
HoppGQLAuthInherit,
|
||||
HoppGQLAuthBasic,
|
||||
HoppGQLAuthBearer,
|
||||
HoppRESTAuthOAuth2,
|
||||
HoppGQLAuthAPIKey,
|
||||
HoppGQLAuthAWSSignature,
|
||||
])
|
||||
.and(
|
||||
z.object({
|
||||
authActive: z.boolean(),
|
||||
})
|
||||
)
|
||||
|
||||
export type HoppGQLAuth = z.infer<typeof HoppGQLAuth>
|
||||
|
||||
export const V8_SCHEMA = V7_SCHEMA.extend({
|
||||
v: z.literal(8),
|
||||
auth: HoppGQLAuth,
|
||||
})
|
||||
|
||||
export default defineVersion({
|
||||
schema: V8_SCHEMA,
|
||||
initial: false,
|
||||
up(old: z.infer<typeof V7_SCHEMA>) {
|
||||
const auth = old.auth
|
||||
|
||||
return {
|
||||
...old,
|
||||
v: 8 as const,
|
||||
auth:
|
||||
auth.authType === "oauth-2"
|
||||
? {
|
||||
...auth,
|
||||
grantTypeInfo:
|
||||
auth.grantTypeInfo.grantType === "CLIENT_CREDENTIALS"
|
||||
? {
|
||||
...auth.grantTypeInfo,
|
||||
clientAuthentication: "IN_BODY" as const,
|
||||
}
|
||||
: auth.grantTypeInfo,
|
||||
}
|
||||
: auth,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
|
@ -14,9 +14,10 @@ import V4_VERSION from "./v/4"
|
|||
import V5_VERSION from "./v/5"
|
||||
import V6_VERSION from "./v/6"
|
||||
import V7_VERSION, { HoppRESTHeaders, HoppRESTParams } from "./v/7"
|
||||
import V8_VERSION, { HoppRESTAuth } from "./v/8"
|
||||
import V9_VERSION, { HoppRESTRequestResponses } from "./v/9"
|
||||
import V8_VERSION from "./v/8"
|
||||
import V9_VERSION from "./v/9"
|
||||
import V10_VERSION, { HoppRESTReqBody } from "./v/10"
|
||||
import V11_VERSION, { HoppRESTAuth, HoppRESTRequestResponses } from "./v/11"
|
||||
|
||||
export * from "./content-types"
|
||||
|
||||
|
|
@ -41,30 +42,31 @@ export {
|
|||
HoppRESTParams,
|
||||
} from "./v/7"
|
||||
|
||||
export {
|
||||
ClientCredentialsGrantTypeParams,
|
||||
HoppRESTAuth,
|
||||
HoppRESTAuthOAuth2,
|
||||
HoppRESTAuthDigest,
|
||||
PasswordGrantTypeParams,
|
||||
} from "./v/8"
|
||||
export { HoppRESTAuthDigest, PasswordGrantTypeParams } from "./v/8"
|
||||
|
||||
export { FormDataKeyValue } from "./v/9"
|
||||
|
||||
export {
|
||||
FormDataKeyValue,
|
||||
HoppRESTResponseOriginalRequest,
|
||||
HoppRESTRequestResponse,
|
||||
HoppRESTRequestResponses,
|
||||
} from "./v/9"
|
||||
} from "./v/11"
|
||||
|
||||
export { HoppRESTReqBody } from "./v/10"
|
||||
|
||||
export {
|
||||
HoppRESTAuthOAuth2,
|
||||
HoppRESTAuth,
|
||||
ClientCredentialsGrantTypeParams,
|
||||
} from "./v/11"
|
||||
|
||||
const versionedObject = z.object({
|
||||
// v is a stringified number
|
||||
v: z.string().regex(/^\d+$/).transform(Number),
|
||||
})
|
||||
|
||||
export const HoppRESTRequest = createVersionedEntity({
|
||||
latestVersion: 10,
|
||||
latestVersion: 11,
|
||||
versionMap: {
|
||||
0: V0_VERSION,
|
||||
1: V1_VERSION,
|
||||
|
|
@ -77,6 +79,7 @@ export const HoppRESTRequest = createVersionedEntity({
|
|||
8: V8_VERSION,
|
||||
9: V9_VERSION,
|
||||
10: V10_VERSION,
|
||||
11: V11_VERSION,
|
||||
},
|
||||
getVersion(data) {
|
||||
// For V1 onwards we have the v string storing the number
|
||||
|
|
@ -119,7 +122,7 @@ const HoppRESTRequestEq = Eq.struct<HoppRESTRequest>({
|
|||
responses: lodashIsEqualEq,
|
||||
})
|
||||
|
||||
export const RESTReqSchemaVersion = "10"
|
||||
export const RESTReqSchemaVersion = "11"
|
||||
|
||||
export type HoppRESTParam = HoppRESTRequest["params"][number]
|
||||
export type HoppRESTHeader = HoppRESTRequest["headers"][number]
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ export default defineVersion({
|
|||
schema: V10_SCHEMA,
|
||||
initial: false,
|
||||
up(old: z.infer<typeof V9_SCHEMA>) {
|
||||
// no breaking changes
|
||||
return {
|
||||
...old,
|
||||
v: "10" as const,
|
||||
|
|
|
|||
146
packages/hoppscotch-data/src/rest/v/11.ts
Normal file
146
packages/hoppscotch-data/src/rest/v/11.ts
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
import {
|
||||
HoppRESTAuthBasic,
|
||||
HoppRESTAuthBearer,
|
||||
HoppRESTAuthInherit,
|
||||
HoppRESTAuthNone,
|
||||
} from "./1"
|
||||
import { HoppRESTAuthAPIKey } from "./4"
|
||||
import { AuthCodeGrantTypeParams, HoppRESTAuthAWSSignature } from "./7"
|
||||
import {
|
||||
ClientCredentialsGrantTypeParams as ClientCredentialsGrantTypeParamsOld,
|
||||
HoppRESTAuthDigest,
|
||||
PasswordGrantTypeParams,
|
||||
} from "./8"
|
||||
import { ImplicitOauthFlowParams } from "./3"
|
||||
import { z } from "zod"
|
||||
|
||||
import { HoppRESTReqBody, V10_SCHEMA } from "./10"
|
||||
import { defineVersion } from "verzod"
|
||||
import {
|
||||
HoppRESTResponseOriginalRequest as HoppRESTResponseOriginalRequestOld,
|
||||
HoppRESTRequestResponse as HoppRESTRequestResponseOld,
|
||||
} from "./9"
|
||||
|
||||
export const ClientCredentialsGrantTypeParams =
|
||||
ClientCredentialsGrantTypeParamsOld.extend({
|
||||
clientAuthentication: z.enum(["AS_BASIC_AUTH_HEADERS", "IN_BODY"]),
|
||||
})
|
||||
|
||||
export const HoppRESTAuthOAuth2 = z.object({
|
||||
authType: z.literal("oauth-2"),
|
||||
grantTypeInfo: z.discriminatedUnion("grantType", [
|
||||
AuthCodeGrantTypeParams,
|
||||
ClientCredentialsGrantTypeParams,
|
||||
PasswordGrantTypeParams,
|
||||
ImplicitOauthFlowParams,
|
||||
]),
|
||||
addTo: z.enum(["HEADERS", "QUERY_PARAMS"]).catch("HEADERS"),
|
||||
})
|
||||
|
||||
export type HoppRESTAuthOAuth2 = z.infer<typeof HoppRESTAuthOAuth2>
|
||||
|
||||
export const HoppRESTAuth = z
|
||||
.discriminatedUnion("authType", [
|
||||
HoppRESTAuthNone,
|
||||
HoppRESTAuthInherit,
|
||||
HoppRESTAuthBasic,
|
||||
HoppRESTAuthBearer,
|
||||
HoppRESTAuthOAuth2,
|
||||
HoppRESTAuthAPIKey,
|
||||
HoppRESTAuthAWSSignature,
|
||||
HoppRESTAuthDigest,
|
||||
])
|
||||
.and(
|
||||
z.object({
|
||||
authActive: z.boolean(),
|
||||
})
|
||||
)
|
||||
|
||||
export type HoppRESTAuth = z.infer<typeof HoppRESTAuth>
|
||||
|
||||
export const HoppRESTResponseOriginalRequest =
|
||||
HoppRESTResponseOriginalRequestOld.extend({
|
||||
v: z.literal("3"),
|
||||
auth: HoppRESTAuth,
|
||||
body: HoppRESTReqBody,
|
||||
})
|
||||
|
||||
export type HoppRESTResponseOriginalRequest = z.infer<
|
||||
typeof HoppRESTResponseOriginalRequest
|
||||
>
|
||||
|
||||
export const HoppRESTRequestResponse = HoppRESTRequestResponseOld.extend({
|
||||
originalRequest: HoppRESTResponseOriginalRequest,
|
||||
})
|
||||
|
||||
export type HoppRESTRequestResponse = z.infer<typeof HoppRESTRequestResponse>
|
||||
|
||||
export const HoppRESTRequestResponses = z.record(
|
||||
z.string(),
|
||||
HoppRESTRequestResponse
|
||||
)
|
||||
|
||||
export type HoppRESTRequestResponses = z.infer<typeof HoppRESTRequestResponses>
|
||||
|
||||
export const V11_SCHEMA = V10_SCHEMA.extend({
|
||||
v: z.literal("11"),
|
||||
auth: HoppRESTAuth,
|
||||
responses: HoppRESTRequestResponses,
|
||||
})
|
||||
|
||||
export default defineVersion({
|
||||
schema: V11_SCHEMA,
|
||||
initial: false,
|
||||
up(old: z.infer<typeof V10_SCHEMA>) {
|
||||
const auth = old.auth
|
||||
|
||||
// update auth for responses
|
||||
const responses = Object.fromEntries(
|
||||
Object.entries(old.responses).map(([key, response]) => [
|
||||
key,
|
||||
{
|
||||
...response,
|
||||
originalRequest: {
|
||||
...response.originalRequest,
|
||||
|
||||
auth:
|
||||
auth.authType === "oauth-2"
|
||||
? {
|
||||
...auth,
|
||||
grantTypeInfo:
|
||||
auth.grantTypeInfo.grantType === "CLIENT_CREDENTIALS"
|
||||
? {
|
||||
...auth.grantTypeInfo,
|
||||
clientAuthentication: "IN_BODY" as const,
|
||||
}
|
||||
: auth.grantTypeInfo,
|
||||
}
|
||||
: auth,
|
||||
|
||||
// just following the previous pattern here, but is this a good idea to overwrite the request version ?
|
||||
v: "3" as const,
|
||||
},
|
||||
},
|
||||
])
|
||||
)
|
||||
|
||||
return {
|
||||
...old,
|
||||
v: "11" as const,
|
||||
auth:
|
||||
auth.authType === "oauth-2"
|
||||
? {
|
||||
...auth,
|
||||
grantTypeInfo:
|
||||
auth.grantTypeInfo.grantType === "CLIENT_CREDENTIALS"
|
||||
? {
|
||||
...auth.grantTypeInfo,
|
||||
clientAuthentication: "IN_BODY" as const,
|
||||
}
|
||||
: auth.grantTypeInfo,
|
||||
}
|
||||
: auth,
|
||||
responses,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
import { z } from "zod"
|
||||
import { defineVersion } from "verzod"
|
||||
import {
|
||||
HoppRESTAuthAPIKey,
|
||||
HoppRESTAuthBasic,
|
||||
HoppRESTAuthBearer,
|
||||
HoppRESTAuthInherit,
|
||||
HoppRESTAuthNone,
|
||||
} from "./1"
|
||||
import { HoppRESTAuthAPIKey } from "./4"
|
||||
import { V6_SCHEMA } from "./6"
|
||||
|
||||
import { AuthCodeGrantTypeParams as AuthCodeGrantTypeParamsOld } from "./5"
|
||||
|
|
|
|||
|
|
@ -2,13 +2,14 @@ import { defineVersion } from "verzod"
|
|||
import { z } from "zod"
|
||||
|
||||
import {
|
||||
HoppRESTAuthAPIKey,
|
||||
HoppRESTAuthBasic,
|
||||
HoppRESTAuthBearer,
|
||||
HoppRESTAuthInherit,
|
||||
HoppRESTAuthNone,
|
||||
} from "./1"
|
||||
|
||||
import { HoppRESTAuthAPIKey } from "./4"
|
||||
|
||||
import {
|
||||
ClientCredentialsGrantTypeParams as ClientCredentialsGrantTypeParamsOld,
|
||||
ImplicitOauthFlowParams,
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
"tauri": "link:@tauri-apps/api/tauri",
|
||||
"tauri-plugin-store-api": "0.0.0",
|
||||
"util": "0.12.5",
|
||||
"verzod": "0.2.3",
|
||||
"verzod": "0.2.4",
|
||||
"vue": "3.3.9",
|
||||
"workbox-window": "6.6.0",
|
||||
"zod": "3.22.4"
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"rxjs": "7.8.1",
|
||||
"stream-browserify": "3.0.0",
|
||||
"util": "0.12.5",
|
||||
"verzod": "0.2.3",
|
||||
"verzod": "0.2.4",
|
||||
"vue": "3.5.12",
|
||||
"workbox-window": "7.1.0",
|
||||
"zod": "3.23.8"
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ function exportedCollectionToHoppCollection(
|
|||
return {
|
||||
id: restCollection.id,
|
||||
_ref_id: data._ref_id ?? generateUniqueRefId("coll"),
|
||||
v: 5,
|
||||
v: 6,
|
||||
name: restCollection.name,
|
||||
folders: restCollection.folders.map((folder) =>
|
||||
exportedCollectionToHoppCollection(folder, collectionType)
|
||||
|
|
@ -204,7 +204,7 @@ function exportedCollectionToHoppCollection(
|
|||
return {
|
||||
id: gqlCollection.id,
|
||||
_ref_id: data._ref_id ?? generateUniqueRefId("coll"),
|
||||
v: 5,
|
||||
v: 6,
|
||||
name: gqlCollection.name,
|
||||
folders: gqlCollection.folders.map((folder) =>
|
||||
exportedCollectionToHoppCollection(folder, collectionType)
|
||||
|
|
@ -383,7 +383,7 @@ function setupUserCollectionCreatedSubscription() {
|
|||
name: res.right.userCollectionCreated.title,
|
||||
folders: [],
|
||||
requests: [],
|
||||
v: 5,
|
||||
v: 6,
|
||||
_ref_id: data._ref_id,
|
||||
auth: data.auth,
|
||||
headers: addDescriptionField(data.headers),
|
||||
|
|
@ -392,7 +392,7 @@ function setupUserCollectionCreatedSubscription() {
|
|||
name: res.right.userCollectionCreated.title,
|
||||
folders: [],
|
||||
requests: [],
|
||||
v: 5,
|
||||
v: 6,
|
||||
_ref_id: data._ref_id,
|
||||
auth: data.auth,
|
||||
headers: addDescriptionField(data.headers),
|
||||
|
|
@ -620,7 +620,7 @@ function setupUserCollectionDuplicatedSubscription() {
|
|||
name,
|
||||
folders,
|
||||
requests,
|
||||
v: 5,
|
||||
v: 6,
|
||||
_ref_id,
|
||||
auth,
|
||||
headers: addDescriptionField(headers),
|
||||
|
|
@ -1054,7 +1054,7 @@ function transformDuplicatedCollections(
|
|||
folders,
|
||||
requests,
|
||||
_ref_id,
|
||||
v: 5,
|
||||
v: 6,
|
||||
auth,
|
||||
headers: addDescriptionField(headers),
|
||||
}
|
||||
|
|
|
|||
159
pnpm-lock.yaml
159
pnpm-lock.yaml
|
|
@ -142,10 +142,10 @@ importers:
|
|||
version: 4.11.0(graphql@16.9.0)
|
||||
'@nestjs-modules/mailer':
|
||||
specifier: 2.0.2
|
||||
version: 2.0.2(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(nodemailer@6.9.15)(relateurl@0.2.7)(svgo@3.3.2)(terser@5.34.1)(typescript@5.5.4)
|
||||
version: 2.0.2(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(nodemailer@6.9.15)(relateurl@0.2.7)(svgo@3.3.2)(terser@5.34.1)(typescript@5.5.4)
|
||||
'@nestjs/apollo':
|
||||
specifier: 12.2.0
|
||||
version: 12.2.0(@apollo/server@4.11.0(graphql@16.9.0))(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/graphql@12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2))(graphql@16.9.0)
|
||||
version: 12.2.0(@apollo/server@4.11.0(graphql@16.9.0))(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(@nestjs/graphql@12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2))(graphql@16.9.0)
|
||||
'@nestjs/common':
|
||||
specifier: 10.4.4
|
||||
version: 10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
|
|
@ -157,7 +157,7 @@ importers:
|
|||
version: 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
'@nestjs/graphql':
|
||||
specifier: 12.2.0
|
||||
version: 12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2)
|
||||
version: 12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2)
|
||||
'@nestjs/jwt':
|
||||
specifier: 10.2.0
|
||||
version: 10.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))
|
||||
|
|
@ -169,16 +169,16 @@ importers:
|
|||
version: 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)
|
||||
'@nestjs/schedule':
|
||||
specifier: 4.1.1
|
||||
version: 4.1.1(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))
|
||||
version: 4.1.1(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)
|
||||
'@nestjs/swagger':
|
||||
specifier: 7.4.2
|
||||
version: 7.4.2(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)
|
||||
version: 7.4.2(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)
|
||||
'@nestjs/terminus':
|
||||
specifier: 10.2.3
|
||||
version: 10.2.3(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@prisma/client@5.20.0(prisma@5.20.0))(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
version: 10.2.3(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(@prisma/client@5.20.0(prisma@5.20.0))(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
'@nestjs/throttler':
|
||||
specifier: 6.2.1
|
||||
version: 6.2.1(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)
|
||||
version: 6.2.1(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(reflect-metadata@0.2.2)
|
||||
'@prisma/client':
|
||||
specifier: 5.20.0
|
||||
version: 5.20.0(prisma@5.20.0)
|
||||
|
|
@ -278,7 +278,7 @@ importers:
|
|||
version: 10.1.4(chokidar@3.6.0)(typescript@5.5.4)
|
||||
'@nestjs/testing':
|
||||
specifier: 10.4.4
|
||||
version: 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4))
|
||||
version: 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(@nestjs/platform-express@10.4.4)
|
||||
'@relmify/jest-fp-ts':
|
||||
specifier: 2.1.1
|
||||
version: 2.1.1(fp-ts@2.16.9)(io-ts@2.2.21(fp-ts@2.16.9))
|
||||
|
|
@ -403,8 +403,8 @@ importers:
|
|||
specifier: 6.13.0
|
||||
version: 6.13.0
|
||||
verzod:
|
||||
specifier: 0.2.3
|
||||
version: 0.2.3(zod@3.23.8)
|
||||
specifier: 0.2.4
|
||||
version: 0.2.4(zod@3.23.8)
|
||||
xmlbuilder2:
|
||||
specifier: 3.1.1
|
||||
version: 3.1.1
|
||||
|
|
@ -671,8 +671,8 @@ importers:
|
|||
specifier: 10.0.0
|
||||
version: 10.0.0
|
||||
verzod:
|
||||
specifier: 0.2.3
|
||||
version: 0.2.3(zod@3.23.8)
|
||||
specifier: 0.2.4
|
||||
version: 0.2.4(zod@3.23.8)
|
||||
vue:
|
||||
specifier: 3.5.12
|
||||
version: 3.5.12(typescript@5.3.3)
|
||||
|
|
@ -868,7 +868,7 @@ importers:
|
|||
version: 5.4.9(@types/node@22.7.6)(sass@1.79.5)(terser@5.34.1)
|
||||
vite-plugin-checker:
|
||||
specifier: 0.6.4
|
||||
version: 0.6.4(eslint@8.57.0)(meow@13.2.0)(optionator@0.9.4)(typescript@5.3.3)(vite@5.4.9(@types/node@22.7.6)(sass@1.79.5)(terser@5.34.1))(vue-tsc@1.8.24(typescript@5.3.3))
|
||||
version: 0.6.4(eslint@8.57.0)(optionator@0.9.4)(typescript@5.3.3)(vite@5.4.9(@types/node@22.7.6)(sass@1.79.5)(terser@5.34.1))(vue-tsc@1.8.24(typescript@5.3.3))
|
||||
vite-plugin-fonts:
|
||||
specifier: 0.7.0
|
||||
version: 0.7.0(vite@5.4.9(@types/node@22.7.6)(sass@1.79.5)(terser@5.34.1))
|
||||
|
|
@ -912,8 +912,8 @@ importers:
|
|||
specifier: 10.0.0
|
||||
version: 10.0.0
|
||||
verzod:
|
||||
specifier: 0.2.3
|
||||
version: 0.2.3(zod@3.23.8)
|
||||
specifier: 0.2.4
|
||||
version: 0.2.4(zod@3.23.8)
|
||||
zod:
|
||||
specifier: 3.23.8
|
||||
version: 3.23.8
|
||||
|
|
@ -1070,8 +1070,8 @@ importers:
|
|||
specifier: 0.12.5
|
||||
version: 0.12.5
|
||||
verzod:
|
||||
specifier: 0.2.3
|
||||
version: 0.2.3(zod@3.22.4)
|
||||
specifier: 0.2.4
|
||||
version: 0.2.4(zod@3.22.4)
|
||||
vue:
|
||||
specifier: 3.5.12
|
||||
version: 3.5.12(typescript@4.9.5)
|
||||
|
|
@ -1171,7 +1171,7 @@ importers:
|
|||
version: 0.14.9(@vue/compiler-sfc@3.5.12)(vue-template-compiler@2.7.16)
|
||||
unplugin-vue-components:
|
||||
specifier: 0.21.0
|
||||
version: 0.21.0(@babel/parser@7.25.7)(esbuild@0.24.0)(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))(vue@3.5.12(typescript@4.9.5))(webpack@5.94.0(@swc/core@1.4.2)(esbuild@0.24.0))
|
||||
version: 0.21.0(@babel/parser@7.25.7)(esbuild@0.24.0)(rollup@2.79.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))(vue@3.5.12(typescript@4.9.5))(webpack@5.94.0(@swc/core@1.4.2)(esbuild@0.24.0))
|
||||
vite:
|
||||
specifier: 4.5.0
|
||||
version: 4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1)
|
||||
|
|
@ -1180,7 +1180,7 @@ importers:
|
|||
version: 1.0.11(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))
|
||||
vite-plugin-inspect:
|
||||
specifier: 0.7.38
|
||||
version: 0.7.38(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))
|
||||
version: 0.7.38(rollup@2.79.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))
|
||||
vite-plugin-pages:
|
||||
specifier: 0.26.0
|
||||
version: 0.26.0(@vue/compiler-sfc@3.5.12)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))
|
||||
|
|
@ -1245,8 +1245,8 @@ importers:
|
|||
specifier: 0.12.5
|
||||
version: 0.12.5
|
||||
verzod:
|
||||
specifier: 0.2.3
|
||||
version: 0.2.3(zod@3.23.8)
|
||||
specifier: 0.2.4
|
||||
version: 0.2.4(zod@3.23.8)
|
||||
vue:
|
||||
specifier: 3.5.12
|
||||
version: 3.5.12(typescript@5.3.3)
|
||||
|
|
@ -1346,7 +1346,7 @@ importers:
|
|||
version: 0.19.3(@vue/compiler-sfc@3.5.12)(vue-template-compiler@2.7.16)(webpack-sources@3.2.3)
|
||||
unplugin-vue-components:
|
||||
specifier: 0.27.4
|
||||
version: 0.27.4(@babel/parser@7.25.7)(rollup@3.29.4)(vue@3.5.12(typescript@5.3.3))(webpack-sources@3.2.3)
|
||||
version: 0.27.4(@babel/parser@7.25.7)(rollup@4.24.0)(vue@3.5.12(typescript@5.3.3))(webpack-sources@3.2.3)
|
||||
vite:
|
||||
specifier: 5.4.9
|
||||
version: 5.4.9(@types/node@22.7.6)(sass@1.80.3)(terser@5.34.1)
|
||||
|
|
@ -1358,7 +1358,7 @@ importers:
|
|||
version: 2.0.2(vite@5.4.9(@types/node@22.7.6)(sass@1.80.3)(terser@5.34.1))
|
||||
vite-plugin-inspect:
|
||||
specifier: 0.8.7
|
||||
version: 0.8.7(rollup@3.29.4)(vite@5.4.9(@types/node@22.7.6)(sass@1.80.3)(terser@5.34.1))
|
||||
version: 0.8.7(rollup@4.24.0)(vite@5.4.9(@types/node@22.7.6)(sass@1.80.3)(terser@5.34.1))
|
||||
vite-plugin-pages:
|
||||
specifier: 0.32.3
|
||||
version: 0.32.3(@vue/compiler-sfc@3.5.12)(vite@5.4.9(@types/node@22.7.6)(sass@1.80.3)(terser@5.34.1))(vue-router@4.4.5(vue@3.5.12(typescript@5.3.3)))
|
||||
|
|
@ -1400,7 +1400,7 @@ importers:
|
|||
version: 0.1.0(vue@3.5.12(typescript@5.6.3))
|
||||
'@intlify/unplugin-vue-i18n':
|
||||
specifier: 5.2.0
|
||||
version: 5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.12.0(jiti@2.3.3))(rollup@3.29.4)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
|
||||
version: 5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.12.0(jiti@2.3.3))(rollup@4.24.0)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
|
||||
'@types/cors':
|
||||
specifier: 2.8.17
|
||||
version: 2.8.17
|
||||
|
|
@ -1457,7 +1457,7 @@ importers:
|
|||
version: 0.19.3(@vue/compiler-sfc@3.5.12)(vue-template-compiler@2.7.16)(webpack-sources@3.2.3)
|
||||
unplugin-vue-components:
|
||||
specifier: 0.27.4
|
||||
version: 0.27.4(@babel/parser@7.25.7)(rollup@3.29.4)(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
|
||||
version: 0.27.4(@babel/parser@7.25.7)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)
|
||||
vue:
|
||||
specifier: 3.5.12
|
||||
version: 3.5.12(typescript@5.6.3)
|
||||
|
|
@ -11813,8 +11813,8 @@ packages:
|
|||
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
verzod@0.2.3:
|
||||
resolution: {integrity: sha512-fARgs0c/TNNtbo83/5LjriJEb3QMwBN8Ju2+BcVdiI7Y2NOa5Yhq+CrQ8UH43h0BRXcgb2JQABjkgrRCWybEtQ==}
|
||||
verzod@0.2.4:
|
||||
resolution: {integrity: sha512-xli0iwB1nxtWiJTjekTuPm9DuHXU8zdu6vKG2QXT0ZYKn9HanS/azJDSvbvT5IQ5HHltoV9h2Jf4Y+dwk8Fa5Q==}
|
||||
engines: {node: '>=16'}
|
||||
peerDependencies:
|
||||
zod: ^3.22.0
|
||||
|
|
@ -15667,13 +15667,13 @@ snapshots:
|
|||
|
||||
'@intlify/shared@9.3.0-beta.20': {}
|
||||
|
||||
'@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.12.0(jiti@2.3.3))(rollup@3.29.4)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)':
|
||||
'@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.12.0(jiti@2.3.3))(rollup@4.24.0)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3))
|
||||
'@intlify/bundle-utils': 9.0.0-beta.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))
|
||||
'@intlify/shared': 11.0.0-rc.1
|
||||
'@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@11.0.0-rc.1)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.4)
|
||||
'@rollup/pluginutils': 5.1.2(rollup@4.24.0)
|
||||
'@typescript-eslint/scope-manager': 7.18.0
|
||||
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3)
|
||||
debug: 4.3.7
|
||||
|
|
@ -16027,7 +16027,7 @@ snapshots:
|
|||
|
||||
'@microsoft/tsdoc@0.15.0': {}
|
||||
|
||||
'@nestjs-modules/mailer@2.0.2(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(nodemailer@6.9.15)(relateurl@0.2.7)(svgo@3.3.2)(terser@5.34.1)(typescript@5.5.4)':
|
||||
'@nestjs-modules/mailer@2.0.2(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(nodemailer@6.9.15)(relateurl@0.2.7)(svgo@3.3.2)(terser@5.34.1)(typescript@5.5.4)':
|
||||
dependencies:
|
||||
'@css-inline/css-inline': 0.14.1
|
||||
'@nestjs/common': 10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
|
|
@ -16054,13 +16054,13 @@ snapshots:
|
|||
- typescript
|
||||
- uncss
|
||||
|
||||
'@nestjs/apollo@12.2.0(@apollo/server@4.11.0(graphql@16.9.0))(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/graphql@12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2))(graphql@16.9.0)':
|
||||
'@nestjs/apollo@12.2.0(@apollo/server@4.11.0(graphql@16.9.0))(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(@nestjs/graphql@12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2))(graphql@16.9.0)':
|
||||
dependencies:
|
||||
'@apollo/server': 4.11.0(graphql@16.9.0)
|
||||
'@apollo/server-plugin-landing-page-graphql-playground': 4.0.0(@apollo/server@4.11.0(graphql@16.9.0))
|
||||
'@nestjs/common': 10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
'@nestjs/core': 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
'@nestjs/graphql': 12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2)
|
||||
'@nestjs/graphql': 12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2)
|
||||
graphql: 16.9.0
|
||||
iterall: 1.3.0
|
||||
lodash.omit: 4.5.0
|
||||
|
|
@ -16129,7 +16129,7 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- encoding
|
||||
|
||||
'@nestjs/graphql@12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2)':
|
||||
'@nestjs/graphql@12.2.0(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(class-transformer@0.5.1)(class-validator@0.14.1)(graphql@16.9.0)(reflect-metadata@0.2.2)':
|
||||
dependencies:
|
||||
'@graphql-tools/merge': 9.0.4(graphql@16.9.0)
|
||||
'@graphql-tools/schema': 10.0.4(graphql@16.9.0)
|
||||
|
|
@ -16187,7 +16187,7 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@nestjs/schedule@4.1.1(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))':
|
||||
'@nestjs/schedule@4.1.1(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)':
|
||||
dependencies:
|
||||
'@nestjs/common': 10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
'@nestjs/core': 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
|
|
@ -16216,7 +16216,7 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- chokidar
|
||||
|
||||
'@nestjs/swagger@7.4.2(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)':
|
||||
'@nestjs/swagger@7.4.2(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)':
|
||||
dependencies:
|
||||
'@microsoft/tsdoc': 0.15.0
|
||||
'@nestjs/common': 10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
|
|
@ -16231,7 +16231,7 @@ snapshots:
|
|||
class-transformer: 0.5.1
|
||||
class-validator: 0.14.1
|
||||
|
||||
'@nestjs/terminus@10.2.3(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@prisma/client@5.20.0(prisma@5.20.0))(reflect-metadata@0.2.2)(rxjs@7.8.1)':
|
||||
'@nestjs/terminus@10.2.3(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(@prisma/client@5.20.0(prisma@5.20.0))(reflect-metadata@0.2.2)(rxjs@7.8.1)':
|
||||
dependencies:
|
||||
'@nestjs/common': 10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
'@nestjs/core': 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
|
|
@ -16242,7 +16242,7 @@ snapshots:
|
|||
optionalDependencies:
|
||||
'@prisma/client': 5.20.0(prisma@5.20.0)
|
||||
|
||||
'@nestjs/testing@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4))':
|
||||
'@nestjs/testing@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(@nestjs/platform-express@10.4.4)':
|
||||
dependencies:
|
||||
'@nestjs/common': 10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
'@nestjs/core': 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
|
|
@ -16250,7 +16250,7 @@ snapshots:
|
|||
optionalDependencies:
|
||||
'@nestjs/platform-express': 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)
|
||||
|
||||
'@nestjs/throttler@6.2.1(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)':
|
||||
'@nestjs/throttler@6.2.1(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.4)(reflect-metadata@0.2.2)':
|
||||
dependencies:
|
||||
'@nestjs/common': 10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
'@nestjs/core': 10.4.4(@nestjs/common@10.4.4(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.4)(reflect-metadata@0.2.2)(rxjs@7.8.1)
|
||||
|
|
@ -25732,7 +25732,7 @@ snapshots:
|
|||
- supports-color
|
||||
- webpack-sources
|
||||
|
||||
unplugin-vue-components@0.21.0(@babel/parser@7.25.7)(esbuild@0.24.0)(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))(vue@3.5.12(typescript@4.9.5))(webpack@5.94.0(@swc/core@1.4.2)(esbuild@0.24.0)):
|
||||
unplugin-vue-components@0.21.0(@babel/parser@7.25.7)(esbuild@0.24.0)(rollup@2.79.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))(vue@3.5.12(typescript@4.9.5))(webpack@5.94.0(@swc/core@1.4.2)(esbuild@0.24.0)):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.5.2
|
||||
'@rollup/pluginutils': 4.2.1
|
||||
|
|
@ -25743,7 +25743,7 @@ snapshots:
|
|||
magic-string: 0.26.7
|
||||
minimatch: 5.1.6
|
||||
resolve: 1.22.8
|
||||
unplugin: 0.7.2(esbuild@0.24.0)(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))(webpack@5.94.0(@swc/core@1.4.2)(esbuild@0.24.0))
|
||||
unplugin: 0.7.2(esbuild@0.24.0)(rollup@2.79.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))(webpack@5.94.0(@swc/core@1.4.2)(esbuild@0.24.0))
|
||||
vue: 3.5.12(typescript@4.9.5)
|
||||
optionalDependencies:
|
||||
'@babel/parser': 7.25.7
|
||||
|
|
@ -25754,46 +25754,6 @@ snapshots:
|
|||
- vite
|
||||
- webpack
|
||||
|
||||
unplugin-vue-components@0.27.4(@babel/parser@7.25.7)(rollup@3.29.4)(vue@3.5.12(typescript@5.3.3))(webpack-sources@3.2.3):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.10
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.4)
|
||||
chokidar: 3.6.0
|
||||
debug: 4.3.7
|
||||
fast-glob: 3.3.2
|
||||
local-pkg: 0.5.0
|
||||
magic-string: 0.30.11
|
||||
minimatch: 9.0.5
|
||||
mlly: 1.7.2
|
||||
unplugin: 1.14.1(webpack-sources@3.2.3)
|
||||
vue: 3.5.12(typescript@5.3.3)
|
||||
optionalDependencies:
|
||||
'@babel/parser': 7.25.7
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
- webpack-sources
|
||||
|
||||
unplugin-vue-components@0.27.4(@babel/parser@7.25.7)(rollup@3.29.4)(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.10
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.4)
|
||||
chokidar: 3.6.0
|
||||
debug: 4.3.7
|
||||
fast-glob: 3.3.2
|
||||
local-pkg: 0.5.0
|
||||
magic-string: 0.30.11
|
||||
minimatch: 9.0.5
|
||||
mlly: 1.7.2
|
||||
unplugin: 1.14.1(webpack-sources@3.2.3)
|
||||
vue: 3.5.12(typescript@5.6.3)
|
||||
optionalDependencies:
|
||||
'@babel/parser': 7.25.7
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
- webpack-sources
|
||||
|
||||
unplugin-vue-components@0.27.4(@babel/parser@7.25.7)(rollup@4.24.0)(vue@3.5.12(typescript@5.3.3))(webpack-sources@3.2.3):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.10
|
||||
|
|
@ -25814,7 +25774,27 @@ snapshots:
|
|||
- supports-color
|
||||
- webpack-sources
|
||||
|
||||
unplugin@0.7.2(esbuild@0.24.0)(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))(webpack@5.94.0(@swc/core@1.4.2)(esbuild@0.24.0)):
|
||||
unplugin-vue-components@0.27.4(@babel/parser@7.25.7)(rollup@4.24.0)(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.10
|
||||
'@rollup/pluginutils': 5.1.2(rollup@4.24.0)
|
||||
chokidar: 3.6.0
|
||||
debug: 4.3.7
|
||||
fast-glob: 3.3.2
|
||||
local-pkg: 0.5.0
|
||||
magic-string: 0.30.11
|
||||
minimatch: 9.0.5
|
||||
mlly: 1.7.2
|
||||
unplugin: 1.14.1(webpack-sources@3.2.3)
|
||||
vue: 3.5.12(typescript@5.6.3)
|
||||
optionalDependencies:
|
||||
'@babel/parser': 7.25.7
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
- webpack-sources
|
||||
|
||||
unplugin@0.7.2(esbuild@0.24.0)(rollup@2.79.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1))(webpack@5.94.0(@swc/core@1.4.2)(esbuild@0.24.0)):
|
||||
dependencies:
|
||||
acorn: 8.12.1
|
||||
chokidar: 3.6.0
|
||||
|
|
@ -25822,7 +25802,7 @@ snapshots:
|
|||
webpack-virtual-modules: 0.4.6
|
||||
optionalDependencies:
|
||||
esbuild: 0.24.0
|
||||
rollup: 3.29.4
|
||||
rollup: 2.79.2
|
||||
vite: 4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1)
|
||||
webpack: 5.94.0(@swc/core@1.4.2)(esbuild@0.24.0)
|
||||
|
||||
|
|
@ -25926,11 +25906,11 @@ snapshots:
|
|||
|
||||
vary@1.1.2: {}
|
||||
|
||||
verzod@0.2.3(zod@3.22.4):
|
||||
verzod@0.2.4(zod@3.22.4):
|
||||
dependencies:
|
||||
zod: 3.22.4
|
||||
|
||||
verzod@0.2.3(zod@3.23.8):
|
||||
verzod@0.2.4(zod@3.23.8):
|
||||
dependencies:
|
||||
zod: 3.23.8
|
||||
|
||||
|
|
@ -25985,7 +25965,7 @@ snapshots:
|
|||
- supports-color
|
||||
- terser
|
||||
|
||||
vite-plugin-checker@0.6.4(eslint@8.57.0)(meow@13.2.0)(optionator@0.9.4)(typescript@5.3.3)(vite@5.4.9(@types/node@22.7.6)(sass@1.79.5)(terser@5.34.1))(vue-tsc@1.8.24(typescript@5.3.3)):
|
||||
vite-plugin-checker@0.6.4(eslint@8.57.0)(optionator@0.9.4)(typescript@5.3.3)(vite@5.4.9(@types/node@22.7.6)(sass@1.79.5)(terser@5.34.1))(vue-tsc@1.8.24(typescript@5.3.3)):
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.25.7
|
||||
ansi-escapes: 4.3.2
|
||||
|
|
@ -26005,7 +25985,6 @@ snapshots:
|
|||
vscode-uri: 3.0.8
|
||||
optionalDependencies:
|
||||
eslint: 8.57.0
|
||||
meow: 13.2.0
|
||||
optionator: 0.9.4
|
||||
typescript: 5.3.3
|
||||
vue-tsc: 1.8.24(typescript@5.3.3)
|
||||
|
|
@ -26064,10 +26043,10 @@ snapshots:
|
|||
dependencies:
|
||||
vite: 5.4.9(@types/node@22.7.6)(sass@1.80.3)(terser@5.34.1)
|
||||
|
||||
vite-plugin-inspect@0.7.38(rollup@3.29.4)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1)):
|
||||
vite-plugin-inspect@0.7.38(rollup@2.79.2)(vite@4.5.0(@types/node@18.18.8)(sass@1.80.3)(terser@5.34.1)):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.10
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.4)
|
||||
'@rollup/pluginutils': 5.1.2(rollup@2.79.2)
|
||||
debug: 4.3.7
|
||||
error-stack-parser-es: 0.1.5
|
||||
fs-extra: 11.2.0
|
||||
|
|
@ -26079,10 +26058,10 @@ snapshots:
|
|||
- rollup
|
||||
- supports-color
|
||||
|
||||
vite-plugin-inspect@0.8.7(rollup@3.29.4)(vite@5.4.9(@types/node@22.7.6)(sass@1.80.3)(terser@5.34.1)):
|
||||
vite-plugin-inspect@0.8.7(rollup@4.24.0)(vite@5.4.9(@types/node@22.7.6)(sass@1.80.3)(terser@5.34.1)):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.10
|
||||
'@rollup/pluginutils': 5.1.2(rollup@3.29.4)
|
||||
'@rollup/pluginutils': 5.1.2(rollup@4.24.0)
|
||||
debug: 4.3.7
|
||||
error-stack-parser-es: 0.1.5
|
||||
fs-extra: 11.2.0
|
||||
|
|
|
|||
Loading…
Reference in a new issue