Giter Club home page Giter Club logo

uipath-orchestrator-api-node's Issues

Upgrade fstream >1.0.12 because of vulnerability

Versions of fstream prior to 1.0.12 are vulnerable to Arbitrary File Overwrite. Extracting tarballs containing a hardlink to a file that already exists in the system and a file that matches the hardlink will overwrite the system's file with the contents of the extracted file. The fstream.DirWriter() function is vulnerable.

ロボット単位のアセットを取得するメソッドを追加

GET https://xxx/odata/Assets/UiPath.Server.Configuration.OData.GetRobotAsset(robotId='99fcxxxx22',assetName=@assetName)?@assetName='Credential001' HTTP/1.1
Authorization: UiRobot 99fcxxxx22

{"@odata.context":"https://xxx/odata/$metadata#UiPath.Orchestrator.Application.Dto.Assets.RobotAssetDto","Name":"Credential001","ValueType":"Credential","StringValue":"","BoolValue":false,"IntValue":0,"CredentialUsername":"u000_kino","CredentialPassword":"p000_kino","ExternalName":null,"CredentialStoreId":1}

Windows認証されたユーザのユーザ情報出力対応

User情報を「Type=User」で絞ってしまったがWindows認証されたユーザは「DirectoryUser」だったので取り得る値を調査して対応する。多分グループ追加されたユーザたちもTypeありそう

追記

Swaggerみると

['User', 'Robot', 'DirectoryUser', 'DirectoryGroup']
stringEnum:"User", "Robot", "DirectoryUser", "DirectoryGroup",

なるほど

設定値の一括アップロード

Excelからアップロードできたい

┌─────────┬─────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────┐
│ (index) │ Id │ Name │
├─────────┼─────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────┤
│ 0 │ 'Abp.Localization.DefaultLanguageName' │ 'Abp.Localization.DefaultLanguageName' │
│ 1 │ 'Abp.Net.Mail.Smtp.Host' │ 'Abp.Net.Mail.Smtp.Host' │
│ 2 │ 'Abp.Net.Mail.Smtp.Port' │ 'Abp.Net.Mail.Smtp.Port' │
│ 3 │ 'Abp.Net.Mail.Smtp.UserName' │ 'Abp.Net.Mail.Smtp.UserName' │
│ 4 │ 'Abp.Net.Mail.Smtp.Password' │ 'Abp.Net.Mail.Smtp.Password' │
│ 5 │ 'Abp.Net.Mail.Smtp.Domain' │ 'Abp.Net.Mail.Smtp.Domain' │
│ 6 │ 'Abp.Net.Mail.Smtp.EnableSsl' │ 'Abp.Net.Mail.Smtp.EnableSsl' │
│ 7 │ 'Abp.Net.Mail.Smtp.UseDefaultCredentials' │ 'Abp.Net.Mail.Smtp.UseDefaultCredentials' │
│ 8 │ 'Abp.Net.Mail.DefaultFromAddress' │ 'Abp.Net.Mail.DefaultFromAddress' │
│ 9 │ 'Abp.Net.Mail.DefaultFromDisplayName' │ 'Abp.Net.Mail.DefaultFromDisplayName' │
│ 10 │ 'Abp.Timing.TimeZone' │ 'Abp.Timing.TimeZone' │
│ 11 │ 'InternalDeployment' │ 'InternalDeployment' │
│ 12 │ 'DeploymentUrl' │ 'DeploymentUrl' │
│ 13 │ 'NuGet.Packages.ApiKey' │ 'NuGet.Packages.ApiKey' │
│ 14 │ 'Deployment.Processes.AuthenticationType' │ 'Deployment.Processes.AuthenticationType' │
│ 15 │ 'DeploymentBasicUsername' │ 'DeploymentBasicUsername' │
│ 16 │ 'DeploymentBasicPassword' │ 'DeploymentBasicPassword' │
│ 17 │ 'Deployment.Libraries.Url' │ 'Deployment.Libraries.Url' │
│ 18 │ 'Deployment.Libraries.Internal' │ 'Deployment.Libraries.Internal' │
│ 19 │ 'Deployment.Libraries.AuthenticationType' │ 'Deployment.Libraries.AuthenticationType' │
│ 20 │ 'NuGet.Activities.ApiKey' │ 'NuGet.Activities.ApiKey' │
│ 21 │ 'Deployment.Libraries.UseSharedFeed' │ 'Deployment.Libraries.UseSharedFeed' │
│ 22 │ 'Deployment.Libraries.BasicUsername' │ 'Deployment.Libraries.BasicUsername' │
│ 23 │ 'Deployment.Libraries.BasicPassword' │ 'Deployment.Libraries.BasicPassword' │
│ 24 │ 'PasswordComplexity' │ 'PasswordComplexity' │
│ 25 │ 'Alerts.Email.Enabled' │ 'Alerts.Email.Enabled' │
│ 26 │ 'Auth.UserLockOut.IsEnabled' │ 'Auth.UserLockOut.IsEnabled' │
│ 27 │ 'Auth.UserLockOut.MaxFailedAccessAttemptsBeforeLockout' │ 'Auth.UserLockOut.MaxFailedAccessAttemptsBeforeLockout' │
│ 28 │ 'Auth.UserLockOut.DefaultAccountLockoutSeconds' │ 'Auth.UserLockOut.DefaultAccountLockoutSeconds' │
│ 29 │ 'Auth.Password.DefaultExpirationDays' │ 'Auth.Password.DefaultExpirationDays' │
│ 30 │ 'Auth.Password.PreviousUseLimit' │ 'Auth.Password.PreviousUseLimit' │
│ 31 │ 'Auth.Password.ShouldChangePasswordAfterFirstLogin' │ 'Auth.Password.ShouldChangePasswordAfterFirstLogin' │
│ 32 │ 'GlobalExecutionSettings' │ 'GlobalExecutionSettings' │
│ 33 │ 'AttendedRobot.RunDisconnectedHours' │ 'AttendedRobot.RunDisconnectedHours' │
│ 34 │ 'Scalability.SignalR.Enabled' │ 'Scalability.SignalR.Enabled' │
│ 35 │ 'Scalability.SignalR.Transport' │ 'Scalability.SignalR.Transport' │
│ 36 │ 'Features.ModernFolders.Enabled' │ 'Features.ModernFolders.Enabled' │
└─────────┴─────────────────────────────────────────────────────────┴─────────────────────────────────────────────────────────┘

Organization Unit対応。

Organization Unitが有効になっている場合は、Headerに、

'X-UIPATH-OrganizationUnitId': 1

をつけないといけない件。。

画面で取得できている情報取得

たとえば、ロボット一覧での

・名前左の、緑・赤(多分これはマシンのステータス)
・右部のステータス(利用可、ビジー 、切断、応答なし)、これはマシンのステータスと思われる
https://docs.uipath.com/orchestrator/lang-ja/v2019/docs/fields-descriptions-robots
・Type横のオレンジと緑(ロボットのライセンス状態(Studio/Attendedのみか)

https://[server]/odata/Sessions?$top=10&$expand=Robot($expand=License) でとれそう

とか、
#30 とか。

とか。

Robotモード?でAPI 呼べたら便利?

トランザクションからQueueItemを取ろうとしたら

POST https://[xx]/odata/Queues/UiPathODataSvc.StartTransaction HTTP/1.1
Authorization: UiRobot xxxxxxxxx
Accept: application/json
X-UIPATH-Localization: ja
Content-Type: application/json; charset=utf-8
Content-Length: 122
Expect: 100-continue

{
  "transactionData": {
    "Name": "mailQueue",
    "RobotIdentifier": "xxxxx"  
  }
}

RobotIdentifier が必要だとわかり、、、。

function createCsvArrays(headings: string[], instances: any[]) 改修

utils.ts の function createCsvArrays(headings: string[], instances: any[]) メソッドが、CSVのためにObjectをstringifyしているが、そのせいでDateも文字になっちゃっていた

Stringifyしてフラットにするか、しないかをフラグで判定できるようにしたい

OrganizationUnit(Folder)機能の取扱い

いまのところ、FolderのIDを指定して認証してデータ取得できるようにはしてあるが、
「そのユーザが属しているフォルダのデータをとってきて、データ取得」とかやりたい

Windoows認証系の情報出力

get /api/DirectoryService/SearchForUsersAndGroups
get /api/DirectoryService/GetDomains
get /api/DirectoryService/GetDirectoryPermissions

あたり

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.