Skip to content
Merged
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
4 changes: 2 additions & 2 deletions apps/client/src/stores/admin-role.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { AdminRole, adminRoleContract } from '@cpn-console/shared'
import type { AdminRole, PatchAdminRolesBody } from '@cpn-console/shared'
import { AdminAuthorized } from '@cpn-console/shared'
import { defineStore } from 'pinia'
import { ref } from 'vue'
Expand Down Expand Up @@ -42,7 +42,7 @@ export const useAdminRoleStore = defineStore('adminRole', () => {
}

const patchRoles = async (
body: typeof adminRoleContract.patchAdminRoles.body._type,
body: PatchAdminRolesBody,
) => {
roles.value = await apiClient.AdminRoles.patchAdminRoles({
body,
Expand Down
6 changes: 3 additions & 3 deletions apps/client/src/stores/admin-token.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import type { AdminToken, adminTokenContract } from '@cpn-console/shared'
import type { AdminToken, CreateAdminTokenBody, ListAdminTokensQuery } from '@cpn-console/shared'
import { defineStore } from 'pinia'
import { apiClient, extractData } from '../api/xhr-client.js'

export const useAdminTokenStore = defineStore('adminToken', () => {
const listTokens = async (
query: typeof adminTokenContract.listAdminTokens.query._type = {},
query: ListAdminTokensQuery = {},
) => {
return apiClient.AdminTokens.listAdminTokens({ query }).then(
(response: any) => extractData(response, 200),
)
}

const createToken = async (
body: typeof adminTokenContract.createAdminToken.body._type,
body: CreateAdminTokenBody,
) => {
return apiClient.AdminTokens.createAdminToken({ body }).then((res: any) =>
extractData(res, 201),
Expand Down
4 changes: 2 additions & 2 deletions apps/client/src/stores/project.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type {
CreateProjectBody,
projectContract,
ListProjectsQuery,
ProjectV2,
} from '@cpn-console/shared'
import pDebounce from 'p-debounce'
Expand Down Expand Up @@ -60,7 +60,7 @@
}

const listProjects = async (
query: typeof projectContract.listProjects.query._type = {
query: ListProjectsQuery = {

Check warning on line 63 in apps/client/src/stores/project.ts

View check run for this annotation

cloud-pi-native-sonarqube / SonarQube Code Analysis

apps/client/src/stores/project.ts#L63

Do not use an object literal as default for parameter `query`.
filter: 'member',
statusNotIn: 'archived',
},
Expand Down
4 changes: 2 additions & 2 deletions apps/client/src/stores/system-settings.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type {
ListSystemSettingsQuery,
SystemSettings,
systemSettingsContract,
UpsertSystemSettingBody,
} from '@cpn-console/shared'
import {
Expand All @@ -13,7 +13,7 @@ export const useSystemSettingsStore = defineStore('systemSettings', () => {
const systemSettings = ref<SystemSettings>([])
const systemSettingsByKey = computed(() => resourceListToDictByKey(systemSettings.value))

const listSystemSettings = async (query: typeof systemSettingsContract.listSystemSettings.query._type = {}) => {
const listSystemSettings = async (query: ListSystemSettingsQuery = {}) => {
systemSettings.value = await apiClient.SystemSettings.listSystemSettings(query)
.then((response: any) => extractData(response, 200))
}
Expand Down
15 changes: 8 additions & 7 deletions apps/client/src/utils/project-utils.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
import type {
CreateDeploymentBody,
CreateEnvironment,
CreateProjectRoleBody,
CreateRepositoryBodyV2,
Deployment,
Environment,
EnvironmentWithDeploymentsCount,
GetLogsQuery,
PatchMembersBody,
PatchProjectRolesBody,
PermissionTarget,
PluginsUpdateBody,
projectContract,
projectMemberContract,
projectRoleContract,
ProjectService,
ProjectV2,
Repo,
Role,
SyncRepositoryBodyV2,
UpdateDeploymentBody,
UpdateEnvironment,
UpdateProjectBody,
UpdateRepositoryBodyV2,
User,
} from '@cpn-console/shared'
Expand Down Expand Up @@ -147,7 +148,7 @@ export class Project implements ProjectV2 {
}

Commands = {
update: async (data: typeof projectContract.updateProject.body._type) => {
update: async (data: UpdateProjectBody) => {
const callback = this.addOperation('update')
try {
const project = await apiClient.Projects.updateProject({ body: data, params: { projectId: this.id } })
Expand Down Expand Up @@ -222,7 +223,7 @@ export class Project implements ProjectV2 {
return this.Members.list()
} finally { callback() }
},
patch: async (body: typeof projectMemberContract.patchMembers.body._type) => {
patch: async (body: PatchMembersBody) => {
const callback = this.addOperation('teamManagement')
try {
await apiClient.ProjectsMembers.patchMembers({ params: { projectId: this.id }, body })
Expand Down Expand Up @@ -360,7 +361,7 @@ export class Project implements ProjectV2 {
this.computePerms()
return this.roles
},
patch: async (body: typeof projectRoleContract.patchProjectRoles.body._type) => {
patch: async (body: PatchProjectRolesBody) => {
const callback = this.addOperation('roleManagement')
try {
this.roles = await apiClient.ProjectsRoles.patchProjectRoles({ body, params: { projectId: this.id } })
Expand All @@ -369,7 +370,7 @@ export class Project implements ProjectV2 {
return this.roles
} finally { callback() }
},
create: async (body: typeof projectRoleContract.createProjectRole.body._type) => {
create: async (body: CreateProjectRoleBody) => {
this.roles = await apiClient.ProjectsRoles.createProjectRole({ body, params: { projectId: this.id } })
.then((response: any) => extractData(response, 201))
this.computePerms()
Expand Down
4 changes: 2 additions & 2 deletions apps/client/src/views/CreateProject.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<script lang="ts" setup>
import type {
projectContract,
CreateProjectData,
} from '@cpn-console/shared'
import type { Ref } from 'vue'
import {
Expand All @@ -25,7 +25,7 @@ const buttonState = ref({
isCreating: false,
})

const project = ref<typeof projectContract.createProject.body._type>({
const project = ref<CreateProjectData>({
name: '',
description: '',
limitless: false,
Expand Down
6 changes: 3 additions & 3 deletions apps/client/src/views/admin/ListProjects.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script lang="ts" setup>
import type { ArrayElement, projectContract, ProjectV2 } from '@cpn-console/shared'
import type { ArrayElement, BulkActionProjectBody, ListProjectsQuery, ProjectV2 } from '@cpn-console/shared'
import { bts, statusDict } from '@cpn-console/shared'
import TimeAgo from 'javascript-time-ago'
import fr from 'javascript-time-ago/locale/fr'
Expand Down Expand Up @@ -35,7 +35,7 @@ const title = 'Liste des projets'

const bulkActions: Array<{
text: string
value: typeof projectContract.bulkActionProject.body._type.action
value: BulkActionProjectBody['action']
}> = [
{ text: 'Reprovisionner', value: 'replay' },
{ text: 'Vérrouiller', value: 'lock' },
Expand All @@ -45,7 +45,7 @@ const bulkActions: Array<{
type BulkActions = (typeof bulkActions)[number]['value']
const selectedAction = ref<BulkActions>('replay')

type FilterMethods = Record<string, typeof projectContract.listProjects.query._type>
type FilterMethods = Record<string, ListProjectsQuery>
const filterMethods: FilterMethods = {
Tous: { filter: 'all' },
'Non archivés': { filter: 'all', statusNotIn: 'archived' },
Expand Down
3 changes: 3 additions & 0 deletions packages/shared/src/contracts/admin-role.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import type { ClientInferRequest } from '@ts-rest/core'
import { ContractNoBody } from '@ts-rest/core'
import { z } from 'zod'
import { apiPrefix, contractInstance } from '../api-client.js'
Expand Down Expand Up @@ -74,3 +75,5 @@ export const adminRoleContract = contractInstance.router({
baseHeaders,
pathPrefix: `${apiPrefix}/admin/roles`,
})

export type PatchAdminRolesBody = ClientInferRequest<typeof adminRoleContract.patchAdminRoles>['body']
4 changes: 4 additions & 0 deletions packages/shared/src/contracts/admin-token.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import type { ClientInferRequest } from '@ts-rest/core'
import { ContractNoBody } from '@ts-rest/core'
import { z } from 'zod'
import { apiPrefix, contractInstance } from '../api-client.js'
Expand Down Expand Up @@ -52,3 +53,6 @@ export const adminTokenContract = contractInstance.router({
baseHeaders,
pathPrefix: `${apiPrefix}/admin/tokens`,
})

export type ListAdminTokensQuery = ClientInferRequest<typeof adminTokenContract.listAdminTokens>['query']
export type CreateAdminTokenBody = ClientInferRequest<typeof adminTokenContract.createAdminToken>['body']
3 changes: 3 additions & 0 deletions packages/shared/src/contracts/project-member.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import type { ClientInferRequest } from '@ts-rest/core'
import { ContractNoBody } from '@ts-rest/core'
import { z } from 'zod'
import { apiPrefix, contractInstance } from '../api-client.js'
Expand Down Expand Up @@ -66,3 +67,5 @@ export const projectMemberContract = contractInstance.router({
baseHeaders,
pathPrefix: `${apiPrefix}/projects/:projectId/members`,
})

export type PatchMembersBody = ClientInferRequest<typeof projectMemberContract.patchMembers>['body']
4 changes: 4 additions & 0 deletions packages/shared/src/contracts/project-role.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import type { ClientInferRequest } from '@ts-rest/core'
import { ContractNoBody } from '@ts-rest/core'
import { z } from 'zod'
import { apiPrefix, contractInstance } from '../api-client.js'
Expand Down Expand Up @@ -78,3 +79,6 @@ export const projectRoleContract = contractInstance.router({
baseHeaders,
pathPrefix: `${apiPrefix}/projects/:projectId/roles`,
})

export type PatchProjectRolesBody = ClientInferRequest<typeof projectRoleContract.patchProjectRoles>['body']
export type CreateProjectRoleBody = ClientInferRequest<typeof projectRoleContract.createProjectRole>['body']
4 changes: 4 additions & 0 deletions packages/shared/src/contracts/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -182,3 +182,7 @@ export const projectContract = contractInstance.router({
})

export type CreateProjectBody = ClientInferRequest<typeof projectContract.createProject>['body']
export type CreateProjectData = z.infer<typeof projectContract.createProject.body>
export type UpdateProjectBody = ClientInferRequest<typeof projectContract.updateProject>['body']
export type ListProjectsQuery = ClientInferRequest<typeof projectContract.listProjects>['query']
export type BulkActionProjectBody = ClientInferRequest<typeof projectContract.bulkActionProject>['body']
1 change: 1 addition & 0 deletions packages/shared/src/contracts/system.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,4 @@ export type SystemSettings = ClientInferResponseBody<typeof systemSettingsContra
export type SystemSetting = SystemSettings[number]

export type UpsertSystemSettingBody = ClientInferRequest<typeof systemSettingsContract.upsertSystemSetting>['body']
export type ListSystemSettingsQuery = ClientInferRequest<typeof systemSettingsContract.listSystemSettings>['query']
Loading