Commit a513cfe6 authored by nano's avatar nano

sso login

parent ad75b565
......@@ -2,9 +2,7 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="f0cbce64-0ebc-4f60-8c2d-2fe9e214a8c0" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/package/main.ts" afterPath="$PROJECT_DIR$/package/main.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/routes/package.ts" afterPath="$PROJECT_DIR$/src/routes/package.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/routes/app.ts" afterPath="$PROJECT_DIR$/src/routes/app.ts" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/routes/upload.ts" afterPath="$PROJECT_DIR$/src/routes/upload.ts" />
</list>
<ignored path="mycard-console-backend.iws" />
......@@ -31,8 +29,30 @@
<file leaf-file-name="app.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/routes/app.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="302">
<caret line="44" column="0" lean-forward="false" selection-start-line="44" selection-start-column="0" selection-end-line="44" selection-end-column="0" />
<state relative-caret-position="329">
<caret line="27" column="0" lean-forward="false" selection-start-line="27" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
<folding>
<element signature="e#39#80#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="App.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/models/App.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="37" column="10" lean-forward="false" selection-start-line="37" selection-start-column="10" selection-end-line="37" selection-end-column="10" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="package.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/routes/package.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="269">
<caret line="15" column="3" lean-forward="false" selection-start-line="15" selection-start-column="3" selection-end-line="15" selection-end-column="3" />
<folding>
<element signature="e#39#73#0" expanded="true" />
</folding>
......@@ -43,8 +63,8 @@
<file leaf-file-name="upload.ts" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/routes/upload.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="611">
<caret line="114" column="8" lean-forward="false" selection-start-line="114" selection-start-column="8" selection-end-line="114" selection-end-column="8" />
<state relative-caret-position="354">
<caret line="53" column="0" lean-forward="true" selection-start-line="53" selection-start-column="0" selection-end-line="53" selection-end-column="0" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding>
......@@ -52,6 +72,16 @@
</provider>
</entry>
</file>
<file leaf-file-name="config.ts" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="5" column="1" lean-forward="false" selection-start-line="5" selection-start-column="1" selection-end-line="5" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
......@@ -110,12 +140,12 @@
<option value="$PROJECT_DIR$/src/routes/config.ts" />
<option value="$PROJECT_DIR$/src/routes/package.json" />
<option value="$PROJECT_DIR$/server.ts" />
<option value="$PROJECT_DIR$/src/routes/app.ts" />
<option value="$PROJECT_DIR$/config.ts" />
<option value="$PROJECT_DIR$/src/models/Package.ts" />
<option value="$PROJECT_DIR$/src/routes/package.ts" />
<option value="$PROJECT_DIR$/package/utils.ts" />
<option value="$PROJECT_DIR$/package/main.ts" />
<option value="$PROJECT_DIR$/src/routes/app.ts" />
<option value="$PROJECT_DIR$/src/routes/upload.ts" />
</list>
</option>
......@@ -136,8 +166,8 @@
<handled-path value="$PROJECT_DIR$/node_modules" />
</component>
<component name="ProjectFrameBounds">
<option name="x" value="149" />
<option name="y" value="71" />
<option name="x" value="585" />
<option name="y" value="23" />
<option name="width" value="1492" />
<option name="height" value="968" />
</component>
......@@ -172,24 +202,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="moecube-console" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="moecube-console" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="test" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="upload" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="moecube-console" />
......@@ -417,12 +429,12 @@
<workItem from="1492397500450" duration="9337000" />
<workItem from="1492407479780" duration="11530000" />
<workItem from="1492482951965" duration="50292000" />
<workItem from="1492655792313" duration="9095000" />
<workItem from="1492655792313" duration="15601000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="91989000" />
<option name="totallyTimeSpent" value="98495000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
......@@ -434,7 +446,7 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="149" y="71" width="1492" height="968" extended-state="0" />
<frame x="585" y="23" width="1492" height="968" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
......@@ -533,7 +545,7 @@
<state relative-caret-position="234">
<caret line="15" column="6" lean-forward="true" selection-start-line="15" selection-start-column="6" selection-end-line="15" selection-end-column="6" />
<folding>
<element signature="e#39#73#0" expanded="true" />
<element signature="e#39#80#0" expanded="true" />
</folding>
</state>
</provider>
......@@ -551,7 +563,7 @@
<state relative-caret-position="198">
<caret line="13" column="3" lean-forward="true" selection-start-line="13" selection-start-column="3" selection-end-line="13" selection-end-column="3" />
<folding>
<element signature="e#39#73#0" expanded="true" />
<element signature="e#39#80#0" expanded="true" />
</folding>
</state>
</provider>
......@@ -587,7 +599,7 @@
<state relative-caret-position="840">
<caret line="44" column="29" lean-forward="false" selection-start-line="44" selection-start-column="29" selection-end-line="44" selection-end-column="29" />
<folding>
<element signature="e#39#73#0" expanded="true" />
<element signature="e#39#80#0" expanded="true" />
</folding>
</state>
</provider>
......@@ -610,7 +622,7 @@
<state relative-caret-position="80">
<caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
<folding>
<element signature="e#39#73#0" expanded="true" />
<element signature="e#39#80#0" expanded="true" />
</folding>
</state>
</provider>
......@@ -659,6 +671,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-5396">
<caret line="337" column="12" lean-forward="false" selection-start-line="337" selection-start-column="12" selection-end-line="337" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
......@@ -748,6 +761,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="217">
<caret line="164" column="14" lean-forward="true" selection-start-line="164" selection-start-column="14" selection-end-line="164" selection-end-column="14" />
<folding />
</state>
</provider>
</entry>
......@@ -758,13 +772,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/.env">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="5" column="0" lean-forward="false" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/routes/package.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="18">
......@@ -792,14 +799,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="28" lean-forward="true" selection-start-line="0" selection-start-column="28" selection-end-line="0" selection-end-column="28" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/inversify.config.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="54">
......@@ -808,24 +807,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/models/App.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1286">
<caret line="23" column="1" lean-forward="false" selection-start-line="23" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/routes/package.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1292">
<caret line="99" column="3" lean-forward="true" selection-start-line="99" selection-start-column="3" selection-end-line="99" selection-end-column="3" />
<folding>
<element signature="e#39#73#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/package/utils.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="83">
......@@ -854,20 +835,54 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/routes/app.ts">
<entry file="file://$PROJECT_DIR$/.env">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="302">
<caret line="44" column="0" lean-forward="false" selection-start-line="44" selection-start-column="0" selection-end-line="44" selection-end-column="0" />
<state relative-caret-position="90">
<caret line="5" column="0" lean-forward="true" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="5" column="1" lean-forward="false" selection-start-line="5" selection-start-column="1" selection-end-line="5" selection-end-column="1" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/routes/package.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="269">
<caret line="15" column="3" lean-forward="false" selection-start-line="15" selection-start-column="3" selection-end-line="15" selection-end-column="3" />
<folding>
<element signature="e#39#73#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/models/App.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="37" column="10" lean-forward="false" selection-start-line="37" selection-start-column="10" selection-end-line="37" selection-end-column="10" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/routes/app.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="329">
<caret line="27" column="0" lean-forward="false" selection-start-line="27" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
<folding>
<element signature="e#39#80#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/routes/upload.ts">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="611">
<caret line="114" column="8" lean-forward="false" selection-start-line="114" selection-start-column="8" selection-end-line="114" selection-end-column="8" />
<state relative-caret-position="354">
<caret line="53" column="0" lean-forward="true" selection-start-line="53" selection-start-column="0" selection-end-line="53" selection-end-column="0" />
<folding>
<element signature="e#0#28#0" expanded="true" />
</folding>
......
import Router = require('koa-router');
import {toObjectID} from 'iridium'
import {mongodb} from '../models/iridium'
import {App, AppSchema} from "../models/App";
import * as vercomp from 'vercomp'
import {Context} from "koa";
import {Package} from "../models/Package";
const router = new Router();
// router.get('/apps', async (ctx: Context, next) => {
......@@ -24,20 +21,35 @@ const router = new Router();
// });
router.get('/v1/apps', async (ctx: Context, next) => {
ctx.body = await mongodb.Apps.find({}).toArray()
let payload = ctx.request.query
if((!payload.author && !payload.admin)) {
ctx.throw(400, 'params error')
}
let apps = {}
if(payload.admin == 'true') {
apps = await mongodb.Apps.find({}).toArray()
} else {
apps = await mongodb.Apps.find({author: payload.author}).toArray()
}
ctx.body = apps
})
router.post('/v1/app/:id', async (ctx: Context, next) => {
if (!ctx.request.body.id || ctx.params.id !== ctx.request.body.id) {
let payload = ctx.request.body
if(!payload.id) {
ctx.throw(400, 'params error')
}
if (ctx.params.id !== payload.id) {
ctx.throw(400, "App is not same")
}
let exists = await mongodb.Apps.findOne({id: ctx.request.body.id});
let exists = await mongodb.Apps.findOne({id: payload.id});
if (exists) {
ctx.throw(400, "App id is exists")
ctx.throw(400, "App is exists")
}
try {
ctx.body = await mongodb.Apps.insert(ctx.request.body)
ctx.body = await mongodb.Apps.insert(payload)
} catch (e) {
ctx.throw(400, e)
}
......
......@@ -20,13 +20,21 @@ import config from '../../config'
// path: path.join(__dirname, '../../test/upload')
// }
const checkExtension = async (file) => {
const checkPackage = async (file) => {
const ext = mime.extension(file.mime);
if (['zip', 'gz', 'rar', '7z'].indexOf(ext) === -1) {
throw new Error('Unsupported file type');
}
}
const checkImage = async (file) => {
const ext = mime.extension(file.mime);
if (['png', 'jpg', 'jpeg', 'gif', 'webp'].indexOf(ext) === -1) {
throw new Error('Unsupported file type');
}
}
import Router = require('koa-router');
const ossStream = Client(new OSS({
accessKeyId: process.env["OSS_ACCESS_ID"],
......@@ -42,7 +50,7 @@ const UploadImage = async (ctx: Context) => {
const {files} = await busboy(ctx.req);
ctx.body = await Promise.all(files.map(async file => {
await checkExtension(file)
await checkImage(file)
const filename = `test/${uuid.v1()}`;
......@@ -112,7 +120,7 @@ export const UploadPackage = async (ctx: Context) => {
await pack.save()
}
})
file.on('error', async (error) => {
pack.status = 'failed'
await pack.save()
......@@ -150,7 +158,7 @@ const uploadPackageUrl = async (ctx: Context) => {
const [file] = files
try {
await checkExtension(file)
await checkPackage(file)
// 打包
const bundled = await bundle(path.basename(file.path))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment