Skip to content

Commit

Permalink
Merge pull request fastenhealth#6 from fastenhealth/sandbox
Browse files Browse the repository at this point in the history
  • Loading branch information
AnalogJ committed Oct 4, 2022
2 parents e83c6f9 + e9bbcbc commit 94d26ad
Show file tree
Hide file tree
Showing 21 changed files with 311 additions and 288 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ env:
IMAGE_NAME: ${{ github.repository }}

jobs:
omnibus:
docker:
runs-on: ubuntu-latest
permissions:
contents: read
Expand All @@ -29,10 +29,10 @@ jobs:
# run: |
# cd /work
# make binary-frontend && echo "print contents of /work/dist" && ls -alt /work/dist
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: 'arm64,arm'
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v2
# with:
# platforms: 'arm64,arm'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
# Login against a Docker registry except on PR
Expand All @@ -59,9 +59,9 @@ jobs:
- name: Build and push Docker image
uses: docker/build-push-action@v3
with:
platforms: linux/amd64,linux/arm64
# platforms: linux/amd64,linux/arm64
context: .
file: docker/Dockerfile
file: Dockerfile
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
Expand Down
9 changes: 6 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ FROM node:18.9.0 as frontend-build
WORKDIR /usr/src/fastenhealth/frontend
#COPY frontend/package.json frontend/yarn.lock ./
COPY frontend/package.json ./
RUN yarn install --frozen-lockfile
#COPY frontend/yarn.lock ./
RUN yarn config set registry "http:https://registry.npmjs.org" \
&& yarn install --frozen-lockfile --network-timeout 100000
COPY frontend/ ./
RUN yarn run build -- --configuration sandbox --output-path=../dist

Expand All @@ -19,8 +21,9 @@ RUN CGO_ENABLED=0 go build -o /go/bin/fasten ./backend/cmd/fasten/

# create folder structure
RUN mkdir -p /opt/fasten/db \
mkdir -p /opt/fasten/web \
mkdir -p /opt/fasten/config
&& mkdir -p /opt/fasten/web \
&& mkdir -p /opt/fasten/config \
&& curl -o /opt/fasten/db/fasten.db -L https://github.com/fastenhealth/testdata/raw/main/fasten.db



Expand Down
1 change: 1 addition & 0 deletions frontend/src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ const routes: Routes = [
{ path: 'source/:source_id', component: SourceDetailComponent, canActivate: [ CanActivateAuthGuard] },
{ path: 'source/:source_id/resource/:resource_id', component: ResourceDetailComponent, canActivate: [ CanActivateAuthGuard] },
{ path: 'sources', component: MedicalSourcesComponent, canActivate: [ CanActivateAuthGuard] },
{ path: 'sources/callback/:source_type', component: MedicalSourcesComponent, canActivate: [ CanActivateAuthGuard] },



Expand Down
14 changes: 7 additions & 7 deletions frontend/src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,18 @@ export class AppComponent implements OnInit {
navbarBackdrop.classList.add('az-navbar-backdrop');
document.querySelector('body').appendChild(navbarBackdrop);

//TODO: onfirst load the header is always shown, why?
// seems to be related to the presence of jwt token, and/or auth-interceptor.
//determine if we should show the header
this.router.events.subscribe(event => this.modifyHeader(event));
}

modifyHeader(event) {
if(event instanceof NavigationEnd && event.url?.startsWith('/auth'))
{
this.showHeader = false;
} else {
this.showHeader = true;
if (event instanceof NavigationEnd) {
if (event.url?.startsWith('/auth')) {
this.showHeader = false;
} else {
// console.log("NU")
this.showHeader = true;
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@
<div class="component-item">
<label>Connected</label>
<nav class="nav flex-column">
<a routerLink="/form/form-elements" routerLinkActive="active" class="nav-link">Active Sources</a>
<a routerLink="/form/form-elements" routerLinkActive="active" class="nav-link">Manual</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Active Sources</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Manual</a>
</nav>
<label>Categories</label>
<nav class="nav flex-column">
<a routerLink="/form/form-elements" routerLinkActive="active" class="nav-link">Hospital Networks/Clinics</a>
<a routerLink="/form/form-elements" routerLinkActive="active" class="nav-link">Pharmacies</a>
<a routerLink="/form/form-elements" routerLinkActive="active" class="nav-link">Insurers</a>
<a routerLink="/form/form-elements" routerLinkActive="active" class="nav-link">Laboratoreies</a>
<a routerLink="/form/form-elements" routerLinkActive="active" class="nav-link">Wearables</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Hospital Networks/Clinics</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Pharmacies</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Insurers</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Laboratories</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Wearables</a>
</nav>

<label>Industry</label>
<nav class="nav flex-column">
<a routerLink="/charts/chartjs" routerLinkActive="active" class="nav-link">Medical</a>
<a routerLink="/charts/chartjs" routerLinkActive="active" class="nav-link">Dental</a>
<a routerLink="/charts/chartjs" routerLinkActive="active" class="nav-link">Vision</a>
<a routerLink="/charts/chartjs" routerLinkActive="active" class="nav-link">Mental</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Medical</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Dental</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Vision</a>
<a ngbTooltip="not yet implemented" routerLinkActive="active" class="nav-link">Mental</a>
</nav>

</div><!-- component-item -->
Expand Down
29 changes: 8 additions & 21 deletions frontend/src/app/components/header/header.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
</ul>
</div><!-- az-header-menu -->
<div class="az-header-right">
<a routerLink="/" class="az-header-search-link"><i class="fas fa-search"></i></a>
<a ngbTooltip="not yet implemented" class="az-header-search-link"><i class="fas fa-search"></i></a>
<div class="az-header-message">
<a routerLink="/"><i class="typcn typcn-messages"></i></a>
</div><!-- az-header-message -->
Expand All @@ -33,35 +33,22 @@ <h6 class="az-notification-title">Notifications</h6>
<p class="az-notification-text">You have 2 unread notification</p>
<div class="az-notification-list">
<div class="media new">
<div class="az-img-user"><img src="assets/images/img2.jpg" alt=""></div>
<div class="az-img-user"><img src="assets/sources/aetna.png" alt=""></div>
<div class="media-body">
<p>Congratulate <strong>Socrates Itumay</strong> for work anniversaries</p>
<p><strong>AETNA</strong> added 3 new records</p>
<span>Mar 15 12:32pm</span>
</div><!-- media-body -->
</div><!-- media -->
<div class="media new">
<div class="az-img-user online"><img src="assets/images/img3.jpg" alt=""></div>
<div class="az-img-user online"><img src="assets/sources/cigna.png" alt=""></div>
<div class="media-body">
<p><strong>Joyce Chua</strong> just created a new blog post</p>
<p><strong>CIGNA</strong> added 34 new records</p>
<span>Mar 13 04:16am</span>
</div><!-- media-body -->
</div><!-- media -->
<div class="media">
<div class="az-img-user"><img src="assets/images/img4.jpg" alt=""></div>
<div class="media-body">
<p><strong>Althea Cabardo</strong> just created a new blog post</p>
<span>Mar 13 02:56am</span>
</div><!-- media-body -->
</div><!-- media -->
<div class="media">
<div class="az-img-user"><img src="assets/images/img5.jpg" alt=""></div>
<div class="media-body">
<p><strong>Adrian Monino</strong> added new comment on your photo</p>
<span>Mar 12 10:40pm</span>
</div><!-- media-body -->
</div><!-- media -->

</div><!-- az-notification-list -->
<div class="dropdown-footer"><a href="">View All Notifications</a></div>
<div class="dropdown-footer"><a ngbTooltip="not yet implemented">View All Notifications</a></div>
</div><!-- dropdown-menu -->
</div><!-- az-header-notification -->
<div class="dropdown az-profile-menu" ngbDropdown>
Expand All @@ -78,7 +65,7 @@ <h6>John Doe</h6>
<span>Adminstrator</span>
</div><!-- az-header-profile -->

<a routerLink="/general-pages/profile" class="dropdown-item"><i class="typcn typcn-time"></i> Activity Logs</a>
<a ngbTooltip="not yet implemented" class="dropdown-item"><i class="typcn typcn-time"></i> Activity Logs</a>
<a (click)="signOut($event)" class="dropdown-item"><i class="typcn typcn-power-outline"></i> Sign Out</a>
</div><!-- dropdown-menu -->
</div>
Expand Down
2 changes: 2 additions & 0 deletions frontend/src/app/components/shared.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,14 @@ import {ListDeviceComponent} from './list-generic-resource/list-device.component
import {ListDiagnosticReportComponent} from './list-generic-resource/list-diagnostic-report.component';
import {ListGoalComponent} from './list-generic-resource/list-goal.component';
import { ListFallbackResourceComponent } from './list-fallback-resource/list-fallback-resource.component';
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';

@NgModule({
imports: [
RouterModule,
BrowserModule,
NgxDatatableModule,
NgbModule,
],
declarations: [
ComponentsSidebarComponent,
Expand Down
19 changes: 19 additions & 0 deletions frontend/src/app/models/lighthouse/lighthouse-source-metadata.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
export class LighthouseSourceMetadata {
authorization_endpoint: string
token_endpoint: string
introspection_endpoint: string
userinfo_endpoint: string

scopes_supported: string[]
issuer: string
grant_types_supported: string[]
response_types_supported: string[]
aud: string
code_challenge_methods_supported: string[]

api_endpoint_base_url: string
client_id: string
redirect_uri: string

confidential: boolean
}
17 changes: 0 additions & 17 deletions frontend/src/app/models/lighthouse/lighthouse-source.ts

This file was deleted.

7 changes: 0 additions & 7 deletions frontend/src/app/models/lighthouse/ligthouse-source.spec.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,13 @@ <h4>Please sign in to continue</h4>
</div><!-- form-group -->
<button [disabled]="!userForm.form.valid" type="submit" class="btn btn-az-primary btn-block">Sign In</button>

<div *ngIf="errorMsg" class="alert alert-danger mt-3" role="alert">
<strong>Error</strong> {{errorMsg}}
</div>
</form>
</div><!-- az-signin-header -->
<div class="az-signin-footer">
<p><a href="">Forgot password?</a></p>
<p><a ngbTooltip="not yet implemented">Forgot password?</a></p>
<p>Don't have an account? <a routerLink="/auth/signup">Create an Account</a></p>
</div><!-- az-signin-footer -->
</div><!-- az-card-signin -->
Expand Down
4 changes: 3 additions & 1 deletion frontend/src/app/pages/auth-signin/auth-signin.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {Router} from '@angular/router';
export class AuthSigninComponent implements OnInit {
submitted: boolean = false
existingUser: User = new User()
errorMsg: string = ""

constructor(private fastenApi: FastenApiService, private router: Router) { }

Expand All @@ -22,8 +23,9 @@ export class AuthSigninComponent implements OnInit {

this.fastenApi.signin(this.existingUser.username, this.existingUser.password).subscribe((tokenResp: any) => {
console.log(tokenResp);

this.router.navigateByUrl('/dashboard');
}, (err)=>{
this.errorMsg = err?.error?.error || "an unknown error occurred during sign-in"
})
}
}
4 changes: 4 additions & 0 deletions frontend/src/app/pages/auth-signup/auth-signup.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ <h4>Create an account, and get started.</h4>
</div>
</div><!-- form-group -->
<button [disabled]="!userForm.form.valid" type="submit" class="btn btn-az-primary btn-block">Create Account</button>

<div *ngIf="errorMsg" class="alert alert-danger mt-3" role="alert">
<strong>Error</strong> {{errorMsg}}
</div>
</form>
</div><!-- az-signup-header -->
<div class="az-signup-footer">
Expand Down
7 changes: 5 additions & 2 deletions frontend/src/app/pages/auth-signup/auth-signup.component.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Component, OnInit } from '@angular/core';
import {FastenApiService} from '../../services/fasten-api.service';
import {LighthouseSource} from '../../models/lighthouse/lighthouse-source';
import {User} from '../../models/fasten/user';
import {Router} from '@angular/router';

Expand All @@ -12,6 +11,7 @@ import {Router} from '@angular/router';
export class AuthSignupComponent implements OnInit {
submitted: boolean = false
newUser: User = new User()
errorMsg: string = ""

constructor(private fastenApi: FastenApiService, private router: Router) { }

Expand All @@ -25,7 +25,10 @@ export class AuthSignupComponent implements OnInit {
console.log(tokenResp);

this.router.navigateByUrl('/dashboard');
})
},
(err)=>{
this.errorMsg = err?.error?.error || "an unknown error occurred during sign-up"
})
}

}
18 changes: 8 additions & 10 deletions frontend/src/app/pages/dashboard/dashboard.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ <h6>All Sources</h6>
</nav>

<nav class="nav">
<a class="nav-link" routerLink="/"><i class="far fa-save"></i> Save Report</a>
<a class="nav-link" routerLink="/"><i class="far fa-file-pdf"></i> Export to PDF</a>
<a class="nav-link" routerLink="/"><i class="far fa-envelope"></i>Send to Email</a>
<a class="nav-link" routerLink="/"><i class="fas fa-ellipsis-h"></i></a>
<a class="nav-link" routerLink="/" ngbTooltip="not yet implemented"><i class="far fa-save"></i> Save Report</a>
<a class="nav-link" routerLink="/" ngbTooltip="not yet implemented"><i class="far fa-file-pdf"></i> Export to PDF</a>
<a class="nav-link" routerLink="/" ngbTooltip="not yet implemented"><i class="far fa-envelope"></i>Send to Email</a>
<a class="nav-link" routerLink="/" ngbTooltip="not yet implemented"><i class="fas fa-ellipsis-h"></i></a>
</nav>
</div>

Expand Down Expand Up @@ -107,8 +107,8 @@ <h4>19</h4>
<div class="media">
<div ><fa-icon [icon]="['fas', 'calendar']"></fa-icon></div>
<div class="media-body"><label >Start Date</label>
<div class="date"><span >Sept 01, 2018</span><a
href="#"><fa-icon [icon]="['fas', 'caret-down']"></fa-icon></a>
<div class="date"><span >Sept 01, 2018</span>
<a ngbTooltip="not yet implemented"><fa-icon [icon]="['fas', 'caret-down']"></fa-icon></a>
</div>
</div>
</div>
Expand All @@ -117,8 +117,7 @@ <h4>19</h4>
<div class="media">
<div ><fa-icon [icon]="['fas', 'calendar']"></fa-icon></div>
<div class="media-body"><label >End Date</label>
<div class="date"><span >Sept 30, 2018</span><a
href="#"><fa-icon [icon]="['fas', 'caret-down']"></fa-icon></a>
<div class="date"><span >Sept 30, 2018</span><a ngbTooltip="not yet implemented"><fa-icon [icon]="['fas', 'caret-down']"></fa-icon></a>
</div>
</div>
</div>
Expand All @@ -127,8 +126,7 @@ <h4>19</h4>
<div class="media">
<div ><fa-icon [icon]="['fas', 'hospital']"></fa-icon></div>
<div class="media-body"><label >Source Type</label>
<div class="date"><span >All</span><a
href="#"><fa-icon [icon]="['fas', 'caret-down']"></fa-icon></a>
<div class="date"><span >All</span><a ngbTooltip="not yet implemented"><fa-icon [icon]="['fas', 'caret-down']"></fa-icon></a>
</div>
</div>
</div>
Expand Down
1 change: 0 additions & 1 deletion frontend/src/app/pages/dashboard/dashboard.component.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Component, OnInit } from '@angular/core';
import {FastenApiService} from '../../services/fasten-api.service';
import {LighthouseSource} from '../../models/lighthouse/lighthouse-source';
import {Source} from '../../models/fasten/source';
import {Router} from '@angular/router';
import {Summary} from '../../models/fasten/summary';
Expand Down
Loading

0 comments on commit 94d26ad

Please sign in to comment.