teleren/devto huggingface dataset:
Optimizing HR Management: How to Import Employee Data into QuickBooks Desktop
Published: 2023-10-25 03:43:33

Managing employee data in the field of Human Resources (HR) is crucial. QuickBooks Desktop is great for managing finances and payroll, but entering employee data can be tough and error-prone. That's where data import solutions like SaasAnt Transactions come in handy. They provide an efficient way to get employee data into QuickBooks Desktop, making HR management smoother.

Why Efficient Data Management Matters in HR

HR management is closely tied to managing employee data accurately and on time. Employee data is crucial for things like payroll and following tax rules. Manual data entry takes time and can lead to errors, which can cause problems with payroll and rule compliance. So, automating the data import process is a smart way to make HR management more accurate, efficient, and rule-compliant.

How SaasAnt Transactions Makes Data Import Easier

●	Data Preparation: First, you need to get your employee data ready. Make sure all the info is right and in a format that works (CSV, XLS, or XLSX). Check for errors to make the import process easier.
●	Using SaasAnt: Go to SaasAnt Transactions and find the 'Import' section. This part of the tool makes it simple for users to upload their data, even if they're not tech experts.
●	Uploading and Mapping: Upload your data file and match the data fields in your file to QuickBooks Desktop fields. This makes sure the data gets translated correctly during the import.
●	Data Validation: SaasAnt checks your data for errors and fixes them before you import it. This makes sure the data stays correct.
●	Importing the Data: Once your data passes the checks, you can import it into QuickBooks Desktop. This makes sure your data goes in safely and correctly.
●	Review and Verification: After importing, check the data in QuickBooks Desktop to make sure it's correct and complete.

Advantages of Using SaasAnt for Data Import

●	More Accurate Data: Automatic data import reduces the chance of human errors, making sure employee data in QuickBooks Desktop is correct and consistent.
●	Time and Resource Savings: Importing a lot of data at once helps businesses manage employee data fast, so they save time and resources for other HR work.
●	Safe Data: Saasant makes sure employee data is safe during the import process.
●	Great Support: Saasant provides strong customer support so that users can get help during the data import process.

In short, SaasAnt Transactions (Desktop) is a smart tool for businesses looking to improve their HR management by making employee data management efficient and accurate. It doesn't just simplify data import; it also makes sure the data going into QuickBooks Desktop is right, safe, and consistent. With its easy-to-use design, thorough data checks, and strong customer support, Saasant helps businesses manage employee data with confidence, ensuring the accuracy of payroll management and compliance with financial reporting and rules.
Khóa học toeic 600
Published: 2023-10-25 03:38:43


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zo2zeh440hvhkoyv3las.png)📣 Chào mọi người! Bạn đang tìm kiếm một khóa học Toeic để nâng cao kỹ năng tiếng Anh của mình? Hãy đến với chúng tôi - Anhle Toeic!

🎯 Với khóa học Toeic 600, chúng tôi cam kết giúp bạn đạt được điểm số ấn tượng trong kỳ thi Toeic. Khóa học này được thiết kế đặc biệt để cung cấp kiến thức cần thiết và chiến lược hiệu quả để vượt qua mọi phần thi trong bài thi Toeic.

🌟 Với đội ngũ giảng viên giàu kinh nghiệm và phương pháp giảng dạy tiên tiến, chúng tôi sẽ giúp bạn nắm vững các kỹ năng nghe, đọc, ngữ pháp và từ vựng cần thiết để đạt được kết quả tốt nhất trong kỳ thi Toeic.

💼 Đặc biệt, khóa học Toeic 600 của chúng tôi còn cung cấp những bài tập và đề thi thực tế, giúp bạn làm quen với cấu trúc và yêu cầu của bài thi thực tế. Bên cạnh đó, chúng tôi cũng sẽ chia sẻ những tips & tricks để bạn có thể tự tin và hiệu quả trong quá trình ôn luyện.

📆 Đừng bỏ lỡ cơ hội nâng cao kỹ năng Toeic của bạn! Hãy đăng ký khóa học Toeic 600 ngay hôm nay!

📞 Truy cập website [https://anhletoeic.com/khoa-hoc/intensive-toeic](https://anhletoeic.com/khoa-hoc/intensive-toeic )để biết thêm thông tin chi tiết.

#Toeic #KhóaHọcToeic #AnhleToeic #NângCaoKỹNăngTiếngAnh #ÔnLuyệnToeic"
JavaScript Magic Tricks: Anti-Copy
Tags: webdev, javascript, programming, anticopy
Published: 2023-10-25 03:37:40

Many times, we don't want the content on our web pages to be copied, such as original content, novels, articles, etc.

On the web front-end, there seem to be many ways to prevent copying through JavaScript programming, such as disabling the copy event, prohibiting right-click menu, etc.

However, what will be introduced in this article is not these common methods, but converting text into canvas , and the text drawn on canvas cannot be copied.

## Target
The goal we want to achieve is as follows,when copying files from the web page, some of the text is not selectable.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1fze71lbrp21x35sagug.png)

After copying and pasting, you will find that some text is missing.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8uburowdv4zoxxuz006z.png)

Isn't it amazing?how is it achieved? Below is the secret.

## Theory
In a specified text container, convert some text into a canvas of the same size as the text, and draw the text on the canvas, forming a combination of text and images. In this way, when selecting text, the image cannot be selected, thus achieving the anti-copy effect of this article.

## Source

```
<html>
<body>
  <p id="p1">
    JShaman是专业的JavaScript代码混淆平台，用于JS加密、JS混淆。<br>
  </p>
  <script>
    function word_2_canvas(target, word,index){
      var c1 = document.createElement("canvas");
      c1.width = 20;
      c1.height = 20;
      c1.id = "c"+index;
      document.body.appendChild(c1);
      var t1 = document.getElementById("c"+index).outerHTML;
      c1.id = "";
      document.getElementById(target).innerHTML = document.getElementById(target).innerHTML.replace(word, t1)
    }
    function vanvas_fill_word(word,index){
      var c2;
      c2 = document.getElementById("c"+index).getContext("2d");
      c2.font = '16px Microsoft YaHei';
      c2.fillText(word, 1, 18);
    }
    word_2_canvas("p1","淆",1);
    word_2_canvas("p1","加",2);
    word_2_canvas("p1","台",3);
    vanvas_fill_word("淆",1);
    vanvas_fill_word("加",2);
    vanvas_fill_word("台",3);
    
  </script>
</body>
</html>
```

## Security Enhancement
It can be seen from the above JavaScript source code which words have been converted into images.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4fhh0dslofcbid9ri27p.png)

To prevent source code analysis and subsequent countermeasures, we can use the JShaman JavaScript Obfuscator to obfuscate and encrypt JavaScript source code. Key information such as text in the encrypted code can be hidden, as shown in the following figure.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xfv3xjxit737mxeqinrt.png)
Tic Tac Toe Game Using HTML CSS and JavaScript
Tags: html, css, javascript, tutorial
Published: 2023-10-25 03:35:34

Tic Tac Toe Game Using HTML CSS and JavaScript

Hey everyone hope you are fine, today we are going to learn how to create a Tic Tac Toe Game using HTML CSS and JavaScript. It's a very helpful and useful project for everyone who wants to get knowledge all about HTML CSS and JavaScript.

Inside the project, you will learn a lot of new things that will help you to improve your skills in these technologies. That's a project for beginners, they are facing problems creating a project using HTML CSS, and JS.

So, I'm going to teach you how to use these three technologies to create a game from scratch practically, after watching the complete tutorial, I hope you've learned something new, also you can create another game using this technology.

{% embed https://www.youtube.com/watch?v=_FQgeYuxnKk %}
Khóa học toeic 500
Published: 2023-10-25 03:09:42

"💼 Cải thiện tiếng Anh của bạn và đạt được điểm TOEIC 500 với khóa học tại Anhle Toeic! 🎓🌟

📚 Bạn muốn nâng cao kỹ năng tiếng Anh để đáp ứng yêu cầu công việc hoặc học tập? Không cần lo lắng nữa! Với khóa học Toeic 500 tại Anhle Toeic, bạn sẽ có cơ hội rèn luyện ngữ pháp, từ vựng, và kỹ năng nghe - đọc để đạt được mục tiêu điểm số cao trong bài thi TOEIC.

💡 Điểm nổi bật của khóa học:
🔹 Học mọi lúc mọi nơi: Chương trình linh hoạt cho phép bạn học trực tuyến, tiết kiệm thời gian và tận dụng công việc hiệu quả.
🔹 Giảng viên chất lượng: Đội ngũ giảng viên giàu kinh nghiệm và am hiểu về bài thi TOEIC sẽ hướng dẫn bạn từng bước để đạt được mục tiêu của mình.
🔹 Tài liệu phong phú: Khóa học cung cấp tài liệu đa dạng và thực tế, giúp bạn nắm vững kiến thức và áp dụng trong cuộc sống hàng ngày.

📢 Đừng bỏ lỡ cơ hội này! Hãy đăng ký ngay khóa học Toeic 500 tại Anhle Toeic để trở thành người tự tin và thành công trong công việc và cuộc sống!

👉 Liên hệ ngay với chúng tôi để biết thêm thông tin chi tiết và đăng ký khóa học: 
📞 Số điện thoại: 0967403648
🌐 Website: [https://anhletoeic.com/khoa-hoc/sky-toeic](https://anhletoeic.com/khoa-hoc/sky-toeic)

#AnhleToeic #Toeic #KhóaHọcToeic #NângCaoTiếngAnh #TựTinTrongCôngViệc #HọcTập #TiếngAnh"
Hacktoberfest experience as a first time contributor
Tags: hack23contributor, hacktoberfest, opensource, beginners
Published: 2023-10-25 02:54:10

<!-- ✨This template is only meant to get your ideas going, so please feel free to write your own title, structure, and words! ✨ -->

### Intro
Participating in Hacktoberfest for the first time can be an incredibly enriching experience. It provides a unique opportunity to delve into the world of open-source development, fostering an environment that encourages learning and exploration. By actively contributing, you not only expand your technical skills but also gain insights into diverse technologies and methodologies.
The collaborative nature of Hacktoberfest enables you to connect with like-minded developers, fostering a sense of community and camaraderie. Through this interaction, you can exchange knowledge, seek guidance, and even mentor others, contributing to the collective growth of the open-source ecosystem.
Embracing the spirit of Hacktoberfest allows you to grasp the significance of teamwork and the power of collective efforts in creating impactful solutions. This experience can serve as a solid foundation for your future endeavors, instilling a passion for continuous learning and innovation within the realm of technology. 
My GitHub handler: https://github.com/bhavsarhem

### Highs and Lows
When  i was starting contributing in opensource projects, there was so many pull requests were rejected and excluded but i didn't give up. Continuously finding beginner friendly repositories to contribute finally lots of effort and hard work my four pull requests are accepted. 
My contribution links:
1st Pr: https://github.com/bhavsarhem/TourGuide-Hem/pull/2
2nd Pr: https://github.com/bhavsarhem/Hacktoberfest-Hem/pull/1
3rd Pr: https://github.com/bhavsarhem/Hello-World-hacktoberfest2023-hem/pull/1
4th pr: https://github.com/bhavsarhem/TourGuide-Hem/pull/1
These are the beginner friendly contributions. 

### Growth
Before Hacktoberfest 2023 I just know only basic theory concepts of git and github I don't have any real life experience in it. After join the 
hacktoberfest 2023 challenge i learned lots of things like how to contribute in opensource projects, how to create and merge pull requests, etc...
Streamline Your Phone Number Needs with phonenumbergenerator.tools
Published: 2023-10-25 02:52:10

Streamline Your Phone Number Needs with [phone number generator](https://phonenumbergenerator.tools)

Say goodbye to endless searches for phone numbers! Discover Phone number Generator, your go-to tool for instantly generating realistic phone numbers. Ideal for developers and privacy-conscious individuals.
Realistic and authentic phone numbers.
User-friendly, one-click generation.
Completely free with no hidden charges.
Simplify your phone number needs! Try Phonenumber Generator today.
Answers to your questions about ispmanager. How we test the product and deal with bugs
Tags: ispmanager, webdev, testing, development
Published: 2023-10-25 02:41:10

_We got the developers and QA engineers to explain how bugs are found and fixed in [ispmanager](https://www.ispmanager.com/). As a little bonus, we'll answer a question from one of our users about CloudLinux._

## What is the testing process for ispmanager? 
**Our QA engineer's answer **

We perform both manual and automated testing. For new features, the process is:

First, the task is given to the developers to complete.
Then the task is reviewed by other developers.  
If the review is successful, the task goes to the testing department.

If all is well, the task's status is changed to "awaiting merger" status and then goes to release. If not, the task is revised, retested, and then released.

There are two release branches of ispmanager:

**Beta** – where new functionality and improvements are first introduced. All updates to the beta branch are subject to pre-release testing. 

**Stable** – changes from the beta branch are added here after extra testing and debugging.

## 2. How do you deal with bugs?
 

We track and fix bugs both through our testing and development departments and in response to your feedback.

We process bug tickets like this: 

After a ticket is received from a user, our exception developer investigates it. If the bug affects the environment rather than panel operation, our exception developer fixes it immediately, forwards it to our support engineer, or instructs the user on how to fix it.

If the bug affects panel operation, it is prioritized. Critical bugs, which tend to significantly disrupt panel operation, are eliminated immediately through the release of an unscheduled bug fix. Serious bugs are fixed as part of the next upgrade. Non-critical bugs are sent to the backlog and fixed according to schedule.

If you've noticed a bug in the panel, please contact us via your [Client area](https://eu.ispmanager.com/) so that we can fix it.

We regularly update our list of existing bug fixes as part of the [ispmanager changelog](https://www.ispmanager.com/changelog).

## 3. Why can't any PHP (Native) version higher than 7.2 be used 4in the CloudLinux module?

**Tech support engineer's answer**

This restriction is not global but rather depends on which PHP handler you have installed.

Any PHP version can be used for **LSAPI**. However, the server administrator must allow users to use cageFS and PHP LSAPI. Also, Apache must be running in prefork mode. You can view the Apache operating mode in the **Policies** section of ispmanager 6 Business or in the **Software Configuration** of other versions of the panel.

Likewise, for **FastCGI** any version can be used. The PHP CGI version can be selected for the user, rather than the site, in PHP Settings under User.

For more details on the settings, see the documentation: [PHP Modes in CloudLinux](https://www.ispmanager.com/docs/ispmanager/php-modes).
The Importance of Odoo ERP Software Development for Business Management
Tags: softwaredevelopment, developers, opensource
Published: 2023-10-25 02:36:59

>>Odoo ERP software development stands as a cornerstone for efficient business management, providing a centralized hub where various organizational processes seamlessly converge. Its significance can be encapsulated through several vital aspects:

**Unified Data Hub:** Odoo ERP serves as a centralized repository, harmonizing essential business data and processes.

**Streamlined Automation:** By automating repetitive and time-consuming tasks, Odoo ERP optimizes operational efficiency. 

**Insightful Analytics and Reporting:** Robust analytics and reporting capabilities empower businesses to glean invaluable insights from their data. 

**Elevated CRM Capabilities:** Odoo's CRM module assists in proficiently managing customer interactions and relationships. 

**Optimized Inventory and Supply Chain Management:** Odoo's system inventory and supply chain modules aid in balancing stock levels, tracking inventory movements, predicting demand, and efficient supplier management.

**Cost-Effectiveness:** Odoo ERP software implementation often leads to long-term cost savings by enhancing efficiency, minimizing manual labor, and streamlining processes.

>>[Read more](https://www.aegona.com/software-development/key-benefits-using-odoo-erp-software-business-management)
The ABC's of grep - A
Tags: grep
Published: 2023-10-25 02:22:24

---
title: The ABC's of grep - A
published: true
description: 
tags: grep
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-07-26 17:41 +0000
---
Welcome to The ABC's of grep!  

Here we will explore the different flags for our beloved command and give it the accolades it deserves.  

Let's start! 

A
--
Use the `-A` flag to show the lines *after* the matching search term is found.

Suppose you have a file named `test.txt` with the following content:
```
sad
happy
awake
coffee
work
school
```

You would search for the word "happy" like this:
```
$ grep "happy" test.txt
happy
```

To see the first 2 lines after happy, execute the following:
```
$ grep -A 2 "happy" test.txt
happy
awake
coffee
```
Massive node_modules in production issue
Tags: npm
Published: 2023-10-25 02:21:48

Sometimes node_modules become massive that it makes hard and longer to deploy codes to the production environment. In this blog, I want to cover a few things that can be done to reduce node_modules size.

## npm commands
- When deploying codes to production, `devDependencies` should be excluded as dependencies under that property literally for development purposes Eg. jest, typescript references etc.

Run **`npm ci --production`** command to exclude `devDependencies` from `node_modules`

- Sometimes after `npm install`, npm list shows the dependency tree which isn't necessarily the same as the `node_modules` file tree. However, this can be simplified by running

Run **`npm dedupe`**

## Unify sub dependencies version
Sometimes developer faces a situation where multiple dependencies require sub-dependency but npm install multiple as they use different versions from each other. Eg axios, aws-sdk.

- In case, those dependencies are client libraries from your side, then you can simply update `package.json` in client libraries to use the same dependency version
Eg. 
Below will install 2 `aws-sdk` packages into node_modules
```
library-a
 |-----> aws-sdk@2.1.0
library-b
 |-----> aws-sdk@2.2.0
```

Below will install 1 `aws-sdk` package as there's only one version
```
library-a
 |-----> aws-sdk@2.2.0
library-b
 |-----> aws-sdk@2.2.0
```

- Usage of `overrides` property from `package.json` can also resolve multiple versions issue.
Eg.

```
{
  ...,
  "dependencies": {
    "library-a": "1.0.0",
    "library-b": "1.0.5",
    ...
  },
  "overrides": {
    "library-a": {
      "aws-sdk: "2.2.0"
    },
    "library-b": {
      "aws-sdk: "2.2.0"
    }
  }
}
```

##Remove unnecessary packages
Sometimes developers tend to solve problems with npm packages and sometimes it's not good practice as it will pile up the size of node_modules quickly.
Common examples are `lodash`, `ramda`, and etc.
Try to avoid using these kind of libraries. If you can create it relatively quickly then just do it. Don't be lazy


##Use cases
- The most useful use case is AWS lambda. AWS lambda has a size limitation (250mb unzip size) thus, having too many packages or duplicated dependencies may be a big cause of the issue.
Hacktoberfest Pledge
Tags: hacktoberfest23
Published: 2023-10-25 02:11:50

### Intro
Hey all! I'm just discovering this community as I'm participating in my first Hacktoberfest and building my software development career.


### Background
I'm basically a self-taught developer and I have my own web development business creating websites and streamlining workflows for small business.


### Pledge
My goals this month are to make at least the four contributions for Hacktoberfest and to deepen my skills with Github and version control in the process. I'd also love to discover some cool projects that I could continue to work on after this month!
小野正裕|世界経済成長率が20年ぶりに3%を割ったこと
Tags: 小野正裕
Published: 2023-10-25 02:08:31

世界経済は岐路に立っている

10月10日、国際通貨基金（IMF）は四半期ごとの世界経済見通し報告書を発表した。 
同報告書は、2024年の世界経済の実質成長率予測を7月時点の予測より0.1ポイント下回る2.9％に下方修正し、同時に中国の経済成長率予測も0.3％ポイント下方修正した。
世界貿易の低迷など低成長の影が深まる中、ＩＭＦの５年後の世界経済成長率見通しは３％程度にとどまる。
実際、現在の複雑かつ激動する国際情勢と世界経済の回復の遅れを背景に、IMFによる2023年の世界経済の実質成長率予測は3.0％に据え置かれ、2024年には2.9％に引き下げられている。 3%を下回る予想は2000年から2022年の間に5回しか発生していないことがわかり、そのいずれもリーマン危機や新型コロナウイルス感染症流行の最初の2年間などの深刻な経済危機を伴っていた。
今回予想が３％未満に引き下げられた場合の違いは、世界に明らかな大きな経済危機はないものの、高インフレを伴わない景気減速が完全に沈静化した点だ。
このうち先進国では、ＩＭＦがユーロ圏の経済成長率を0.3ポイント引き下げ1.2％とした。 影響要因としては、ロシアとウクライナの紛争の長期化とエネルギー価格の上昇が挙げられる。 2024年の消費者物価上昇率は3.3％の高水準で推移すると予測されている。 日本では、IMFはインバウンド（訪日外国人）の消費を考慮し、2023年の成長率を0.6ポイント引き上げ2.0％としたが、2024年の成長率は前回と同じ1.0％にとどまる。前回の予測値と同様だ。

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bgc58zqvlvy5ve76v6zr.jpeg)
特に、景気低迷の懸念が高まっている米国経済は、IMFが2023年の展望値を0.3%ポイント引き上げ、2.1%の高成長を記録し、2024年の経済成長率も0.5%ポイント引き上げ、1.5%に達するものと予想しています。個人消費が堅調になり、米国の'経済軟着陸の現実的意味が大きくなった'いう理由からです。
それでも、エコノミストの間では米国経済に対する懐疑的な見方が依然として根強い。 例えば、アメリカン・ユーラシア・グループのロバート・カーン氏は、景気後退は来ないという見方は楽観的すぎると考えている。
実際、米国の急速な金利上昇と財政混乱を背景とした長期金利の急上昇により、住宅ローン金利は23年ぶりの高水準に達している。 現金などの過剰貯蓄を使い果たした米国の家計がどのように消費を抑制するのかを予測するのは難しい。 一方、米国は対中輸出・投資規制の加速や安全保障の観点からサプライチェーンの再構築などの経済動向により、自らの状況をさらに悪化させる可能性がある。 米国からの輸入に占める各国のシェアによると、2023年1月から8月にかけて中国は15年ぶりにカナダの後塵を拝し、首位から陥落した。
世界経済の需要低迷や景気悪化を反映する兆候が現れている。 S・Pグローバルが発表した世界の製造業購買担当者景気指数（PMI）は、今年9月時点で13カ月連続で好不況ラインの50を下回っている。
イスラエルとイスラム過激派組織ハマスとの紛争も新たな懸念となっている。 戦闘激化により供給が不安定になれば、下落傾向にあったエネルギー価格が再び上昇し、世界経済の行方に影響を与える可能性がある。
中国経済界は、２００５年から２０１４年までの世界経済の年平均成長率は３．９％とみている。 中国がかつて二桁成長を維持したような原動力を得ることができなくなった今、世界経済は長期にわたって低迷する可能性があり、特に財政を失った新興市場国や発展途上国にとっては大きな打撃となるだろう。新型コロナウイルス感染症の流行による余波も懸念される。
市場では、この景気減速の背景とし、インフレ対策として各国中央銀行が急速に金融引き締めを行い、経済活動を抑制していることが挙げられている。 これはある程度管理された減速であるため、世界経済は短期的には再び加速する可能性がある。 岐路に立つ世界経済が上向きの選択をできるかどうかは、世界経済が新型コロナウイルス感染症の流行と高インフレを完全に克服し、力強い成長ペースを再開できるかどうかにかかっている。
Auth0 getSession() com Typescript no Next.js
Tags: auth0, typescript, nextjs
Published: 2023-10-25 02:07:15

Para obter as informações do usuário logado em **server-side** o Auth0 dispõe da função `getSession()`.

A função `getSession()` não retorna diretamente o objeto contendo as informações do usuário, primeiramente é preciso acessar o objeto `user` dentro de `getSession()`.

Em Typescript isso pode trazer alguns problemas, pois esse objeto não está devidamente tipado.

A documentação do Auth0 nos orienta a desestruturar o objeto `user`:

```ts
import { getSession } from '@auth0/nextjs-auth0';

export default async function ProfileClient() {
  // Typescript Error: Property 'user' does not exist on type 'Session | null | undefined'.
  const { user } = await getSession();
  
  ...
}
```

Observe que a melhor forma, realmente seria a de desestruturar o objeto, em JavaScript nenhum erro será retornado, porém, em TypeScript o erro é claro.

Adotei a seguinte abordagem: Criei uma tipagem customizada idêntica a utilizada ao obter as informações do usuário em **client-side**. _No lado do cliente podemos utilizar a função `useUser()` e desestruturar o objeto `user`, aqui a tipagem funciona perfeitamente, portanto, apenas copiei a tipagem correta._

```ts
import { getSession } from '@auth0/nextjs-auth0';

// Tipagem customizada idêntica a função `useUser()` do client-side
type userSessionProfileTypes = {
  email: string;
  name: string;
  nickname: string;
  picture: string;
  sub: string;
  updated_at: string;
  org_id: string;
}

export default async function ProfileClient() {
  const userSession = await getSession()

  if ( userSession !== undefined && userSession !== null ) {
    // Aqui podemos utilizar a tipagem customizada
    const user = userSession.user as userSessionProfileTypes

    ...
  }
  
  ...
```

Dessa forma podemos utilizar o objeto `user` e acessar facilmente suas chaves.