Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.

DEVICE-107 - Add lastSeenOn and default name on Device entities #48

Merged
merged 1 commit into from
Jul 24, 2023
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ dist/
.eslintcache
tsconfig.tsbuildinfo
.npmrc
.idea
103 changes: 75 additions & 28 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,84 @@

#### 🚀 Enhancement

- INT-8440 - Handle Duplicate Keys Errors [#47](https://github.com/JupiterOne/graph-snipe-it/pull/47) ([@adam-in-ict](https://github.com/adam-in-ict))
- INT-8440 - Handle Duplicate Keys Errors
[#47](https://github.com/JupiterOne/graph-snipe-it/pull/47)
([@adam-in-ict](https://github.com/adam-in-ict))

#### 🐛 Bug Fix

- v2.0.3 [#44](https://github.com/JupiterOne/graph-snipe-it/pull/44) ([email protected])
- Updating formatting [#45](https://github.com/JupiterOne/graph-snipe-it/pull/45) ([@janettelynch](https://github.com/janettelynch))
- fix: steps added in v2 and handle 403 errors [#43](https://github.com/JupiterOne/graph-snipe-it/pull/43) ([email protected])
- v2.0.2 [#42](https://github.com/JupiterOne/graph-snipe-it/pull/42) ([email protected])
- Version 2.0.1 [#37](https://github.com/JupiterOne/graph-snipe-it/pull/37) ([@eXtremeX](https://github.com/eXtremeX))
- fix: don't use auto for releases yet [#41](https://github.com/JupiterOne/graph-snipe-it/pull/41) ([email protected])
- Upgrade to modern patterns [#40](https://github.com/JupiterOne/graph-snipe-it/pull/40) ([@eXtremeX](https://github.com/eXtremeX) [email protected])
- [NO TICKET] - Upgrade to modern patterns [#39](https://github.com/JupiterOne/graph-snipe-it/pull/39) ([@eXtremeX](https://github.com/eXtremeX))
- INT-6598 - add default for displayName [#36](https://github.com/JupiterOne/graph-snipe-it/pull/36) ([email protected])
- Merging CodeQL [#34](https://github.com/JupiterOne/graph-snipe-it/pull/34) ([@electricgull](https://github.com/electricgull))
- Merging CodeQL [#33](https://github.com/JupiterOne/graph-snipe-it/pull/33) ([@VDubber](https://github.com/VDubber))
- Version 2.0.0 [#32](https://github.com/JupiterOne/graph-snipe-it/pull/32) ([@eXtremeX](https://github.com/eXtremeX))
- INT-4833 - Add Consumable, License and User [#30](https://github.com/JupiterOne/graph-snipe-it/pull/30) ([@d10p3t](https://github.com/d10p3t) [@eXtremeX](https://github.com/eXtremeX))
- Update Integration Documentation [#29](https://github.com/JupiterOne/graph-snipe-it/pull/29) ([@zemberdotnet](https://github.com/zemberdotnet))
- Merged via j1-codeowners-automation-v1.0.0 [#28](https://github.com/JupiterOne/graph-snipe-it/pull/28) ([@erichs](https://github.com/erichs))
- Add CODEOWNERS [#25](https://github.com/JupiterOne/graph-snipe-it/pull/25) ([email protected] [@erichs](https://github.com/erichs))
- Add integration benfits [#13](https://github.com/JupiterOne/graph-snipe-it/pull/13) ([@jayson-jensen-pro](https://github.com/jayson-jensen-pro))
- v1.0.0 [#10](https://github.com/JupiterOne/graph-snipe-it/pull/10) ([@aiwilliams](https://github.com/aiwilliams))
- Fix Device.username, add Device.email [#8](https://github.com/JupiterOne/graph-snipe-it/pull/8) ([@aiwilliams](https://github.com/aiwilliams))
- Upgrade to latest everything [#9](https://github.com/JupiterOne/graph-snipe-it/pull/9) ([@aiwilliams](https://github.com/aiwilliams))
- deprecate set-env [#7](https://github.com/JupiterOne/graph-snipe-it/pull/7) ([@mknoedel](https://github.com/mknoedel))
- Upgrade to 2.2.0 [#6](https://github.com/JupiterOne/graph-snipe-it/pull/6) ([@charlieduong94](https://github.com/charlieduong94))
- move skipTargetCreation to inside _mapping [#5](https://github.com/JupiterOne/graph-snipe-it/pull/5) ([@erkangz](https://github.com/erkangz))
- upgrade SDK, refactor and fixes [#4](https://github.com/JupiterOne/graph-snipe-it/pull/4) ([@erkangz](https://github.com/erkangz))
- fix DEVICE_LOCATION_RELATIONSHIP _key and _type; add test [#3](https://github.com/JupiterOne/graph-snipe-it/pull/3) ([@erkangz](https://github.com/erkangz))
- create mapped relationships and hardware entities [#2](https://github.com/JupiterOne/graph-snipe-it/pull/2) ([@erkangz](https://github.com/erkangz))
- Initial integration [#1](https://github.com/JupiterOne/graph-snipe-it/pull/1) ([@erkangz](https://github.com/erkangz))
- v2.0.3 [#44](https://github.com/JupiterOne/graph-snipe-it/pull/44)
([email protected])
- Updating formatting
[#45](https://github.com/JupiterOne/graph-snipe-it/pull/45)
([@janettelynch](https://github.com/janettelynch))
- fix: steps added in v2 and handle 403 errors
[#43](https://github.com/JupiterOne/graph-snipe-it/pull/43)
([email protected])
- v2.0.2 [#42](https://github.com/JupiterOne/graph-snipe-it/pull/42)
([email protected])
- Version 2.0.1 [#37](https://github.com/JupiterOne/graph-snipe-it/pull/37)
([@eXtremeX](https://github.com/eXtremeX))
- fix: don't use auto for releases yet
[#41](https://github.com/JupiterOne/graph-snipe-it/pull/41)
([email protected])
- Upgrade to modern patterns
[#40](https://github.com/JupiterOne/graph-snipe-it/pull/40)
([@eXtremeX](https://github.com/eXtremeX)
[email protected])
- [NO TICKET] - Upgrade to modern patterns
[#39](https://github.com/JupiterOne/graph-snipe-it/pull/39)
([@eXtremeX](https://github.com/eXtremeX))
- INT-6598 - add default for displayName
[#36](https://github.com/JupiterOne/graph-snipe-it/pull/36)
([email protected])
- Merging CodeQL [#34](https://github.com/JupiterOne/graph-snipe-it/pull/34)
([@electricgull](https://github.com/electricgull))
- Merging CodeQL [#33](https://github.com/JupiterOne/graph-snipe-it/pull/33)
([@VDubber](https://github.com/VDubber))
- Version 2.0.0 [#32](https://github.com/JupiterOne/graph-snipe-it/pull/32)
([@eXtremeX](https://github.com/eXtremeX))
- INT-4833 - Add Consumable, License and User
[#30](https://github.com/JupiterOne/graph-snipe-it/pull/30)
([@d10p3t](https://github.com/d10p3t)
[@eXtremeX](https://github.com/eXtremeX))
- Update Integration Documentation
[#29](https://github.com/JupiterOne/graph-snipe-it/pull/29)
([@zemberdotnet](https://github.com/zemberdotnet))
- Merged via j1-codeowners-automation-v1.0.0
[#28](https://github.com/JupiterOne/graph-snipe-it/pull/28)
([@erichs](https://github.com/erichs))
- Add CODEOWNERS [#25](https://github.com/JupiterOne/graph-snipe-it/pull/25)
([email protected] [@erichs](https://github.com/erichs))
- Add integration benfits
[#13](https://github.com/JupiterOne/graph-snipe-it/pull/13)
([@jayson-jensen-pro](https://github.com/jayson-jensen-pro))
- v1.0.0 [#10](https://github.com/JupiterOne/graph-snipe-it/pull/10)
([@aiwilliams](https://github.com/aiwilliams))
- Fix Device.username, add Device.email
[#8](https://github.com/JupiterOne/graph-snipe-it/pull/8)
([@aiwilliams](https://github.com/aiwilliams))
- Upgrade to latest everything
[#9](https://github.com/JupiterOne/graph-snipe-it/pull/9)
([@aiwilliams](https://github.com/aiwilliams))
- deprecate set-env [#7](https://github.com/JupiterOne/graph-snipe-it/pull/7)
([@mknoedel](https://github.com/mknoedel))
- Upgrade to 2.2.0 [#6](https://github.com/JupiterOne/graph-snipe-it/pull/6)
([@charlieduong94](https://github.com/charlieduong94))
- move skipTargetCreation to inside \_mapping
[#5](https://github.com/JupiterOne/graph-snipe-it/pull/5)
([@erkangz](https://github.com/erkangz))
- upgrade SDK, refactor and fixes
[#4](https://github.com/JupiterOne/graph-snipe-it/pull/4)
([@erkangz](https://github.com/erkangz))
- fix DEVICE_LOCATION_RELATIONSHIP \_key and \_type; add test
[#3](https://github.com/JupiterOne/graph-snipe-it/pull/3)
([@erkangz](https://github.com/erkangz))
- create mapped relationships and hardware entities
[#2](https://github.com/JupiterOne/graph-snipe-it/pull/2)
([@erkangz](https://github.com/erkangz))
- Initial integration [#1](https://github.com/JupiterOne/graph-snipe-it/pull/1)
([@erkangz](https://github.com/erkangz))

#### ⚠️ Pushed to `main`

Expand Down
14 changes: 13 additions & 1 deletion src/steps/fetch-hardware/converter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,14 @@ export function convertHardware(
const hardwareId = data.id;
const hardwareKey = getHardwareKey(hardwareId);
const manufacturer = data.manufacturer?.name ?? null;
const displayName = data.name || data.serial;
const deviceUsersName =
user?.first_name && user?.last_name
? `${user.first_name} ${user.last_name}`
: user?.email || user?.username || 'Unknown User';
const displayName =
data.name ||
data.serial ||
`${deviceUsersName}'s ${data.model?.name || 'Device'}`;

return createIntegrationEntity({
entityData: {
Expand All @@ -37,6 +44,7 @@ export function convertHardware(
id: hardwareKey,
assetId: hardwareId,
deviceId: String(hardwareId),
name: data.name,
displayName,
activatedOn: parseTimePropertyValue(data.activated_on),
username: user?.username || data.assigned_to?.username,
Expand All @@ -61,6 +69,10 @@ export function convertHardware(
locationId: data.location?.id,
createdOn: parseTimePropertyValue(data.created_at?.datetime),
updatedOn: parseTimePropertyValue(data.updated_at?.datetime),
lastSeenOn: [
parseTimePropertyValue(data.last_checkout?.datetime),
parseTimePropertyValue(data.updated_at?.datetime),
].sort()[0],
},
},
});
Expand Down