保誠-保戶業務員媒合平台
Tomas
2022-05-19 957a1f10a06fdbb76f1a0ba94fe44126c613fee3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const fs = require('./fs.js')
const getOptions = require('./common/get-options.js')
const owner = require('./common/owner.js')
 
const copyFile = async (src, dest, opts) => {
  const options = getOptions(opts, {
    copy: ['mode', 'owner'],
    wrap: 'mode',
  })
 
  const { uid, gid } = await owner.validate(dest, options.owner)
 
  // the node core method as of 16.5.0 does not support the mode being in an
  // object, so we have to pass the mode value directly
  const result = await fs.copyFile(src, dest, options.mode)
 
  await owner.update(dest, uid, gid)
 
  return result
}
 
module.exports = copyFile