mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-14 02:26:55 -07:00
mostly there
This commit is contained in:
parent
76bfec1667
commit
3c78eda246
270 changed files with 2487 additions and 3521 deletions
|
@ -1,60 +0,0 @@
|
|||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using AutoMapper;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Http.Features.Authentication;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Ombi.Api.Emby;
|
||||
using Ombi.Api.Plex;
|
||||
using Ombi.Controllers;
|
||||
using Ombi.Core.Authentication;
|
||||
using Ombi.Core.Settings;
|
||||
using Ombi.Core.Settings.Models.External;
|
||||
using Ombi.Models.Identity;
|
||||
using Ombi.Notifications;
|
||||
using Ombi.Schedule.Jobs.Ombi;
|
||||
using Ombi.Settings.Settings.Models;
|
||||
using Ombi.Settings.Settings.Models.Notifications;
|
||||
using Ombi.Store.Context;
|
||||
using Ombi.Store.Entities;
|
||||
using Ombi.Store.Repository;
|
||||
using Microsoft.AspNetCore.Hosting.Server;
|
||||
using Microsoft.AspNetCore.TestHost;
|
||||
using Newtonsoft.Json;
|
||||
using Ombi.Models;
|
||||
|
||||
namespace Ombi.Tests
|
||||
{
|
||||
[TestFixture]
|
||||
[Ignore("TODO")]
|
||||
public class TokenControllerTests
|
||||
{
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
_testServer = new TestServer(new WebHostBuilder()
|
||||
.UseStartup<TestStartup>());
|
||||
_client = _testServer.CreateClient();
|
||||
}
|
||||
|
||||
private TestServer _testServer;
|
||||
private HttpClient _client;
|
||||
|
||||
|
||||
[Test]
|
||||
public async Task GetToken_FromValid_LocalUser()
|
||||
{
|
||||
var model = new UserAuthModel
|
||||
{
|
||||
Password = "a",
|
||||
Username = "a"
|
||||
};
|
||||
HttpResponseMessage response = await _client.PostAsync("/api/v1/token", new StringContent(JsonConvert.SerializeObject(model)) );
|
||||
}
|
||||
}
|
||||
}
|
13
src/Ombi/ClientApp/.editorconfig
Normal file
13
src/Ombi/ClientApp/.editorconfig
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Editor configuration, see http://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
43
src/Ombi/ClientApp/.gitignore
vendored
43
src/Ombi/ClientApp/.gitignore
vendored
|
@ -1,3 +1,40 @@
|
|||
**/*.js
|
||||
**/*.js.map
|
||||
**/*.css
|
||||
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# compiled output
|
||||
/dist
|
||||
/dist-server
|
||||
/tmp
|
||||
/out-tsc
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
|
||||
# IDEs and editors
|
||||
/.idea
|
||||
.project
|
||||
.classpath
|
||||
.c9/
|
||||
*.launch
|
||||
.settings/
|
||||
*.sublime-workspace
|
||||
|
||||
# IDE - VSCode
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
|
||||
# misc
|
||||
/.sass-cache
|
||||
/connect.lock
|
||||
/coverage
|
||||
/libpeerconnection.log
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
testem.log
|
||||
/typings
|
||||
|
||||
# System Files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
|
103
src/Ombi/ClientApp/angular.json
Normal file
103
src/Ombi/ClientApp/angular.json
Normal file
|
@ -0,0 +1,103 @@
|
|||
{
|
||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||
"version": 1,
|
||||
"newProjectRoot": "projects",
|
||||
"projects": {
|
||||
"ombi": {
|
||||
"root": "",
|
||||
"sourceRoot": "src",
|
||||
"projectType": "application",
|
||||
"prefix": "app",
|
||||
"schematics": {},
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:browser",
|
||||
"options": {
|
||||
"progress": true,
|
||||
"extractCss": true,
|
||||
"outputPath": "dist",
|
||||
"index": "src/index.html",
|
||||
"main": "src/main.ts",
|
||||
"polyfills": "src/polyfills.ts",
|
||||
"tsConfig": "src/tsconfig.app.json",
|
||||
"assets": [
|
||||
"src/assets"
|
||||
],
|
||||
"styles": [
|
||||
"node_modules/pace/themes/orange/pace-theme-flash.css",
|
||||
"node_modules/primeng/resources/primeng.min.css",
|
||||
"node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css",
|
||||
"node_modules/font-awesome/scss/font-awesome.scss",
|
||||
"node_modules/bootswatch/superhero/bootstrap.min.css"
|
||||
],
|
||||
"scripts": [
|
||||
"node_modules/jquery/dist/jquery.min.js"
|
||||
]
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.prod.ts"
|
||||
}
|
||||
],
|
||||
"optimization": true,
|
||||
"outputHashing": "all",
|
||||
"sourceMap": false,
|
||||
"extractCss": true,
|
||||
"namedChunks": false,
|
||||
"aot": true,
|
||||
"extractLicenses": true,
|
||||
"vendorChunk": false,
|
||||
"buildOptimizer": true
|
||||
},
|
||||
"hmr": {
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.hmr.ts"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "ombi:build"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "ombi:build:production"
|
||||
},
|
||||
"hmr": {
|
||||
"hmr": true,
|
||||
"browserTarget": "ombi:build:hmr",
|
||||
"hmrWarning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"extract-i18n": {
|
||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||
"options": {
|
||||
"browserTarget": "ombi:build"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"builder": "@angular-devkit/build-angular:tslint",
|
||||
"options": {
|
||||
"tsConfig": [
|
||||
"src/tsconfig.app.json"
|
||||
],
|
||||
"exclude": [
|
||||
"**/node_modules/**"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultProject": "ombi"
|
||||
}
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
// Main
|
||||
|
||||
import * as Pace from "pace-progress";
|
||||
Pace.start();
|
||||
|
||||
import "bootstrap/dist/js/bootstrap";
|
||||
|
||||
import "./styles/base.scss";
|
||||
import "./styles/Themes/plex.scss";
|
||||
|
||||
import "./polyfills";
|
||||
|
||||
import "hammerjs";
|
||||
|
||||
import { enableProdMode } from "@angular/core";
|
||||
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
|
||||
import { AppModule } from "./app/app.module";
|
||||
|
||||
declare var module: any;
|
||||
|
||||
if (module.hot) {
|
||||
module.hot.accept();
|
||||
module.hot.dispose(() => {
|
||||
// Before restarting the app, we create a new root element and dispose the old one
|
||||
const oldRootElem = document.querySelector("ombi");
|
||||
const newRootElem = document.createElement("ombi");
|
||||
if (oldRootElem && oldRootElem.parentNode) {
|
||||
oldRootElem.parentNode.insertBefore(newRootElem, oldRootElem);
|
||||
oldRootElem.parentNode.removeChild(oldRootElem);
|
||||
}
|
||||
if (modulePromise) {
|
||||
modulePromise.then(appModule => appModule.destroy());
|
||||
}
|
||||
});
|
||||
} else {
|
||||
enableProdMode();
|
||||
}
|
||||
|
||||
const modulePromise = platformBrowserDynamic().bootstrapModule(AppModule);
|
80
src/Ombi/ClientApp/package.json
Normal file
80
src/Ombi/ClientApp/package.json
Normal file
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"name": "ombi",
|
||||
"version": "3.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve --port 3578 --configuration hmr",
|
||||
"build": "ng build",
|
||||
"lint": "ng lint"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "7.1.4",
|
||||
"@angular/cdk": "^7.2.0",
|
||||
"@angular/common": "7.1.4",
|
||||
"@angular/compiler": "7.1.4",
|
||||
"@angular/core": "7.1.4",
|
||||
"@angular/forms": "7.1.4",
|
||||
"@angular/http": "7.1.4",
|
||||
"@angular/material": "7.2.0",
|
||||
"@angular/platform-browser": "7.1.4",
|
||||
"@angular/platform-browser-dynamic": "7.1.4",
|
||||
"@angular/platform-server": "7.1.4",
|
||||
"@angular/router": "7.1.4",
|
||||
"@angularclass/hmr": "^2.1.3",
|
||||
"@aspnet/signalr": "^1.1.0",
|
||||
"@auth0/angular-jwt": "^2.1.0",
|
||||
"@ng-bootstrap/ng-bootstrap": "^3.3.1",
|
||||
"@ngu/carousel": "^1.4.9-beta-2",
|
||||
"@ngx-translate/core": "^11.0.1",
|
||||
"@ngx-translate/http-loader": "^4.0.0",
|
||||
"@types/jquery": "^3.3.29",
|
||||
"@yellowspot/ng-truncate": "^1.4.0",
|
||||
"angular-router-loader": "^0.8.5",
|
||||
"angular2-template-loader": "^0.6.2",
|
||||
"aspnet-prerendering": "^3.0.1",
|
||||
"awesome-typescript-loader": "^5.2.0",
|
||||
"bootstrap": "3.4.0",
|
||||
"bootswatch": "3.4.0",
|
||||
"core-js": "^2.5.4",
|
||||
"eventemitter2": "^5.0.1",
|
||||
"font-awesome": "^4.7.0",
|
||||
"hammerjs": "^2.0.8",
|
||||
"jquery": "3.3.1",
|
||||
"moment": "^2.23.0",
|
||||
"ng2-cookies": "^1.0.12",
|
||||
"ngx-bootstrap": "^3.1.4",
|
||||
"ngx-clipboard": "^11.1.1",
|
||||
"ngx-editor": "^4.1.0",
|
||||
"ngx-infinite-scroll": "^6.0.1",
|
||||
"ngx-moment": "^3.0.1",
|
||||
"ngx-order-pipe": "^2.0.1",
|
||||
"ngx-page-scroll": "^5.0.1",
|
||||
"pace": "github:HubSpot/pace#v1.0.2",
|
||||
"popper.js": "^1.14.3",
|
||||
"primeng": "^7.0.3",
|
||||
"rxjs": "^6.0.0",
|
||||
"socket.io-client": "^2.2.0",
|
||||
"store": "^2.0.12",
|
||||
"sweetalert2": "^7.33.1",
|
||||
"tslint-angular": "^1.1.2",
|
||||
"zone.js": "^0.8.26"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "~0.11.4",
|
||||
"@angular/cli": "~7.1.4",
|
||||
"@angular/compiler-cli": "7.1.4",
|
||||
"@angular/language-service": "^7.1.4",
|
||||
"@types/jasmine": "~2.8.6",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"@types/node": "~8.9.4",
|
||||
"codelyzer": "^4.5.0",
|
||||
"typescript": "~3.1.6"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"node-sass": "^4.11.0",
|
||||
"protractor": "~5.4.0",
|
||||
"ts-node": "~5.0.1",
|
||||
"tslint": "^5.12.0"
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
import "core-js/es6/array";
|
||||
import "core-js/es6/object";
|
||||
import "core-js/es6/string";
|
||||
|
||||
import "core-js/es7/reflect";
|
||||
import "zone.js/dist/zone";
|
||||
|
||||
declare var module: any;
|
||||
|
||||
if (module.hot) {
|
||||
Error.stackTraceLimit = Infinity;
|
||||
|
||||
// tslint:disable-next-line
|
||||
require("zone.js/dist/long-stack-trace-zone");
|
||||
}
|
|
@ -41,7 +41,7 @@ export class AppComponent implements OnInit {
|
|||
if (base.length > 1) {
|
||||
__webpack_public_path__ = base + "/dist/";
|
||||
}
|
||||
|
||||
|
||||
this.translate.addLangs(["en", "de", "fr", "da", "es", "it", "nl", "sv", "no", "pl", "pt"]);
|
||||
// this language will be used as a fallback when a translation isn't found in the current language
|
||||
this.translate.setDefaultLang("en");
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue