Skip to content

Commit

Permalink
update to latest deps, update acl, fix issue with upload overlay (#179)
Browse files Browse the repository at this point in the history
* update deps

* acl changes

* fix

* fix invisible upload dialog

* update commands

* update deps

---------

Co-authored-by: volar <[email protected]>
  • Loading branch information
volarname and volar authored Jun 25, 2024
1 parent 51246f2 commit 583a8b0
Show file tree
Hide file tree
Showing 75 changed files with 1,063 additions and 1,047 deletions.
2 changes: 1 addition & 1 deletion bin/build
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ docker_env_vars
if [ -f /.dockerenv ]; then
env-config
echo "[INFO] Starting yarn install"
yarn install
yes | yarn install
echo "[INFO] Starting yarn build"
yarn build
echo -e "\n\033[1;33m[INFO] Build ready:\033[0m http://$(hostname):${NGINX_PORT}\n"
Expand Down
2 changes: 1 addition & 1 deletion bin/dev
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ if [ -f /.dockerenv ]; then
env-config

if ${RUN_YARN_INSTALL}; then
yarn install
yes | yarn install
fi

if ${CLEAR_VITE_DEPS}; then
Expand Down
58 changes: 29 additions & 29 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "adam-admin",
"packageManager": "yarn@4.1.1",
"packageManager": "yarn@4.3.1",
"license": "Apache-2.0",
"version": "0.0.1",
"scripts": {
Expand All @@ -21,60 +21,60 @@
"cy:open": "CYPRESS_CACHE_FOLDER='node_modules/.cache/Cypress' yarn cypress open -C cypress/config/cypress.config.ts"
},
"dependencies": {
"@anzusystems/common-admin": "1.47.0-alpha49",
"@anzusystems/common-admin": "1.47.0-beta.4",
"@mdi/font": "7.4.47",
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"@vueuse/core": "10.9.0",
"@vueuse/integrations": "10.9.0",
"axios": "^1.6.8",
"cropperjs": "^1.6.1",
"@vueuse/core": "10.11.0",
"@vueuse/integrations": "10.11.0",
"axios": "^1.7.2",
"cropperjs": "^1.6.2",
"jwt-decode": "^4.0.0",
"pinia": "^2.1.7",
"rusha": "^0.8.14",
"socket.io-client": "^4.7.5",
"sortablejs": "^1.15.2",
"universal-cookie": "^7.1.4",
"uuid": "^9.0.1",
"vue": "3.4.21",
"vue-i18n": "^9.12.0",
"vue-router": "^4.3.0",
"vuetify": "^3.5.15"
"uuid": "^10.0.0",
"vue": "3.4.30",
"vue-i18n": "^9.13.1",
"vue-router": "^4.4.0",
"vuetify": "^3.6.10"
},
"devDependencies": {
"@cypress/grep": "^4.0.1",
"@cypress/grep": "^4.0.2",
"@intlify/unplugin-vue-i18n": "^4.0.0",
"@rushstack/eslint-patch": "^1.10.2",
"@stylistic/eslint-plugin": "^1.7.0",
"@rushstack/eslint-patch": "^1.10.3",
"@stylistic/eslint-plugin": "^2.2.2",
"@tsconfig/node18": "^18.2.4",
"@types/node": "^20.12.7",
"@types/node": "^20.14.8",
"@types/rusha": "^0.8.3",
"@types/sortablejs": "^1.15.8",
"@types/uuid": "^9.0.8",
"@typescript-eslint/parser": "^7.6.0",
"@vitejs/plugin-vue": "^5.0.4",
"@types/uuid": "^10.0.0",
"@typescript-eslint/parser": "^7.14.1",
"@vitejs/plugin-vue": "^5.0.5",
"@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^13.0.0",
"@vue/language-server": "^1.8.27",
"@vue/language-service": "^1.8.27",
"@vue/tsconfig": "^0.5.1",
"cypress": "^13.7.3",
"cypress-downloadfile": "1.2.3",
"cypress": "^13.12.0",
"cypress-downloadfile": "1.2.4",
"cypress-mochawesome-reporter": "^3.8.2",
"eslint": "8.57.0",
"eslint-plugin-cypress": "^2.15.1",
"eslint-plugin-vue": "^9.24.1",
"eslint-plugin-cypress": "^3.3.0",
"eslint-plugin-vue": "^9.26.0",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.38",
"postcss-html": "^1.6.0",
"prettier": "^3.2.5",
"sass": "^1.75.0",
"stylelint": "^16.3.1",
"postcss-html": "^1.7.0",
"prettier": "^3.3.2",
"sass": "^1.77.6",
"stylelint": "^16.6.1",
"stylelint-config-recommended-vue": "^1.5.0",
"stylelint-config-standard-scss": "^13.1.0",
"typescript": "~5.4.5",
"vite": "^5.2.8",
"typescript": "5.4.5",
"vite": "^5.3.1",
"vite-plugin-vuetify": "^2.0.3",
"vue-tsc": "2.0.7"
"vue-tsc": "2.0.22"
}
}
7 changes: 4 additions & 3 deletions src/components/system/CurrentUserDropdown.vue
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
<script lang="ts" setup>
import { ROUTE } from '@/router/routes'
import { useDamCurrentUser } from '@anzusystems/common-admin'
import { ACurrentUserDropdown } from '@anzusystems/common-admin'
import { useAuth } from '@/composables/auth/auth'
const { damCurrentUser } = useDamCurrentUser()
const { useCurrentUser } = useAuth()
const { currentUser } = useCurrentUser('dam')
</script>

<template>
<ACurrentUserDropdown
:current-user="damCurrentUser as any"
:current-user="currentUser as any"
:settings-route-name="ROUTE.SYSTEM.SETTINGS"
:logout-route-name="ROUTE.SYSTEM.LOGOUT"
/>
Expand Down
3 changes: 2 additions & 1 deletion src/components/system/sidebar/SidebarMain.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<script lang="ts" setup>
import { ROUTE } from '@/router/routes'
import { useI18n } from 'vue-i18n'
import { ACL } from '@/types/Permission'
import { ACL } from '@/composables/auth/auth'
const { t } = useI18n()
</script>
Expand Down
3 changes: 2 additions & 1 deletion src/components/system/sidebar/SidebarRail.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<script lang="ts" setup>
import { ROUTE } from '@/router/routes'
import { useI18n } from 'vue-i18n'
import { ACL } from '@/types/Permission'
import { ACL } from '@/composables/auth/auth'
const { t } = useI18n()
</script>
Expand Down
2 changes: 1 addition & 1 deletion src/components/wrappers/MainWrapper.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import logoFull from '@/assets/logo-adam-full.svg'
import logoNoText from '@/assets/logo-adam-no-text.svg'
import { ROUTE } from '@/router/routes'
import AssetToolbarIntegrations from '@/views/coreDam/asset/components/toolbar/AssetToolbarIntegrations.vue'
import { ACL } from '@/types/Permission'
import { AAdminSwitcher, ASystemBar } from '@anzusystems/common-admin'
import { envConfig } from '@/services/EnvConfigService'
import { ACL } from '@/composables/auth/auth'
const { t } = useI18n()
Expand Down
115 changes: 115 additions & 0 deletions src/composables/auth/auth.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
import { defineAuth } from '@anzusystems/common-admin'

export const ACL = {
DAM_ASSET_CREATE: 'dam_asset_create',
DAM_ASSET_UPDATE: 'dam_asset_update',
DAM_ASSET_READ: 'dam_asset_read',
DAM_ASSET_DELETE: 'dam_asset_delete',
DAM_VIDEO_CREATE: 'dam_video_create',
DAM_VIDEO_UPDATE: 'dam_video_update',
DAM_VIDEO_READ: 'dam_video_read',
DAM_VIDEO_DELETE: 'dam_video_delete',
DAM_AUDIO_CREATE: 'dam_audio_create',
DAM_AUDIO_UPDATE: 'dam_audio_update',
DAM_AUDIO_READ: 'dam_audio_read',
DAM_AUDIO_DELETE: 'dam_audio_delete',
DAM_CUSTOM_FORM_CREATE: 'dam_customForm_create',
DAM_CUSTOM_FORM_UPDATE: 'dam_customForm_update',
DAM_CUSTOM_FORM_READ: 'dam_customForm_read',
DAM_CUSTOM_FORM_ELEMENT_READ: 'dam_customFormElement_read',
DAM_DOCUMENT_CREATE: 'dam_document_create',
DAM_DOCUMENT_UPDATE: 'dam_document_update',
DAM_DOCUMENT_READ: 'dam_document_read',
DAM_DOCUMENT_DELETE: 'dam_document_delete',
DAM_IMAGE_CREATE: 'dam_image_create',
DAM_IMAGE_UPDATE: 'dam_image_update',
DAM_IMAGE_READ: 'dam_image_read',
DAM_IMAGE_DELETE: 'dam_image_delete',
DAM_REGION_OF_INTEREST_CREATE: 'dam_regionOfInterest_create',
DAM_REGION_OF_INTEREST_UPDATE: 'dam_regionOfInterest_update',
DAM_REGION_OF_INTEREST_READ: 'dam_regionOfInterest_read',
DAM_REGION_OF_INTEREST_DELETE: 'dam_regionOfInterest_delete',
DAM_EXT_SYSTEM_UPDATE: 'dam_extSystem_update',
DAM_EXT_SYSTEM_READ: 'dam_extSystem_read',
DAM_EXT_SYSTEM_LIST: 'dam_extSystem_list',
DAM_ASSET_LICENCE_CREATE: 'dam_assetLicence_create',
DAM_ASSET_LICENCE_UPDATE: 'dam_assetLicence_update',
DAM_ASSET_LICENCE_READ: 'dam_assetLicence_read',
DAM_ASSET_LICENCE_LIST: 'dam_assetLicence_list',
DAM_ASSET_LICENCE_GROUP_CREATE: 'dam_assetLicenceGroup_create',
DAM_ASSET_LICENCE_GROUP_UPDATE: 'dam_assetLicenceGroup_update',
DAM_ASSET_LICENCE_GROUP_READ: 'dam_assetLicenceGroup_read',
DAM_ASSET_LICENCE_GROUP_LIST: 'dam_assetLicenceGroup_list',
DAM_USER_READ: 'dam_user_read',
DAM_USER_CREATE: 'dam_user_create',
DAM_USER_UPDATE: 'dam_user_update',
DAM_USER_UGC_IMPERSONATE: 'dam_user_ugcImpersonate',
DAM_PERMISSION_GROUP_READ: 'dam_permissionGroup_read',
DAM_PERMISSION_GROUP_CREATE: 'dam_permissionGroup_create',
DAM_PERMISSION_GROUP_UPDATE: 'dam_permissionGroup_update',
DAM_PERMISSION_GROUP_DELETE: 'dam_permissionGroup_delete',
DAM_AUTHOR_READ: 'dam_author_read',
DAM_AUTHOR_CREATE: 'dam_author_create',
DAM_AUTHOR_UPDATE: 'dam_author_update',
DAM_AUTHOR_DELETE: 'dam_author_delete',
DAM_KEYWORD_READ: 'dam_keyword_read',
DAM_KEYWORD_CREATE: 'dam_keyword_create',
DAM_KEYWORD_UPDATE: 'dam_keyword_update',
DAM_KEYWORD_DELETE: 'dam_keyword_delete',
DAM_JOB_CREATE: 'dam_job_create',
DAM_JOB_READ: 'dam_job_read',
DAM_JOB_DELETE: 'dam_job_delete',
DAM_DISTRIBUTION_CATEGORY_READ: 'dam_distributionCategory_read',
DAM_DISTRIBUTION_CATEGORY_CREATE: 'dam_distributionCategory_create',
DAM_DISTRIBUTION_CATEGORY_UPDATE: 'dam_distributionCategory_update',
DAM_DISTRIBUTION_CATEGORY_DELETE: 'dam_distributionCategory_delete',
DAM_DISTRIBUTION_CATEGORY_SELECT_READ: 'dam_distributionCategorySelect_read',
DAM_DISTRIBUTION_CATEGORY_SELECT_UPDATE: 'dam_distributionCategorySelect_update',
DAM_VIDEO_SHOW_CREATE: 'dam_videoShow_create',
DAM_VIDEO_SHOW_UPDATE: 'dam_videoShow_update',
DAM_VIDEO_SHOW_READ: 'dam_videoShow_read',
DAM_VIDEO_SHOW_DELETE: 'dam_videoShow_delete',
DAM_VIDEO_SHOW_EPISODE_CREATE: 'dam_videoShowEpisode_create',
DAM_VIDEO_SHOW_EPISODE_UPDATE: 'dam_videoShowEpisode_update',
DAM_VIDEO_SHOW_EPISODE_READ: 'dam_videoShowEpisode_read',
DAM_VIDEO_SHOW_EPISODE_DELETE: 'dam_videoShowEpisode_delete',
DAM_PODCAST_CREATE: 'dam_podcast_create',
DAM_PODCAST_UPDATE: 'dam_podcast_update',
DAM_PODCAST_READ: 'dam_podcast_read',
DAM_PODCAST_DELETE: 'dam_podcast_delete',
DAM_PODCAST_EPISODE_CREATE: 'dam_podcastEpisode_create',
DAM_PODCAST_EPISODE_UPDATE: 'dam_podcastEpisode_update',
DAM_PODCAST_EPISODE_READ: 'dam_podcastEpisode_read',
DAM_PODCAST_EPISODE_DELETE: 'dam_podcastEpisode_delete',
DAM_ASSET_EXTERNAL_PROVIDER_ACCESS: 'dam_assetExternalProvider_access',
DAM_DISTRIBUTION_ACCESS: 'dam_distribution_access',
DAM_USER_UI: 'dam_user_ui',
DAM_PERMISSION_GROUP_UI: 'dam_permissionGroup_ui',
DAM_EXT_SYSTEM_UI: 'dam_extSystem_ui',
DAM_ASSET_LICENCE_UI: 'dam_assetLicence_ui',
DAM_ASSET_LICENCE_GROUP_UI: 'dam_assetLicenceGroup_ui',
DAM_AUTHOR_UI: 'dam_author_ui',
DAM_KEYWORD_UI: 'dam_keyword_ui',
DAM_DISTRIBUTION_CATEGORY_UI: 'dam_distributionCategory_ui',
DAM_DISTRIBUTION_CATEGORY_SELECT_UI: 'dam_distributionCategorySelect_ui',
DAM_VIDEO_SHOW_UI: 'dam_videoShow_ui',
DAM_VIDEO_SHOW_EPISODE_UI: 'dam_videoShowEpisode_ui',
DAM_PODCAST_UI: 'dam_podcast_ui',
DAM_PODCAST_EPISODE_UI: 'dam_podcastEpisode_ui',
DAM_LOG_UI: 'dam_log_ui',
DAM_JOB_UI: 'dam_job_ui',
} as const
export type AclKey = keyof typeof ACL
export type AclValue = (typeof ACL)[AclKey]

export function useAuth() {
const { can, canForAll, canForSome, useCurrentUser } = defineAuth<AclValue>('dam')

return {
useCurrentUser,
can,
canForAll,
canForSome,
}
}

17 changes: 6 additions & 11 deletions src/composables/system/appInitialize.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
import { useCookies } from '@vueuse/integrations/useCookies'
import { ref } from 'vue'
import type { NavigationGuardNext, RouteLocationNormalized } from 'vue-router'
import {
isDefined,
isUndefined,
updateDamCurrentUser,
useDamConfigState,
useDamCurrentUser,
} from '@anzusystems/common-admin'
import { isDefined, isUndefined, useDamConfigState } from '@anzusystems/common-admin'
import { ROUTE } from '@/router/routes'
import { checkAbility } from '@/router/checkAbility'
import { envConfig } from '@/services/EnvConfigService'
import { initCurrentExtSystemAndLicence, useCurrentExtSystem } from '@/composables/system/currentExtSystem'
import { initAppNotificationListeners } from '@/composables/system/appNotificationListeners'
import { useLoginStatus } from '@/composables/system/loginStatus'
import { damClient } from '@/services/api/clients/damClient'
import { useAuth } from '@/composables/auth/auth'

const initialized = ref(false)

Expand All @@ -27,9 +22,11 @@ export async function createAppInitialize(
useLoginStatus(to)
const { loadDamPrvConfig, loadDamConfigExtSystem, loadDamConfigAssetCustomFormElements } =
useDamConfigState(damClient)
const { useCurrentUser } = useAuth()
const { fetchCurrentUser, currentUser } = useCurrentUser('dam')

try {
const updateCurrentUserPromise = updateDamCurrentUser(damClient)
const updateCurrentUserPromise = fetchCurrentUser(damClient)
const loadDamConfigPromise = loadDamPrvConfig()
await Promise.all([updateCurrentUserPromise, loadDamConfigPromise])
} catch (error) {
Expand All @@ -55,11 +52,9 @@ export async function createAppInitialize(
return
}

const { damCurrentUser } = useDamCurrentUser()

if (
(isStatusNotDefined() || isStatusSsoCommunicationFailure() || isStatusInternalErrorFailure()) &&
isUndefined(damCurrentUser.value)
isUndefined(currentUser.value)
) {
next({ name: ROUTE.SYSTEM.LOGIN })
} else if (isStatusUnauthorized()) {
Expand Down
23 changes: 12 additions & 11 deletions src/composables/system/currentExtSystem.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { readonly, ref, watch } from 'vue'
import type { DamExtSystem } from '@anzusystems/common-admin'
import { isDocId, isString, useDamConfigState, useDamCurrentUser } from '@anzusystems/common-admin'
import type { DamAssetLicence, DamCurrentUserDto, DamExtSystem } from '@anzusystems/common-admin'
import { isDocId, isString, useDamConfigState } from '@anzusystems/common-admin'
import { fetchExtSystem } from '@/services/api/coreDam/extSystemApi'
import { fetchAssetLicence } from '@/services/api/coreDam/assetLicenceApi'
import type { DamAssetLicence } from '@anzusystems/common-admin'
import { fetchAsset } from '@/services/api/coreDam/assetApi'
import { useAssetDetailStore } from '@/stores/coreDam/assetDetailStore'
import { damClient } from '@/services/api/clients/damClient'
import { useAuth } from '@/composables/auth/auth'

const currentExtSystemId = ref(0)
const currentExtSystem = ref<DamExtSystem>()
Expand All @@ -15,7 +15,8 @@ const currentAssetLicence = ref<DamAssetLicence>()
const currentAssetLicenceId = ref(0)

export const initCurrentExtSystemAndLicence = (loadFromAsset = false, assetId: string | undefined = undefined) => {
const { damCurrentUser } = useDamCurrentUser()
const { useCurrentUser } = useAuth()
const { currentUser } = useCurrentUser<DamCurrentUserDto>('dam')
const { damPrvConfig, initialized } = useDamConfigState(damClient)

watch(currentExtSystemId, async (newValue, oldValue) => {
Expand All @@ -38,7 +39,7 @@ export const initCurrentExtSystemAndLicence = (loadFromAsset = false, assetId: s
reject(false)
return
}
if (!damCurrentUser.value) {
if (!currentUser.value) {
console.error('Current user must be loaded first.')
reject(false)
return
Expand Down Expand Up @@ -73,14 +74,14 @@ export const initCurrentExtSystemAndLicence = (loadFromAsset = false, assetId: s
})
}
if (damPrvConfig.value.settings.allowSelectExtSystem && damPrvConfig.value.settings.allowSelectLicenceId) {
if (damCurrentUser.value.selectedLicence) {
currentExtSystemId.value = damCurrentUser.value.selectedLicence.extSystem
currentAssetLicenceId.value = damCurrentUser.value.selectedLicence.id
if (currentUser.value.selectedLicence) {
currentExtSystemId.value = currentUser.value.selectedLicence.extSystem
currentAssetLicenceId.value = currentUser.value.selectedLicence.id
resolve(true)
return
} else if (damCurrentUser.value.assetLicences[0]) {
currentExtSystemId.value = damCurrentUser.value.assetLicences[0].extSystem
currentAssetLicenceId.value = damCurrentUser.value.assetLicences[0].id
} else if (currentUser.value.assetLicences[0]) {
currentExtSystemId.value = currentUser.value.assetLicences[0].extSystem
currentAssetLicenceId.value = currentUser.value.assetLicences[0].id
resolve(true)
return
}
Expand Down
Loading

0 comments on commit 583a8b0

Please sign in to comment.